đáp án một số bài tập môn 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 10: Bài 11: Bài 12: Bài 13: D09VT1 1 % 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 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 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 = [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 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. Giải bài tập mô phỏng hệ thống truyền thông CLGT Bài 14: Bài 15: Bài 16: D09VT1 2 % 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 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 '); zlabel('F'); % 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'); Giải bài tập mô phỏng hệ thống truyền thông CLGT Bài 17: Bài 19: Bài 20: D09VT1 3 % 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 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 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) Giải bài tập mô phỏng hệ thống truyền thông CLGT Bài 21: Bài 22: Bài 23: D09VT1 4 % 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 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 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 Giải bài tập mô phỏng hệ thống truyền thông CLGT Bài 24: Bài 25: D09VT1 5 % 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 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; Giải bài tập mô phỏng hệ thống truyền thông CLGT Bài 26: Bài 27: D09VT1 6 % 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 [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); Giải bài tập mô phỏng hệ thống truyền thông CLGT Bài 31: Bài 34: D09VT1 7 % 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 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; Giải bài tập mô phỏng hệ thống truyền thông CLGT Bài 35: Bài 36: D09VT1 8 % 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 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 Giải bài tập mô phỏng hệ thống truyền thông CLGT . mô phỏng hệ thống truyền thông CLGT Bài 14: Bài 15: Bài 16: D09VT1 2 % 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. 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; Giải bài tập mô phỏng hệ thống truyền thông CLGT Bài 35: Bài