Đáp án mô phỏng HTTT

9 364 1
Đáp án mô phỏng HTTT

Đang tải... (xem toàn văn)

Thông tin tài liệu

CLGT Giải tập mô 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 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 giá trị số nguyên gần Bài 12: % Bài 12 b = [1024 1000 100 1]; %Tạo véc tơ b disp('Gia tri logarith co so cua vecto b la : ') logarith2 = log2(b) %Lấy logarit số vector b disp('Gia tri logarith co so 10 cua vecto b la : ') logarith10 = log10(b) %Lấy logarit số 10 vector b Bài 13: % Bài 13 w = (0.01:0.01:5);% Véc tơ tần số, đơn vị rad/s H1 = 1./(j*w); %Hàm truyền tích phân H2 = 1./ (1 + j*w); %Hàm truyền phần tử trễ thời gian bậc plot(w, abs(H1)); % Vẽ đồ thị biên độ hàm truyền H1 title('Do thi bien qua bo tich phan'); figure plot(w,abs(H2)); % Vẽ đồ thị biên độ hàm truyền H2 sang hình khác title('Do thi bien 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 trục y giữ nguyên title('Do thi bien 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 trục x giữ nguyên figure loglog(w,abs(H1)); % Vẽ đồ thị biên độ H1 theo hàm loglog – biểu diễn trục x&y theo logarit title('Do D09VT1 thi bien cua phan tu tre thoi gian'); CLGT Giải tập mô 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ị rad/s H1 = 1./(j*w); %Hàm truyền tích phân H2 = 1./ (1 + j*w); %Hàm truyền phần tử trễ thời gian bậc subplot(2,2,1) plot(w, abs(H1)); % Vẽ đồ thị biên độ hàm truyền H1 title('Do thi bien 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 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 Y surf(X, Y , F); % Vẽ đồ thị F theo X Y xlabel('X'); ylabel(' Y '); zlabel('F'); 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 hệ tọa độ cầu X = R*sqrt(R^2-Z.^2).*cos(pi*P./180); % Biểu diễn X hệ tọa độ cầu Y = R*sqrt(R^2-Z.^2).*sin(pi*P./180); % Biểu diễn Y hệ tọa độ cầu surf(X,Y,Z); % Vẽ đường tròn xlabel('x-axis'); ylabel('y-axis'); zlabel('F'); D09VT1 CLGT Giải tập mô 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 véc tơ y k=0; disp('vecto yr la : ') for i=1:L yr(i)= y(L-i+1); % Đảo ngược vec tơ y ta 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 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 tọa độ cực x = r*cos(theta); % Biểu diễn x tọa độ cực y = r*sin(theta); % Biểu diễn y 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 tọa độ cực x = r*cos(theta); % Biểu diễn x tọa độ cực y = r*sin(theta); % Biểu diễn y tọa độ cực plot(x,y); axis equal % Chia trục tọa độ tỉ lệ để hiển thị hình tròn tốt 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 CLGT Giải tập mô hệ thống truyền thông Bài 21: % Bài 21 a = input('a='); % Nhập vào giá trị a b = input('b='); % Nhập vào giá trị b fa =-inf; % gán fa âm vô fb = inf; % gán fb dương vô 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=fx; end; end disp('Nghiem cua phuong trinh la : ') x Bài 22: % Bài 22 a=-1.5; %Điểm cận b=1.5; %Điểm cậ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); = +F; end = tp*h; disp('Gia trị tich phan tinh theo phuong phap mid point la: ') Bài 23: % Bài 23 – cách x0=2; x1=1.5; while abs(x0-x1)> 0.0001 x0 = x1; x1 = (x0^2+2)/(2*x0) end; disp('Gia trị can bac cua a tinh theo pp gan dung la: ') x1 ==================================================================== % Bài 23 – cách thầy giáo x0 = 2; errs = 0.0001; diffx = 1; x = x0; while diffx > errs xn = (x^2+2)/(2*x) diffx = abs(xn - x); x = xn; end disp('Gia trị can bac cua a tinh theo pp gan dung la: ') x D09VT1 CLGT Giải tập mô 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 PTVT cho plot(t,yt,'k'), hold on h = 1/4; klast = (tf-t0)/h; y(1) = y0; 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 plot([k - 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 PTVT plot(t,yt,'k'), hold on h = 1/4; % cỡ bước 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 - 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 CLGT Giải tập mô 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 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 - 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); ========================================================= function u = ustep(t) if t >=0 u = 1; else u = 0; end D09VT1 CLGT Giải tập mô 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ố 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 32: % Bài 32 function [y,amax] = alaw(x,A) if abs(x) < 1/A y = sign(x)*A*abs(x)/(1+log(A)); else if abs(x)>= 1/A & abs(x) = 1/(1+log(A)) & abs(y) < x = sign(y)*exp(abs(y)*(1+log(A))-1)/A; end end end Bài 33: Các bạn xem lại ví dụ luật Muy (slide trang 123+124) để làm tương tự % Bonus thêm luật Muy function [y,a] = mulaw(x,mu) % x - input sequence % mu - mu constant % y - compressed output % a - maximum amplitute a = max(abs(x)); y = sign(x).*log(1+mu*abs(x/a))/log(1+mu); ======================================================== function x = invmulaw(y,mu) % mu - mu constant % y - compressed input % x - expanded output x = sign(y).*((1+mu).^abs(y)-1)/mu; D09VT1 CLGT Giải tập mô hệ thống truyền thông Bài 34: % Bài 34 function [t,y,code] = rzcode(d,R,Ns) % Chương trình ví dụ mã đường truyền R % d chuỗi liệu đầu vào % R tốc độ 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ố code = [];% khởi tạo vectơ mã for k = 1:Ns n = fix(t(k)/Tb)+1; % lấy phần nguyên t(k)/Tb cộng thêm if n >= Nb n = Nb; end; if mod(t(k),Tb)=2^(-j+k) % lấy phần dư có dấu i-1 chia cho 2^(-j+k+1) so sánh với 2^(-j+k) u(i,j)=1 else u(i,j)=0 end end end % tạo ma trận sinh g=[1 0 1 1; 0 1 0; 0 1 1; 0 0 1]; % xác định từ mã đầu mã khối có tốc độ 4/7 c=mod(u*g,2) % lấy phần dư u*g chia cho D09VT1 CLGT Giải tập mô hệ thống truyền thông Bài 36: % Bài 36 function tg = tamgiac(Tp,n) % n số chu kì muỗn vẽ % Tp 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 thời điểm plot(x,fx) hold on end Bài 37: %Bài 37 Fc = 300; %Tần số sóng mang Fs=1000; % Tần số lấy mẫu Fs>2Fc t = [0:1/Fs:0.5]; st=2*cos(20*pi*t+pi/4)+cos(30*pi*t); subplot(3,1,1) plot(t,st) %Vẽ dạng tín hiệu gốc subplot(3,1,2) am = ammod(st,Fc,Fs); %Điều chế biên độ plot(t,am,'r') %Vẽ dạng tín hiệu sau điều chế biên độ subplot(3,1,3) adm = amdemod(am,Fc,Fs); %Giải điều chế biên độ plot(t,adm) %Vẽ tín hiệu sau giải điều chế D09VT1

Ngày đăng: 19/10/2016, 22:22

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan