Thiết kế các bộ lọc
130
Bảng 10.6
. Phân loại các bộ lọc FIR có pha tuyến tính
Loại bộ lọc Bậc bộ lọc Tính
đối xứng của các hệ số bộ lọc
Đáp ứng tần số tại f = 0
Đáp ứng tần số
tại f = 1
Loại I
Chẵn
Không ràng buộc
Không ràng buộc
Loại II
Lẻ
Chẵn:
b(k) = b(n + 2 – k), k = 1, 2, ..., n + 1
Không ràng buộc H(1)
=
0
Loại III
Chẵn
H(0) = 0
H(1) = 0
Loại IV
Lẻ
Lẻ:
b(k) = - b(n + 2 – k), k = 1, 2, ..., n + 1 H(0) = 0
Không ràng buộc
Độ trễ nhóm và độ trễ pha của bộ lọc FIR có pha tuyến tính bằng nhau và bằng một hằng số
trên toàn bộ băng tần của bộ lọc. Nếu bậc của bộ lọc là n thì độ trễ nhóm sẽ bằng n/2, tức là
tín hiệu sau khi lọc sẽ bị trễ đi n/2 bước so với tín hiệu vào. Đặc điểm này giúp bảo toàn dạng
sóng tín hiệu trong dải thông, nghĩa là tín hiệu không bị méo pha.
Trong trường hợp mặc định, các hàm fir1, fir2, firls, firpm, fircls, fircls1, và firrcos đều
thiết kế các bộ lọc FIR loại I và II. Do đặc điểm H(1) = 0, nên bộ lọc fir1 không thể thiết kế
các bộ lọc thông cao và chắn dải thuộc loại II. Thay vào đó, nếu n lẻ, hàm fir1 sẽ tự động
cộng thêm 1 vào bậc bộ lọc để trở thành loại I. Các hàm firls và firpm thiết kế các bộ lọc loại
III và IV. Hàm cfirpm có thể thiết kế bất kỳ bộ lọc loại nào, kể cả bộ lọc có pha phi tuyến.
10.3.2. PHÖÔNG PHAÙP CÖÛA SOÅ (WINDOWING)
Xét bộ lọc thông thấp lý tưởng có tần số cắt là
0
ω (rad/s), có đáp ứng biên độ bằng 1 ở mọi
tần số nhỏ hơn
0
ω và bằng 0 ở các tần số còn lại. Bộ lọc này có đáp ứng xung là:
⎟
⎠
⎞
⎜
⎝
⎛
=
=
=
∫
∫
−
−
n
c
d
e
d
e
H
n
h
n
j
n
j
π
ω
π
ω
ω
π
ω
ω
π
ω
ω
ω
π
π
ω
0
0
sin
2
1
)
(
2
1
)
(
0
0
(10.16)
Bộ lọc này không thể thực hiện được trong thực tế vì nó có đáp ứng xung vô hạn và không
nhân quả. Để tạo một bộ lọc đáp ứng xung hữu hạn có đáp ứng gần giống đáp ứng lý tưởng
nêu trên, ta dùng một cửa sổ thời gian hữu hạn để giới hạn đáp ứng xung h(n). Ta có thể tạo ra
một bô lọc có pha tuyến tính bằng cách chỉ giữ lại phần trung tâm của đáp ứng xung h(n). Ví
dụ, để thiết kế bộ lọc thông thấp bậc 51, có tần số cắt bằng 0,4
π, ta chọn các hệ số của nó như
sau:
>> b = 0.4*sinc(0.4*(-25:25));
Trong trường hợp trên ta đã dùng cửa sổ chữ nhật để tác động lên h(n). Trong trường hợp
tổng quát, đáp ứng xung của bộ lọc FIR sẽ là:
)
(
).
(
)
(
0
n
w
n
h
n
h
=
(10.17)
trong đó )
(
0
n
h
là đáp ứng xung lý tưởng còn w(n) là cửa sổ thời gian hữu hạn. Các hàm cửa
sổ khác nhau cùng với hàm MATLAB tương ứng được trình bày trong bảng 10.6.
Bảng 10.6.
Các loại cửa sổ và hàm MATLAB tương ứng
Tên cửa sổ Biểu thức thời gian
Hàm MATLAB tương ứng
Chữ nhật
w = ones(n,1);
w = rectwin(n)