You are on page 1of 8

CLGT Giải bài tập mô phỏng hệ thống truyền thông

GIẢI BÀI TẬP MÔ PHỎNG HỆ THỐNG TRUYỀN THÔNG


Bài 9:
% Bài 9
t = (0 :0.1: 10);%Tạo véc tơ thời gian t
disp ('gia tri cua tin hieu theo thoi gian la : ')
s = sin(2*pi*5*t).*sin(2*pi*3*t)+exp(-0.1*t)%Biểu diễn tín hiệu s

Bài 10:
% Bài 10
t = (0 :0.1: 10);%Tạo véc tơ thời gian t
disp ('gia tri cua tin hieu theo thoi gian la : ')
s = sin(2*pi*5*t).*sin(2*pi*3*t)%Biểu diễn tín hiệu s

Bài 11:
% Bài 11
t = (0:0.1:10);%Tạo véc tơ thời gian t
s = 20 *sin(2*pi*5*t);%Biểu diễn tín hiệu s
lamtron = round(s)%làm tròn giá trị s về giá trị số nguyên gần nhất

Bài 12:
% Bài 12
b = [1024 1000 100 2 1];%Tạo véc tơ b
disp('Gia tri logarith co so 2 cua vecto b la : ')
logarith2 = log2(b)%Lấy logarit cơ số 2 của vector b
disp('Gia tri logarith co so 10 cua vecto b la : ')
logarith10 = log10(b)%Lấy logarit cơ số 10 của vector b

Bài 13:
% Bài 13
w = (0.01:0.01:5);% Véc tơ tần số, đơn vị là rad/s
H1 = 1./(j*w);%Hàm truyền của một bộ tích phân
H2 = 1./ (1 + j*w);%Hàm truyền của một phần tử trễ thời gian bậc 1
plot(w, abs(H1));% Vẽ đồ thị biên độ hàm truyền H1
title('Do thi bien do qua bo tich phan');
figure
plot(w,abs(H2));% Vẽ đồ thị biên độ hàm truyền H2 sang một hình khác
title('Do thi bien do cua phan tu tre thoi gian');
figure
plot(w, abs(H1)); % Vẽ đồ thị biên độ H1 theo hàm semilogx – biểu diễn
trục x theo logarit còn trục y giữ nguyên
title('Do thi bien do qua bo tich phan');
figure
semilogy(w,abs(H1));% Vẽ đồ thị biên độ H1 theo hàm semilogy – biểu diễn
trục y theo logarit còn trục x giữ nguyên
figure
loglog(w,abs(H1)); % Vẽ đồ thị biên độ H1 theo hàm loglog – biểu diễn cả
2 trục x&y theo logarit.

D09VT1 1
CLGT Giải bài tập mô phỏng hệ thống truyền thông

Bài 14:
% Bài 14
w = (0.01:0.01:5);% Véc tơ tần số, đơn vị là rad/s
H1 = 1./(j*w); %Hàm truyền của một bộ tích phân
H2 = 1./ (1 + j*w);%Hàm truyền của một phần tử trễ thời gian bậc 1
subplot(2,2,1)
plot(w, abs(H1)); % Vẽ đồ thị biên độ hàm truyền H1
title('Do thi bien do qua bo tich phan');
subplot(2,2,2)
plot(w, angle(H1)); % Vẽ đồ thị pha hàm truyền H1
title('Do thi pha qua bo tich phan');
subplot(2,2,3)
plot(w,abs(H2)); % Vẽ đồ thị biên độ hàm truyền H2
title('Do thi bien do cua phan tu tre thoi gian');
subplot(2,2,4)
plot(w,angle(H2)); % Vẽ đồ thị pha hàm truyền H2
title('Do thi pha cua phan tu tre thoi gian');

Bài 15:
% Bài 15
x= (-2:0.2:2);% Khởi tạo véc tơ x
y = (-1:0.1:1);% Khởi tạo véc tơ y
[X,Y] = meshgrid(x,y);% Tạo lưới tọa độ (X,Y)
F = X.^2 + Y.^2;% Biểu diễn hàm F theo X và Y
surf(X, Y , F);% Vẽ đồ thị của F theo X và Y
xlabel('X');
ylabel(' Y ');

Bài 16:
% Bài 16
t=0:10:360;% Véc tơ t
p=0:10:360;% Véc tơ p
R=3;% Bán kính
[T,P]=meshgrid(t,p);% Tạo lưới tọa độ (T,P)
Z = R*sin(pi*T./180);% Biểu diễn Z trong hệ tọa độ cầu
X = R*sqrt(R^2-Z.^2).*cos(pi*P./180);% Biểu diễn X trong hệ tọa độ cầu
Y = R*sqrt(R^2-Z.^2).*sin(pi*P./180);% Biểu diễn Y trong hệ tọa độ cầu
surf(X,Y,Z);% Vẽ đường tròn
xlabel('x-axis');
ylabel('y-axis');
zlabel('F');

D09VT1 2
CLGT Giải bài tập mô phỏng hệ thống truyền thông

Bài 17:
% Bài 17
y =(1:0.5:5);% Tạo véc tơ y
L=length(y);% Chiều dài của véc tơ y
k=0;
disp('vecto yr la : ')
for i=1:L
yz(i)= y(L-i+1);% Đảo ngược vec tơ y ta được véc tơ yr
end;
yr
for i=1:L
if (rem(y(i),1)==0)
k= k+1;
z(k)=y(i);
end
end
disp('vecto chua cac so nguyen trong y : ')
z

Bài 19:
% Bài 19
r = 3; % Bán kính
theta = linspace(-2*pi,2*pi,180);% Biểu diễn góc trong tọa độ cực
x = r*cos(theta);% Biểu diễn x trong tọa độ cực
y = r*sin(theta);% Biểu diễn y trong tọa độ cực
plot(x,y);
axis equal
sprintf('dien tich hinh tron la:')
dt = pi*r^2
sprintf('chu vi hinh tron la:')
chuvi=2*pi*r

Bài 20:
% Bài 20
r = 3; % Bán kính
theta = linspace(-2*pi,2*pi,180); % Biểu diễn góc trong tọa độ cực
x = r*cos(theta); % Biểu diễn x trong tọa độ cực
y = r*sin(theta);% Biểu diễn y trong tọa độ cực
plot(x,y);
axis equal
dt = pi*r^2;
sprintf('dien tich hinh tron la: %0.5f',dt)
chuvi=2*pi*r;
sprintf('chu vi hinh tron la:%0.5f', chuvi)

D09VT1 3
CLGT Giải bài tập mô phỏng hệ thống truyền thông

Bài 21:
% Bài 21
a = input('a=');% Nhập vào giá trị của a
b = input('b=');% Nhập vào giá trị của b
fa =-inf;% gán fa bằng âm vô cùng
fb = inf;% gán fb bằng dương vô cùng
while (b-a)> eps*b
x = (a+b)/2;
fx = x^3/3 + 4*x^2 + x - 6;
if sign(fx)==sign(fa)
a=x;
fa=fx;
else
b=x;
fb=x;
end;
end
disp('Nghiem cua phuong trinh la : ')
x

Bài 22:
% Bài 22
a=-1.5;%Điểm cận dưới
b=1.5;%Điểm cận trên
N=100;%Số điểm tính tích phân
h = (b-a)/N;
tp=0;
for k=1:N
x = a+(k-1/2)*h;
F = 4*x^3*2*exp(x)*cos(x);
tp=tp+F;
end
tp = tp*h;
disp('Gia trị tich phan tinh theo phuong phap mid point la: ')
tp

Bài 23:
% Bài 23
x0=2;
x1=1.5;
while(x0-x1)> 0.0001
x0 = x1;
x1 = (x0^2+2)/(2*x0)
end;
disp('Gia trị can bac 2 cua a tinh theo pp gan dung la: ')
can2

D09VT1 4
CLGT Giải bài tập mô phỏng hệ thống truyền thông

Bài 24:
% Bài 24
a=1;r=1;
t0=0;
y0=0; % Điều kiện ban đầu
tf=2;

t = [0:0.01:tf];
yt=1-exp(-a*t);% Nghiệm đúng của PTVT đã cho
plot(t,yt,'k'), hold on

h = 1/4;
klast = (tf-t0)/h;

y(1) = y0;
tvec(1) = t0;
for k = 1:klast
yp = (1 - a*h)*y(k) +h*r; % Euler's formula
y(k + 1) = (1 - a*h/2)*y(k) + (2*r-a*yp)*h/2;
% Công thức Euler biến đổi
tvec(k+1) = tvec(k) + h;
plot([k - 1 k]*h,[y(k) y(k+1)],'b', k*h,y(k+1),'ro')
pause;
end

Bài 25:
% Bài 25
a=1;r=1;
t0=0;
y0=0; % Điều kiện ban đầu
tf=2;

t = [0:0.01:tf];
yt=1-exp(-a*t); % nghiệm của PTVT
plot(t,yt,'k'), hold on

h = 1/4;
klast = (tf-t0)/h;

y(1) = y0;
tvec(1) = t0;
for k = 1:klast
k1 = fun1(y(k),tvec(k));
k2 = fun1(y(k)+2*h*k1/3,tvec(k)+2*h/3);
k3 = fun1(y(k)+2*h*k2/3,tvec(k)+2*h/3);
y(k + 1) = y(k) + h*((2/8)*k1 + (3/8)*k2 + (3/8)*k3);
%Công thức RK-3
tvec(k+1) = tvec(k) + h;
plot([k - 1 k]*h,[y(k) y(k+1)],'b', k*h,y(k+1),'ro')
pause;
end
=========================================================
%”fun1” function
function yf = fun1(y,t)
a = 1; r = 1;
yf = r-a*y;

D09VT1 5
CLGT Giải bài tập mô phỏng hệ thống truyền thông

Bài 26:
% Bài 26
clear, clf
a=1;r=1;
t0=0;
y0=0; % Điều kiện ban đầu
tf=2;

t = [0:0.01:tf];
yt=1-exp(-a*t); % nghiệm của PTVT
plot(t,yt,'k'), hold on

h = 1/4;
klast = (tf-t0)/h;

y(1) = y0;
tvec(1) = t0;
for k = 1:klast
k1 = feval(@fun1,y(k),tvec(k));
k2 = feval(@fun1,y(k)+h*k1/2,tvec(k)+h/2);
k3 = feval(@fun1,y(k)+h*k2/2,tvec(k)+h/2);
k4 = feval(@fun1,y(k)+h*k3,tvec(k)+h);
y(k + 1) = y(k) + h*(k1 + 2*k2 + 2*k3 + k4)/6; %Công thức RK-4
tvec(k+1) = tvec(k) + h;
plot([k - 1 k]*h,[y(k) y(k+1)],'b', k*h,y(k+1),'ro')
pause;
end

%”fun1” function
function yf = fun1(y,t)
a = 1; r = 1;
yf = r-a*y;

Bài 27:
% Bài 27
[t,solution] = ode45(@solRCLP, [0, 3], 0);
[t2,solution2] = ode23(@solRCLP, [0, 3], 0);
plot(t,solution(:,1),'r-',t2, solution2(:,1),'b-')
xlabel('time / s')
ylabel('Amplitude / V')
=========================================================
%”solRCLP” function
function [udot]= solRCLP(t,u)
R = 10000; % Điện trở R
C = 4.7*10e-6; %
f = 1;
udot = 0;
udot = -(1/(R*C))*u + (1/(R*C))*ustep(t);

D09VT1 6
CLGT Giải bài tập mô phỏng hệ thống truyền thông

Bài 31:
% Bài 31
x = randint(1,128); % Tạo véc tơ x g?m 128 bít ngẫu nhiên phân bốđều
id=1;
%Chuyển véc tơ x thành ma trận y (32x4)
for i=1:32
for j=1:4
y(i,j) = x(id);
id = id+1;
end;
end;
disp('Ma tran y la: ')
y
%Chuyển véc tơ y từ nhị phân thành thập phân
z = bi2de(y,'left-msb') %Lấy trọng số từ trái sang

Bài 34:
% Bài 34
function [t,y,code] = rzcode(d,R,Ns)
% Chương trình ví dụ về mã đường truyền R
% d chuỗi dữ liệu đầu vào
% R tốc độ dữ liệu
% Ns số lượng mẫu
% t vectơ thời gian
% y vectơ mẫu tín hiệu

Tb = 1/R; % chu kì bit


Nb = length(d); % độ dài chuỗi bit
Timewindow = Nb*Tb; % thời gian cửa sổ
ts = Timewindow/(Ns-1); % thời gian lấy mẫu
t = 0:ts:Timewindow; % vectơ thời gian

y = zeros(size(t)); % tạo vectơ y toàn số 0


code = [];% khởi tạo vectơ mã

for k = 1:Ns
n = fix(t(k)/Tb)+1; % lấy phần nguyên của t(k)/Tb cộng thêm 1
if n >= Nb
n = Nb;
end;
if mod(t(k),Tb)<=Tb/2 % lấy phần dư của t(k)/Tb so sánh với Tb/2
y(k) = d(n);
code(n) = d(n);
else
y(k) = 0;
end;
end;

D09VT1 7
CLGT Giải bài tập mô phỏng hệ thống truyền thông

Bài 35:
% Bài 35
a= 0:15; % T?o giá tr? b?n tin d?ng th?p phân
i=de2bi(a','left-msb') % Chuy?n b?n tin thành d?ng nh? phân có tr?ng
s? bit t? cao ??n th?p
g=[1 0 0 0 1 1 1;
0 1 0 0 1 1 0;
0 0 1 0 1 0 1;
0 0 0 1 0 0 1]
% Nh?p ma tr?n sinh G
c=mod((i*g),2) % Tính ra ma tr?n t? mã
end

Bài 36:
% Bài 36
function tg = tamgiac(Tp,n)
% n là số chu kì muỗn vẽ
% Tp là chu kì xung
Tw=Tp/2;
for i=0:n-1
x=[i*Tp:0.0001:(i+1)*Tp]; % tạo vectơ thời gian
fx=1-abs(((x-i*Tp)-Tw)/Tw); % tính giá trị hàm tại từng thời điểm
plot(x,fx)
hold on
end

D09VT1 8

You might also like