Bài tập, Code và Mô phỏng Môn xử lý số tín hiệu

27 1 0
Bài tập, Code và Mô phỏng Môn xử lý số tín hiệu

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Nếu lật lại thì x(0) = 5; y(0)=1; g(0)= 13 Xuất ra command window thì dùng disp , nhập từ command window lệnh input (Tin hieu x=) a.Trình bày chương trình Matlab vẽ 3 tín hiệu x,y,g câu 1: Cho tín hiệu tương tự: Tìm tần số Nyquyst Tần số của tín hiệu xa(t) : Fmax= 60Hz Định lý lấy mẫu : Fs ≥ 2Fmax F Nyquyst = 2Fmax = 2 . 60 = 120 Hz Giả sử tín hiệu được lấy mẫu ở tần số Fs = 1200 Hz. Tìm tín hiệu rời rạc x(n). Trình bày chương trình Matlab và kết quả mô phỏng vẽ các tín hiệu ở câu 3 gồm có tín hiệu tương tự gốc, tín hiệu rời rạc khi fs =1200 Hz, tín hiệu rồi rạc khi fs=300 Hz trong khoảng thời gian từ 0(s) đến 0,1 (s). Cho tín hiệu tương tự a. Tìm tần số Nyquist của tín hiệu Các tần số của tín hiệu xa(t) : F1= 10Hz , F2= 20Hz , F3= 30Hz => Fmax= F3= 30Hz Trình bày chương trình Matlab và kết quả mô phỏng vẽ 2 tín hiệu ở câu 5 gồm có tín hiệu tương tự và tín hiệu rời rạc khi lấy mẫu ở tần số fs= 500 Hz trong khoảng thời gian từ 0 (s) đến 0.1 (s) Cho hệ LTI có hàm truyền như sau: H(z)=(30,4z(1)0,01z(2))(10,2z(1)0,01z(2)+0,002z(3) )

Câu 1: (0,4 điểm) Cho tín hiệu: x(n)  1, 2,3, 4,5 Điền giá trị x(n) vào bảng sau: x(n): x(-3) x(-2) x(-1) x(0) x(1) x(2) x(3) x(4) x(5) 0 Điền giá trị y(n) = x(-n) vào bảng sau: y(n): y(-3) y(-2) y(-1) y(0) y(1) y(2) y(3) y(4) y(5) 0 Điền giá trị g(n) = 2x(n)+3x(-n) vào bảng sau: g(n): g(-3) g(-2) g(-1) g(0) g(1) g(2) g(3) g(4) g(5) 17 16 15 14 13 0 Câu 2: (0,4 điểm) Nếu lật lại x(0) = 5; y(0)=1; g(0)= 13 Xuất command window dùng disp , nhập từ command window lệnh input ('Tin hieu x=') a.Trình bày chương trình Matlab vẽ tín hiệu x,y,g câu 1: n = [-3:5]; % Ve tin hieu x x = [0 0 0]; % Ve tin hieu y y = [0 0 0]; g = [0 17 16 15 14 13 0 0]; subplot(221); stem(n,x);grid; xlabel('n'); ylabel('x(n)'); title('Tin hieu x'); axis([-5 -2 6]); subplot(222); stem(n,y);grid; xlabel('n'); ylabel('y(n)'); title('Tin hieu y'); axis([-5 -2 6]); Trang / 27 subplot(223); stem(n,g);grid; % Ve tin hieu g xlabel('n'); ylabel('g(n)'); title('Tin hieu g'); axis([-5 -2 20]); b.Trình bày kết mơ Câu 3: (0,4 điểm) Hình 2.1 Kết mơ : Tín hiệu x, y, g Cho tín hiệu tương tự: xa (t) 2 cos(120 t) a Tìm tần số Nyquyst Tần số tín hiệu xa(t) : Fmax= 60Hz Định lý lấy mẫu : Fs ≥ 2Fmax F Nyquyst = 2Fmax = 60 = 120 Hz b Giả sử tín hiệu lấy mẫu tần số Fs = 1200 Hz Tìm tín hiệu rời rạc x(n) Nếu tín hiệu lấy mẫu Fs = 1200 Hz tín hiệu rời rạc x(n) có dạng : x(n) = xa(nT) = 2cos( 2π 60 1200 n ) = 2cos( 2π 20n ) Trang / 27 c Giả sử tín hiệu lấy mẫu tần số Fs = 300 Hz Tìm tín hiệu rời rạc x(n) Nếu tín hiệu lấy mẫu Fs = 300 Hz tín hiệu rời rạc x(n) có dạng : x(n) = xa(nT) = 2cos( 2π 60 300 n ) = 2cos( 2π 5n ) Câu : (0,4 điểm) Trình bày chương trình Matlab kết mơ vẽ tín hiệu câu gồm có tín hiệu tương tự gốc, tín hiệu rời rạc fs =1200 Hz, tín hiệu rạc fs=300 Hz khoảng thời gian từ 0(s) đến 0,1 (s) Khoảng thời gian từ 0(s) đến 0,1 (s) fs=300 Hz có xung rời rạc: 31; khoảng cách xung 1/300; Khoảng thời gian từ 0(s) đến 0,1 (s) fs=1200 Hz có xung rời rạc: 121; khoảng cách xung 1/1200; Khoảng thời gian từ 0(s) đến 0,1 (s) tín hiệu gốc có xung rời rạc: 13; khoảng cách xung 1/120; Vẽ phổ tín hiệu miền tần số, rời rạc dùng lệnh stem %Tin hieu tuong tu goc fs=120; t=0:1/fs:0.1; xt=2*cos(2*pi*60*t); subplot(221);plot(t,xt); title("Tin hieu tuong tu goc"); grid on; %Tin hieu roi rac fs=1200Hz fs=1200; n2=0:1/fs:0.1; xn2=2*cos(2*pi*60*n2); subplot(222);stem(n2,xn2); title("Tin hieu roi rac fs=1200Hz"); grid on; axis([0 0.1 -3 3]); %Tin hieu roi rac fs=300Hz fs=300; n3=0:1/fs:0.1; xn3=2*cos(2*pi*60*n3); subplot(223);stem(n3,xn3); title("Tin hieu roi rac fs=300Hz"); grid on; axis([0 0.1 -3 3]); Trang / 27 Hình 4.1 Kết mơ Câu : (0,4 điểm) Cho tín hiệu tương tự xa (t) cos(20 t)  cos(40 t)  sin(60 t) a Tìm tần số Nyquist tín hiệu Các tần số tín hiệu xa(t) : F1= 10Hz , F2= 20Hz , F3= 30Hz => Fmax= F3= 30Hz Định lý lấy mẫu : Fs ≥ 2Fmax F Nyquyst = 2Fmax = 30 = 60 Hz b Giả sử tín hiệu lấy mẫu có tần số Fs=500 Hz Tìm tín hiệu rời rạc thu Fs=500 Hz => T= F1 S x(n) = xa(nT) = xa( Fn ) s x(n) = cos(2π 501 n) + 2cos(2π 251 n) + sin(2π 503 n) Trang / 27 x(n) = cos(2π.(0,02+ 150 ¿ n )+ 2cos(2π 125 n) + sin(2π.(0,02 - 350 ¿ n) x(n) = cos(2π 251 n) + 2cos(2π 251 n) - sin(2π 251 n) x(n) = 3cos(2π 251 n) - sin(2π 251 n) Câu : (0,4 điểm) Trình bày chương trình Matlab kết mơ vẽ tín hiệu câu gồm có tín hiệu tương tự tín hiệu rời rạc lấy mẫu tần số fs= 500 Hz khoảng thời gian từ (s) đến 0.1 (s) %Tin hieu tuong tu lay mau o tan so fs=500Hz fs=500; t=0:1/fs:0.1; xt=cos(2*pi*10*t)+2*cos(2*pi*20*t)+sin(2*pi*30*t) subplot(211);plot(t,xt); title("Tin hieu tuong tu co fs=500Hz"); grid on; %Tin hieu roi rac lay mau o tan so fs=500Hz fs=500; n2=0:1/fs:0.1; xn2=cos(2*pi*10*n2)+2*cos(2*pi*20*n2)+sin(2*pi*30*n2); subplot(212);stem(n2,xn2); title("Tin hieu roi rac co fs=500Hz"); grid on; Trang / 27 Hình 6.1 Kết mơ : Tín hiệu tương tự tín hiệu rời rạc lấy mẫu tần số fs= 500 Hz Câu 7: (0,4 điểm) Cho hệ LTI có hàm truyền sau: H (z )= 3−0,4 z−1−0,01 z−2 −3 Có điểm cực −1 −2 1−0,2 z −0,01 z + 0,002 z Ptsp: y(n) - 0,2 y (n−1)−0,01 y (n−2)+ 0,002 y (n−3) =3 x (n)−0,4 x (n−1)−0,01 x(n−2) Có điểm zero; Để xuất giá trị điểm cực zero dùng lệnh disp(z) disp(p), tìm giá trị tf2zp a Tìm điểm cực hệ Điểm cực : zc = - 0,1 Điểm cực : zc 2= 0,2 Điểm cực : zc 3= 0,1 b Xét tính ổn định hệ Hệ ổn định Vì điểm cực nằm đường tròn đơn vị ( |∀ zcực| < ) Câu 8: (0,4 điểm) Trang / 27 Trình bày chương trình Matlab xuất giá trị điểm cực, zero vẽ điểm cực, zero câu Để xuất giá trị điểm cực zero dùng lệnh disp(z) disp(p), tìm giá trị tf2zp num = [3 -0.4 -0.01 0]; den = [1 -0.2 -0.01 0.002]; [z,p,k]=tf2zp(num,den); disp('cac diem zero(z) tai: ');disp(z);% xuat gia tri diem zero disp(' cac diem cuc(p) tai: ');disp(p);% xuat gia tri diem cuc disp(' he so tang ic(k): '); disp(k); % xuat gia tri K zplane(num,den);grid;% ve toa diem cuc va diem zero Trình bày kết mơ Hình 8.1 Kết mô : xuất giá trị điểm cực, zero Trang / 27 Hình 8.2 Kết mơ : vẽ điểm cực, zero Câu : (0,4 điểm) Cho hệ LTI có hàm truyền: H (z) 4  2, 6z  0.08z H(z) phân tích thành: 1 0, 9z  0, 08z Tìm giá trị A B C D E dùng hàm residuez num ,den H (z) A  1 Cz B  1 Ez D a Điền vào bảng sau giá trị A,B,C,D,E ? A B C 0.8 D E 0.1 b Tìm biểu thức đáp ứng xung h(n) Trang / 27 h(n) = δ (n) + 0,8n u(n) + (0,1)nu (n) Câu 10: (0,4 điểm) Trình bày chương trình Matlab để giải câu 9a Xuất biểu thức hàm truyền ta dùng lệnh tf ; H=tf(num,den,-1) Để xuất giá trị điểm cực zero dùng lệnh disp(z) disp(p), tìm giá trị residuez num = [4 -2.6 0.08]; den = [1 -0.9 0.08]; [r,p,k] = residuez (num, den); H=tf(num,den,-1) disp('Cac phan co ban cua H(z)'); [r,p,k] = residuez (num, den) Xuất kết mô Trang / 27 Hình 10.1 Kết mô : Các thành phần H(z) Câu 11: (0,4 điểm) Viết chương trình Matlab giải câu 9b với yêu cầu sau: Xuất biểu thức đáp ứng xung h(n) từ hàm biến đổi Z ngược Vẽ đáp ứng xung h(n) với n=0:15 Xuất giá trị đáp ứng xung dùng hàm iztrans % Xuat bieu thuc dap ung xung h(n) syms H z H=(4 + (-2.6*z^(-1)) + (0.08*z^(-2)))/(1 + ((-0.9)*z^(-1)) + (0.08*z^(-2))); disp('Xuat bieu thuc dap ung xung h(n) la: ' ); iztrans(H) % Ve dap ung xung h(n) n=0:15; N=16; num = [4 -2.6 0.08]; den = [1 -0.9 0.08]; h=impz(num,den,N); subplot(211);stem(n,h); xlabel('Thoi gian n'); ylabel('Bien do'); title('Dap ung xung h(n)'); grid; axis( [-1 16 -1 5]); % Xuat gia tri dap ung xung h(n) disp('Xuat gia tri dap ung xung h(n)'); h=impz(num,den,N) Trang 10 / 27 y2(n) - 0.72y2(n–2) = y1(n) + y1(n–2) Cho tín hiệu ngõ vào x(n)=(0.9)nu(n), xuất giá trị vẽ tín hiệu ngõ y(n) hệ (với n=0: 10) n = [0:10]; N = 11; x = (0.9).^n; num1 = [2 0]; den1 = [1 -0.9 0.08]; h1 = impz(num1, den1, N); den2 = [1 -0.72]; num2 = [1 1]; h2 = impz(num2, den2, N); h = conv(h1,h2); y = conv(x,h); ny = 0:length(y)-1; subplot (211); stem(ny,y); axis([-1 31 -20 90]); xlabel('Thoi gian n'); ylabel('Bien do'); title('Ngo cua he thong'); grid; disp('Xuat gia tri ngo y(n)');disp(y); Trang 13 / 27 Hình 13.1 Kết mơ : Xuất giá trị ngõ y(n) Trang 14 / 27 Hình 13.2 Kết mơ : Vẽ tín hiệu ngõ y(n) Câu 14: (0,4 điểm) Cho hệ thống LTI có sơ đồ trên: a Xác định hàm truyền H(z) H(z) = 1+ z−1+ z−2 −1 −2 1+ 2,5 z −1 z b Tìm biểu thức đáp ứng xung h(n) H ( z)= 1+4 z−1+ z−2 z2+ z −2 ¿ −1 1+2,5 z −1 z z +2,5 z−1 z+4 −5 +√ 41 ( ) ( )  H (z)= z+4 =¿ − 5−√ 41 z z +2,5 z−1 (z− )( z− ) Trang 15 / 27 K1 + K2 =(z−( −5+√41)) (z−( −5−√41)) z +4 ( ( )) K1= z− Z= − −5−√41 5+√41 = 1,36 (4) z+4 ( ( )) K2= z− Z=(− −5+√41 5−4√41 = -0,36 ) ( ) ( ) 1,36 + −0,36 H(z)= 1− −5+ √41 z−1 1− −5−√41 z−1 ( ) ( )  h(n)=1,36 −5+√41 nu(n)+−0,36 −5−√41 nu(n)44 c Điền giá trị h(n) vào bảng sau: h(4) -23,76 h(n): h(0) h(1) h(2) h(3) 1,5 -2,76 8,4 Câu 15: (0,4 điểm) Sử dụng sơ đồ câu 14 a Viết phương trình sai phân hệ H(z) = 1+ z−1 −1 −2 1+ 2,5 z −1 z  Y(z) + 2,5 z−1.Y(z) – z−2.Y(z) = X ( z ) + 4z−1 X ( z )  ptsp : y(n) + 2,5y(n – 1) – 1y(n – 2) = x(n) + 4x(n – 1) b Biểu thức ngõ y(n) tín hiệu vào x(n) = u(n) H(z) = 1+ z−1 −1 −2 1+ 2,5 z −1 z x(n) = u(n) => X(z) = 1−z−1 1+ z−1 Y(z) = X(z) H(z) = −1 −1 −2 1−z 1+ 2,5 z −1 z = 1+ z−1 −2 −3 = z3+4 z2 −1 1+ 1,5 z −3,5 z + z z +1,5 z −3,5 z +1 = A z−1 + B z−0,35 + C z+2,85 Trang 16 / 27 | | A= z3+4 z2 ( z−0,35)( z+ 2,85) z=1 =2B= z3+4 z2 =−0,26 ( z−1)( z +2,85) z=0,35 | C= z3+4 z2 =0,76 ( z−1)( z−0,35) z=−2,85 Y ( z )= + −0,26 + 0,76 =¿ y (n)=2 ¿ z−1 z−0,35 z+2,85 c Điền giá trị y(n) vào bảng sau: y(4) 19,58 y(n): y(0) y(1) y(2) y(3) 2,5 4,075 8,14 Câu 16: (0,4 điểm) Viết chương trình Matlab giải câu 15b 15c num1=[1 0]; den1=[1 2.5 -1]; H=tf(num1,den1,-1) N=5; num2=[1 ]; den2=[1 -1 ]; X=tf(num2,den2,-1) y1=conv(num1,num2); y2=conv(den1,den2); [r,p,k]=residuez(y1,y2) hn=impz(y1,y2,N) Câu 17: (0,4 điểm) Cho tín hiệu: x(n)  1,2,3,1 ; y(n)  2,1, 2,1 a Tính hàm tương quan rxy(n) rxy(0) =∑ x (n) y (n) = x(0).y(0) + x(1)y(1) + x(2).y(2) + x(3).y(3) n=0 = 1.2 + 2.1 + 3.2 + 1.1 = 11 Trang 17 / 27 rxy(1) =∑ x (n) y (n−1) = x(0).y(-1) + x(1).y(0) +x(2).y(1) + x(3).y(2) n=0 = 1.0 + 2.2 + 3.1 + 1.2 = rxy(2) =∑ x (n) y (n−2) = x(0).y(-2) + x(1).y(-1) +x(2).y(0) + x(3).y(1) n=0 = 1.0 + 2.0 + 3.2 + 1.1 = rxy(3) =∑ x (n) y (n−3) = x(0).y(-3) + x(1).y(-2) +x(2).y(-1) + x(3).y(0) n=0 = 1.0 + 2.0 + 3.0 + 1.2 = rxy(-1) =∑ x (n) y (n+1) = x(0).y(1) + x(1).y(2) +x(2).y(3) + x(3).y(4) n=0 = 1.1 + 2.2 + 3.1 + 1.0 = rxy(-2) =∑ x (n) y (n+2) = x(0).y(2) + x(1).y(3) +x(2).y(4) + x(3).y(5) n=0 = 1.2 + 2.1 + 3.0 + 1.0 = rxy(-3) =∑ x (n) y (n+3) = x(0).y(3) + x(1).y(4) +x(2).y(5) + x(3).y(6) n=0 = 1.1 + 2.0 + 3.0 + 1.0 = r xy = { 11 } ↑ b Tính tích chập x*y x(n)  1,2,3,1 ; y(n)  2,1, 2,1 D = x(n)*y(n) x(n¿={ } ↑ y(n)= { 2 } D(0)= 2.1 = D(1)= 2.2 + 1.1 = ↑ D(2)= 3.2 + 2.1 + 1.2 = 10 D(3)= 1.2 + 3.1 + 2.2 + 1.1 = 10 y(k)= { 2 } D(4)= 0.2 + 1.1 + 3.2 + 2.1 = D(5)= 0.2 + 0.1 + 1.2 + 3.1 = ↑ x(-k) = { } ↑ x(1-k) = { } ↑ x(2-k) = { } ↑ x(3-k) = { } ↑ x(4-k) = { } ↑ x(5-k) = { 0 } Trang 18 / 27 ↑ x(6-k) = { 0 } D(6)= 0.2 + 0.1 + 0.2 + 1.1 = ↑ D = x(n)*y(n) = {2 10 10 1} ↑ c Trình bày chương trình Matlab vẽ tín hiệu sau: n=0:3; x=[1 1]; y=[2 1]; % Tin hieu x subplot(231),stem(n,x); grid; title('Tin hieu x'); % Tin hieu y subplot(232),stem(n,y); grid; title('Tin hieu y'); % Tin hieu x+y A = x + y; subplot(233),stem(n,A); grid; title('Tin hieu x+y'); % Tin hieu x nhan y B = x.*y; subplot(234),stem(n,B); grid; title('Tin hieu x nhan y'); % Ham tuong quan ryx N1 = length(y)-1; N2 = length(x)-1; Trang 19 / 27 k = (-N1):N2'; rxy=conv(x,fliplr(y)); subplot(235),stem(k,rxy); grid; title('Ham tuong quan rxy'); % Tich chap x va y D=conv(x,y); nd = 0:length(D)-1; subplot(236),stem(nd,D); grid; title('Tich chap x va y'); Hình 17.1 Kết mơ : Vẽ tín hiệu x, y , x+y, x.y, rxy, x*y Câu 18: (0,4 điểm) Cho hệ LTI: Tìm biểu thức đáp ứng xung h(n) hệ  y (n)−0,81 y (n−2)=x (n)−x (n−2)  Y ( z )[1−0,81 z−2]=X ( z )¿ H ( z )=1−0,81 z−2 1−z−2 = A+ 1−C z−1 B + 1−E z−1 D ¿ Trang 20 / 27

Ngày đăng: 06/03/2024, 23:39

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

Tài liệu liên quan