Tải bản đầy đủ (.docx) (27 trang)

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

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.02 MB, 27 trang )

Câu 1: (0,4 điểm)
Cho tín hiệu:

x(n)  1, 2,3, 4,5

Điền giá trị của 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 1 2 3 4 5 0 0 0

Điền giá trị của 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 5 4 3 2 1 0 0 0

Điền giá trị của 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)

0 17 16 15 14 13 0 0 0

Câu 2: (0,4 điểm)

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:


n = [-3:5]; % Ve tin hieu x
x = [0 1 2 3 4 5 0 0 0]; % Ve tin hieu y
y = [0 5 4 3 2 1 0 0 0];
g = [0 17 16 15 14 13 0 0 0];
subplot(221); stem(n,x);grid;
xlabel('n'); ylabel('x(n)');
title('Tin hieu x');
axis([-5 6 -2 6]);
subplot(222); stem(n,y);grid;
xlabel('n'); ylabel('y(n)');
title('Tin hieu y');
axis([-5 6 -2 6]);

Trang 1 / 27

subplot(223); stem(n,g);grid; % Ve tin hieu g
xlabel('n'); ylabel('g(n)');
title('Tin hieu g');
axis([-5 6 -2 20]);

b.Trình bày kết quả mơ phỏng.

Câu 3: (0,4 điểm) Hình 2.1. Kết quả mơ phỏng : 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ố 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

b. 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).
Nếu tín hiệu được lấy mẫu ở Fs = 1200 Hz thì 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 2 / 27

c. Giả sử tín hiệu được 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 được lấy mẫu ở Fs = 300 Hz thì 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 4 : (0,4 điểm)

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).
Khoảng thời gian từ 0(s) đến 0,1 (s) khi fs=300 Hz có bao nhiêu xung rời rạc: 31;
khoảng cách các xung là 1/300;
Khoảng thời gian từ 0(s) đến 0,1 (s) khi fs=1200 Hz có bao nhiêu xung rời rạc: 121;
khoảng cách các xung là 1/1200;
Khoảng thời gian từ 0(s) đến 0,1 (s) của tín hiệu gốc có bao nhiêu xung rời rạc: 13;
khoảng cách các xung là 1/120;

Vẽ phổ tín hiệu trong miền tần số, rời rạc thì 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 khi 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 khi fs=1200Hz");
grid on;
axis([0 0.1 -3 3]);
%Tin hieu roi rac khi 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 khi fs=300Hz");
grid on;
axis([0 0.1 -3 3]);

Trang 3 / 27

Hình 4.1. Kết quả mơ phỏng

Câu 5 : (0,4 điểm)
Cho tín hiệu tương tự

xa (t) cos(20 t)  2 cos(40 t)  sin(60 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
Định lý lấy mẫu : Fs ≥ 2Fmax
F Nyquyst = 2Fmax = 2 . 30 = 60 Hz

b. Giả sử tín hiệu lấy mẫu có tần số là Fs=500 Hz. Tìm tín hiệu rời rạc thu được.
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 4 / 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 6 : (0,4 điểm)
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)
%Tin hieu tuong tu khi 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 khi 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 5 / 27

Hình 6.1. Kết quả mơ phỏng : 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

Câu 7: (0,4 điểm) Cho hệ LTI có hàm truyền như sau:

H (z )= 3−0,4 z−1−0,01 z−2 −3 Có 3 đ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ó 2 điểm zero; Để xuất ra giá trị điểm cực và zero dùng lệnh disp(z) và disp(p), tìm giá

trị thì là tf2zp

a. Tìm các điểm cực của hệ


Điểm cực 1 : zc 1 = - 0,1

Điểm cực 2 : zc 2= 0,2

Điểm cực 3 : zc 3= 0,1

b. Xét tính ổn định của hệ.

Hệ ổn định . Vì 3 điểm cực đều nằm trong đường tròn đơn vị ( |∀ zcực| < 1 )

Câu 8: (0,4 điểm)

Trang 6 / 27

Trình bày chương trình Matlab xuất giá trị các điểm cực, zero và vẽ các điểm cực,
zero của câu 7.
Để xuất ra giá trị điểm cực và zero dùng lệnh disp(z) và disp(p), tìm giá trị thì là 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 do diem cuc va diem zero
Trình bày kết quả mô phỏng.

Hình 8.1. Kết quả mơ phỏng : xuất giá trị các điểm cực, zero

Trang 7 / 27


Hình 8.2. Kết quả mơ phỏng : vẽ các điểm cực, zero

Câu 9 : (0,4 điểm) Cho hệ LTI có hàm truyền:

H (z) 4  2, 6z 1  0.08z 2 H(z) phân tích thành:
1 0, 9z 1  0, 08z 2 Tìm giá trị A B C D E thì dùng hàm residuez của

num ,den

H (z) A  1 Cz 1 B  1 Ez 1 D a. Điền vào bảng sau các giá trị

A,B,C,D,E ?

A 1

B 1

C 0.8

D 2

E 0.1

b. Tìm biểu thức đáp ứng xung h(n)

Trang 8 / 27

h(n) = 1 . δ (n) + 1. 0,8n u(n) + 2 .(0,1)nu (n)
Câu 10: (0,4 điểm)


Trình bày chương trình Matlab để giải bà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 ra giá trị điểm cực và zero dùng lệnh disp(z) và disp(p), tìm giá trị thì là
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 thanh phan co ban cua H(z)'); [r,p,k] = residuez (num, den)

Xuất kết quả mô phỏng.

Trang 9 / 27

Hình 10.1. Kết quả mô phỏng : Các thành phần cơ bản của H(z)

Câu 11: (0,4 điểm) Viết chương trình Matlab giải câu 9b với các 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

Hình 11.1. Kết quả mơ phỏng : Xuất biểu thức đáp ứng xung h(n)

Hình 11.2. Kết quả mơ phỏng : Vẽ đáp ứng xung h(n)

Trang 11 / 27

Hình 11.3. Kết quả mơ phỏng : Xuất giá trị đáp ứng xung h(n)

Câu 12: (0,4 điểm)

Tính DFT- 4 điểm phân chia theo thời gian với tín hiệu x(n)  5, 4, 3, 2 .

Điền giá trị vào bảng sau:

x(0) 5 g1 8 X(0) 14
-2j + 2
x(2) 3 h1 2 X(1)
2
x(1) 4 g2 6 X(2) 2j + 2


x(3) 2 h2 2 X(3)

Câu 13: (0,4 điểm) Viết chương trình Matlab để thực hiện ghép nối hai hệ thống LTI
sau:
y1(n) - 0.9y1(n–1) + 0.08y1(n–2) = 2x(n) +3x(n–1)

Trang 12 / 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à vẽ tín hiệu ngõ ra y(n) của hệ.
(với n=0: 10)
n = [0:10];
N = 11;
x = (0.9).^n;
num1 = [2 3 0];
den1 = [1 -0.9 0.08];
h1 = impz(num1, den1, N);
den2 = [1 0 -0.72];
num2 = [1 0 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 ra cua he thong'); grid;
disp('Xuat gia tri ngo ra y(n)');disp(y);


Trang 13 / 27

Hình 13.1. Kết quả mơ phỏng : Xuất giá trị ngõ ra y(n)

Trang 14 / 27

Hình 13.2. Kết quả mơ phỏng : Vẽ tín hiệu ngõ ra y(n)
Câu 14: (0,4 điểm)

Cho hệ thống LTI có sơ đồ như trên:

a. Xác định hàm truyền H(z).

H(z) = 1+ 4 z−1+ 0 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+ 0 z−2 z2+ 4 z
−2 ¿ 2
−1
1+2,5 z −1 z z +2,5 z−1

z+4

−5 +√ 41
( ) ( )  H (z)= 2 z+4 =¿

− 5−√ 41
z z +2,5 z−1 (z− 4 )( z− 4 )

Trang 15 / 27

K1 + K2

=(z−( 4 −5+√41)) (z−( 4 −5−√41))

z +4

( ( )) K1= z− Z= − −5−√41 5+√41 = 1,36

4 (4)

z+4

( ( )) K2= z− 4 Z=(− −5+√41 5−4√41 = -0,36 )

( ) ( ) 1,36 + −0,36
H(z)= 1− −5+ √41 z−1 1− −5−√41 z−1
4 4

( ) ( )  h(n)=1,36. −5+√41 nu(n)+−0,36. −5−√41 nu(n)44

c. Điền giá trị của h(n) vào bảng sau: h(4)
-23,76
h(n): h(0) h(1) h(2) h(3)
1 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 của hệ.

H(z) = 1+ 4 z−1

−1 −2
1+ 2,5 z −1 z

 Y(z) + 2,5 z−1.Y(z) – 1 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õ ra y(n) khi tín hiệu vào x(n) = u(n).

H(z) = 1+ 4 z−1

−1 −2
1+ 2,5 z −1 z

x(n) = u(n) => X(z) = 1−z−1 1 1+ 4 z−1

Y(z) = X(z) . H(z) = −1 1 . −1 −2
1−z 1+ 2,5 z −1 z

= 1+ 4 z−1 −2 −3 = 3 z3+4 z2

−1 2
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 )= 2 + −0,26 + 0,76 =¿ y (n)=2. ¿
z−1 z−0,35 z+2,85

c. Điền giá trị của y(n) vào bảng sau: y(4)
19,58
y(n): y(0) y(1) y(2) y(3)
0 2,5 4,075 8,14

Câu 16: (0,4 điểm)
Viết chương trình Matlab giải bài câu 15b và 15c.

num1=[1 4 0];
den1=[1 2.5 -1];
H=tf(num1,den1,-1)
N=5;
num2=[1 0 ];
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).

2

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

2

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 = 9

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 = 7

2

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 = 2

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 = 8

2

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 = 4

2

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 = 1


r xy = { 1 4 8 11 9 7 2 }



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¿={ 1 2 3 1 }



y(n)= { 2 1 2 1 } D(0)= 2.1 = 2
D(1)= 2.2 + 1.1 = 5
↑ D(2)= 3.2 + 2.1 + 1.2 = 10
D(3)= 1.2 + 3.1 + 2.2 + 1.1 = 10
y(k)= { 2 1 2 1 } D(4)= 0.2 + 1.1 + 3.2 + 2.1 = 9
D(5)= 0.2 + 0.1 + 1.2 + 3.1 = 5


x(-k) = { 1 3 2 1 }



x(1-k) = { 1 3 2 1 }



x(2-k) = { 1 3 2 1 }




x(3-k) = { 1 3 2 1 }



x(4-k) = { 0 1 3 2 1 }



x(5-k) = { 0 0 1 3 2 1 }

Trang 18 / 27



x(6-k) = { 0 0 0 1 3 2 1 } D(6)= 0.2 + 0.1 + 0.2 + 1.1 = 1



D = x(n)*y(n) = {2 5 10 10 9 5 1}



c. Trình bày chương trình Matlab vẽ các tín hiệu như sau:

n=0:3;
x=[1 2 3 1];
y=[2 1 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 quả mơ phỏng : 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) của 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


×