Tín hiệu và hệ thống
102
title('Dap ung bien do');
subplot(3,1,2);
plot(f,angle(H)*180/pi); grid
title('Dap ung pha (gian doan tai 360 do)');
subplot(3,1,3);
plot(f,unwrap(angle(H))*180/pi);
title('Dap ung pha (lien tuc)');
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
0
0.5
1
Dap ung bien do
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
-200
-100
0
100
200
Dap ung pha (gian doan tai 360 do)
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
-1500
-1000
-500
0
Dap ung pha (lien tuc)
Hình 9.10.
Ở đồ thị đáp ứng pha đầu tiên, ta có có thể phân biệt các điểm nhảy 360
° (do góc pha vượt ra
ngoài giới hạn hàm angle) với các điểm nhảy 180
° (ứng với các điểm zero của đáp ứng tần
số). Nếu dùng hàm unwrap ta có thể phân biệt được các vị trí này (như ở đồ thị thứ hai).
9.7.4. THÔØI GIAN TREÃ
Độ trễ nhóm (group delay) của một bộ lọc là một thông số đánh giá thời gian trễ trung bình
của bộ lọc (là một hàm của tần số). Nếu đáp ứng tần số phức của bộ lọc là H(
ω
j
e ) thì độ trễ
nhóm được xác định bằng biểu thức:
ω
ω
θ
ω
τ
d
d
g
)
(
)
(
−
=
(9.10)
trong đó
θ(ω) là đáp ứng pha của bộ lọc.
Trong MATLAB, ta có thể xác định độ trễ nhóm bằng cách dùng hàm grpdelay với cú pháp
hoàn toàn tương tự như hàm freqz.
Ví dụ:
>> [gd,w] = grpdelay(b,a,n)
trả về độ trễ nhóm
)
(
ω
τ
g
của bộ lọc số xác định bởi các vector hệ số a và b, được tính tại n
điểm tần số xác định bởi vector v.
Độ trễ pha (phase delay) của bộ lọc được định nghĩa bởi: