Trong MATLAB, người ta sử dụng lệnh h=impz(num,den,N) để tính đáp ứng xung của hệ thống thời gian rời rạc LTI. Chương trình P2-3 cho phép tính và vẽ đáp ứng xung của hệ thống có phương trình sai phân sau:
34
y[n] - 0.4y(n-l) + 0.75y(n-2) = 2.2403x[n| + 2.4908x[n -1] + + 2.2403x(n-2) (2.16)
%Chương trình P2-3
% Tính và \ ẽ đáp íữig xung
c lf
N=40;
num=[2.2403 2.4908 2.2403];
den=[l -0.4 0.75];
h=impz(num,den,N);
stem(h);
Hình 2.5 mô tả đáp ứng xung của hệ thống có phương trình sai phân (2.16).
D a p n g x u n g
Hình 2.5. Đáp ứng xung đơn vị của hệ thống có phương trình sai phân (2.1).
Bài tập:
1. Chạy chương trình P2-3 để tạo đáp ứng xung dcfn vị của hệ đã cho.
2. Dùng chương trình P2-3 để phát ra 45 mẫu đầu tiên của đáp ứng của hệ Ihống LTI nhân quả sau;
y[n] + 0.71y(n-l) - 0.46y(n-2) - 0.62y(n-3) = 0.9x[n] - 0.45x[n-l] - - 0.35x(n-2) + 0.002x(n-3) (2.17)
3. Viết chưofng trình trong MATLAB để phát đáp ứng xung đcfn vị của hệ thống LTI nhân quả ở câu 2 bằng cách sử dụng lệnh íilter. Tính và vẽ 40 mẫu đầu tiên . So sánh kết quả thu được với câu 2.
4. Viết chưoìig trình Matlab tìm đáp ứng của hệ thống đối với xung nhảy bậc của hệ thống đã cho trong chương trình P2-3.
2.5. CÁC HỆ THỐNG BẤT BIẾN v ớ i t h ờ i g i a n
Nhắc lại tính chất bất biến của một hệ thống rời rạc:
Nếu y 1 (n) là đáp ứng của hệ thống với lối vào X1 (n) thì đáp ứng của hệ thống với tín hiệu vào:
x[n]=xl[n-n(,]
sẽ là:
y[n] = yl[n-rio]
ở đây ri(, là một số nguyên dưofng hoặc âm. Hệ thức trên đúng với tín hiệu vào xl(n) bất kỳ. Nếu hệ thức đó không được thoả mãn đối với ít nhất một dãy lối vào thì hệ thống đó gọi là thay đổi với thời gian.
Bây giờ ta nghiên cứu tính bất biến với thời gian của hệ thống thời gian rời rạc có phương trình sai phân dạng:
M N
y(n) = J ] b „ x ( n - m ) - J ] a , y ( n - k ) (2.18)
m = (l k = l
Chương trình Matlab P2-4 sau đây dùng để mô phỏng hệ thống có phưcmg trình sai phân:
y[n] = 2.2403x[n] + 2.4908x[n-l] + 2.2403x(n-2) + 0.4y(n-l) (2.19)
Mục đích của chương trình này là tìm tín hiệu lối ra y[n] đối với hai tín hiệu lối vào x[n] và x[n-n()] và hiệu của hai tín hiệu ra đó.
% Chương trình P2-4.
%Nglùền cứii tính chất bất biến với thời gian
36
clf n=0:40;
n0=10;
a=0.3;b=-2;
xn=a*cos(2*pi*0.1 *n) +b*cos(2*pi*0.4*n);
xnO=[zeros(l,nO) xn];
num=[2.2403 2.4908 2.2403];
den=[l -0.4 0.75];
ic=[0 0];
yn=filter(num,den,xn,ic);
ynO=fiIter(num,den,xnO,ic);
dn=yn-yn0(l+n0:41+n0);
subplot(3,l,l) stem(n,yn);
subpìot(3,l,2) Stem(n,yn0(l:41));
subpìot(3,l,3) stem(n,dn);
Đồ thị'cỏc tớn hiệu cho trờn hỡnh 2.6.• ằ
Tin hieu ỉoi ra y[n]
“Op m
? ĩ ■ ọỹĨọ
)\ 0 ọ T o &Ỹ ■" ... ...
o ĩ ĩ 9 o9Ỹ 6
o OI
ò i ố ,Ỏ Ổ 1
c i
b : :
i ỉ i . i
1
i ... i .... _.l , 1
50
10 15 20 25 30
Tin hieu ra đo tln hieu vao Ire x ( n - 10)
35 40
-60
1 : : Ọ Ỹ ^
0(> o o o o ò o o o o <fi"
Ĩ Ị Ĩ -
ô
J____
< I I ( I
10 15 20
Tin hieu hieu
25 30 35 40
*oo 0) m
0(
-1
10 15 25
Chí so thoi gian n
3G 35 40
Hình 2.6. Nghiên cứu tính chất bất biến với thời gian.
Bài tập
1. Chạy chương trình P2-4 và so sánh các tín hiệu lối ra y[n] và y[n-rio với n„ =10. Các tín hiệu đó liên hệ với nhau như thế nào ? Hệ thống có bất biến với thời gian không?
2. Xét một hệ thống khác được đặc trưng bằng phương trình:
y[n] = nx[n] + x[n-l] (2.20)
Hãy biến đổi chưcíng trình P2-4 để mô phỏng hệ thống này và xác định xem hê thống này có bất biến với thời gian không ?
3. Biến đổi chưong trình P2-3 để thử tính chất tuyến tính của hệ thống có phương trình sai phân (2.20) mới này.
2.6. GHÉP NỐI TIẾP CÁC HỆ TH ốN G LTI
Trong thực tế, người ta thường ghép nối tiếp các hệ thống LTI nhân quả bậc thấp ( thưcíng là bậc 2) với nhau để được các hệ thống bậc cao.
Chẳng hạn, người ta ghép hai hệ thống bậc hai có phương trình sai phân:
y,[n] +0,9yi[n-l]+0,8yi[n-2] = 0,3x[n]-0.3x[n-l]+0,4x[n-2]
(2.21) và
y2Ín] + 0,7y2[n-l] + 0,85y2[n-2] = 0,2y,[n] - 0.5y,[n-l] + 0,3y,[n-2]
(2.22)
để thu được hệ thống bậc 4 có phương trình sai phân:
y[n] + l,6 y [n -l] + 2,28y[n-2] + l,325y[n-3] + 0,68y[n-4] =
= 0,06x[n] - 0,19x[n-l] + 0,27x[n-2] - 0,26x[n-3] + 0,12x[n-4] (2.23) Chưcmg trình P2-5 mô phỏng hệ thống bậc 4 với phương trình sai phân (2.23) và hộ thống nối tiếp hai hệ thống bậc hai (2.22) với (2.20).
Trong chương trình này, tín hiệu x[n] là tín hiệu lối vào của hệ thống bậc 4 (2.23) có tín hiệu ra là y[n]. Sau đó áp dụng lối vào x[n] này cho hệ thống bậc hai với phương trình sai phân (2.21) để tìm tín hiệu ra Yiín]. Tiếp đến dùng y,[n] làm tín hiệu lối vào cho hệ thống bậc hai có phương trình sai
38
phân (2.22) để tìm lối ra y2[n]. Cuối cùng lấy hiệu số giữa tín hiệu lối ra y[n^
với y2[n] để xác định sai số thực hiện. Tất cả các tín hiệu được hiển thị trên hình 2.7.
%Chương trình P2_5
% Thực hiện ghép nối tiếp hai hệ thốniỊ LTI clf;
X = [1 zero s(l,4 0 )]; % Tạo tín hiệu vào x[n
n = 0:40;
% Các hệ số của hệ thống bậc 4 den = [1 1.6 2.28 1.325 0.68];
num = [0.06 -0.19 0.27 -0.26 0.12];
% Tính tín hiệu lối ra của hệ thống bậc 4 y = filter(num,den,x);
% Các hệ số của hai hệ thống bậc 2
numl = [0.3 -0.2 0.4];'denl = [i 0.9 0.8];
num2 = [0.2 -0.5 0.3]; den2 = [1 0.7 0.85];
% Tín hiệu ra y 1 [n]
y l = filter(num l,denl,x);
% Tín hiệu ra y2[n]
y2 = filter(num2,den2,yl);
% Hiệu d[n] = y[n] - y2[n]
d = ỵ - y 2 ;
% Vẽ các tín hiệu subplot(3,l,l);
stem(n,y);
ylabelCBiên độ');
title(Tín hiệu ra của hệ thống bậc 4); grid;
subplot(3,l,2);
Stem(n,y2) .
ylabel('Biên độ');
title('Lối ra của hệu thống nối tiếp'); grid;
subplot(3,l,3);
stem(n,d)
xlabel('Chỉ số thời gian n'); ylabel('Biên độ’);
titIe('Tín hiệu sai số'); grid;
Đồ thị các tín hiệu cho trên hình 2.7.
Tín hieu ra cu a he th on g bac 4
c£ ÌD
? Ỹ ^
r V o Ọ
p c > c> <> o ( i 1
1 Ọ(T) <DO
ò :
o : i í5 íì ; <
V--'
> ^ > 1 *