Cấu trúc của bộ lọc FIR Một bộ lọc đáp ứng xung hữu hạn với hàm hệ thống có dạng: Đây chính là tích chập tuyến tính của các dãy hữu hạn.. Cấu trúc dạng pha tuyến tính:Đối với các bộ lọc
Trang 1ĐẠI HỌC ĐÀ NẴNG
— oOo —
TIỂU LUẬN MÔN HỌC
THIẾT KẾ LỌC SỐ VÀ BIẾN ĐỔI WAVELET
ĐỀ TÀI: THIẾT KẾ BỘ LỌC FIR THÔNG DẢI
BẰNG PHƯƠNG PHÁP CỬA SỔ
Người hướng dẫn : Học viên thực hiện :
Đà Nẵng, tháng 11/2005
Trang 2Tiểu luận: Thiết kế lọc FIR thông dải bằng phương pháp cửa sổ Trang 2
LỜI MỞ ĐẦU
Xử lý tín hiệu số (Digital Signal Processing — DSP) đã trở thành một môn học
cơ sở cho nhiều ngành khoa học, kỹ thuật như: Điện, Điện Tử, Tin học, Viễn thông,
Tự động hoá Xử lý tín hiệu số được ứng dụng rộng rãi trong nhiều lĩnh vực và thiết
bị như: CD, VCD, DVD, camera, scanner, y khoa , trong các hệ thống truyền hình
số, thông tin địa lý, bản đồ số, viễn thông v.v
Phép xử lý cơ bản nhất của DSP là lọc, và các hệ thống được đề cập đến nhiều
nhất trong xử lý tín hiệu số là các bộ lọc số (Digital Filter) Nếu xét về đáp ứng xung
có thể chia các bộ lọc số thành 2 loại chính là bộ lọc có đáp ứng xung hữu hạn FIR
(Finite Impulse Response) còn gọi là lọc không đệ quy, và bộ lọc có đáp ứng xung vô
hạn IIR (Infinte Impulse Response) còn gọi là lọc đệ quy Xét về đáp ứng tần số biên
độ có thể chia các bộ lọc, FIR hay IIR, thành 4 loại cơ bản: thông thấp, thông cao,thông dải và chắn dải Các bộ lọc này có thể được thiết kế bằng những phương pháp
sau đây: Phương pháp cửa sổ (Window Design Techniques), Phương pháp lấy mẫu tần số (Frequency Sampling Design Techniques) và Phương pháp xấp xỉ tối ưu cân bằng gợn sóng (Optimal Equiripple Design Techniques) Mỗi phương pháp đều có
những đặc điểm và ưu khuyết điểm riêng
Trong khuôn khổ của bài tiểu luận môn học, tôi xin phép được trình bày bài toánthiết kế bộ lọc FIR thông dải bằng phương pháp cửa sổ Nội dung tiểu luận được chiathành 3 phần:
Phần 1 Cơ sở lý thuyết
Phần 2 Thiết kế lọc FIR thông dải bằng phương pháp cửa sổ
Phần 3 Kết luận
Trang 3Phần 1 CƠ SỞ LÝ THUYẾT
1.1 Dần nhập
Việc thiết kế một bộ lọc số tiến hành theo 3 bước:
• Đưa ra các chỉ tiêu: Trước khi thiết kế một bộ lọc chúng ta cần xác định các chỉ
tiêu Các chỉ tiêu được xác định bởi các ứng dụng cụ thể khác nhau
• Tìm các xấp xỉ: Một khi chỉ tiêu đã được xác định, ta sử dụng các khái niệm và
công cụ toán học khác nhau để tiến tới biểu diễn và tính gần đúng cho bộ lọcvới tập các chỉ tiêu đã cho Và đây là chủ đề chính của việc thiết kế lọc số
• Thực hiện bộ lọc: Kết quả của các bước trên cho mô tả dưới dạng một phương
trình sai phân, hoặc một hàm hệ thống H(z), hoặc một đáp ứng xung h(n) Từcác mô tả này chúng ta có thể thi hành bộ lọc bằng phần cứng hoặc phần mềm
mô phỏng trên máy tính
Trong những
phần tiếp sau đây, để mô tả các chỉ tiêu của bộ lọc chúng ta sẽ xem xét việc thiết kếmột bộ lọc thông thấp như một ví dụ cơ sở Có 2 nhóm chỉ tiêu: Các chỉ tiêu tuyệt đối(Absolute Speciíications) và các chỉ tiêu tương đối (Relative Speciíications - DB)
Trang 4Hình 1.1 Các chỉ tiêu của bộ lọc FIR: các chỉ tiêu tuyệt đối và tương đối
Trong đó:
• Band [0, Wp] được gọi là dải thông, và 81 là dung sai (gợn sóng) được chấpnhận trong đáp ứng dải thông lý tưởng
• Band [w s , ri] được gọi là dải chắn, và 82 là dung sai ở dải chắn
• Band [wp, w s ] được gọi là dải chuyển tiếp, và không có ràng buộc nào về đáp
ứng biên độ trong dải này
Các chỉ tiêu tương đối gồm có:
• R p : Độ gợn sóng trong dải thông tính theo dB.
• A s : Suy hao trong dải chắn tính theo dB
Quan hệ giữa các chỉ tiêu này như sau:
1 - ^„
^7
Các chỉ tiêu trên được đưa ra đối với bộ lọc FIR thông thấp, và tất nhiên đối với các
bộ lọc khác như thông cao HPF (High Pass Filter), thông dải BPF (Band Pass Filter)
Trang 5đều có thể được định nghĩa tương tự Tuy nhiên, các tham số thiết kế quan
• Dễ thiết kế do không gặp các vấn đề ổn định (lọc FIR luôn ổn định)
• Việc thực hiện rất hiệu quả
• Có thể sử dụng DFT để thực hiện
Đáp ứng pha là tuyến tính (linear phase response) mang lại những thuận lợi sau:
• Bài toán thiết kế chỉ gồm các phép tính số học thực chứ không cần phép tính
số học phức
• Bộ lọc pha tuyến tính không có méo trễ nhóm và chỉ bị trễ một khoảng khôngđổi
• Đối với bộ lọc có chiều dài M (hoặc bậc M-1) số phép toán có bậc M/2 như
đã khảo sát trong thực hiện bộ lọc có pha tuyến tính
1.2 Cấu trúc của bộ lọc FIR
Một bộ lọc đáp ứng xung hữu hạn với hàm hệ thống có dạng:
Đây chính là tích chập tuyến tính của các dãy hữu hạn
Bậc của bộ lọc là M-1, trong khi chiều dài của bộ lọc là M (bằng với số lượng các
hệ số) Các cấu trúc bộ lọc FIR luôn luôn ổn định, và tương đối đơn giản hơn so vớicác cấu trúc bộ lọc IIR Hơn thế nữa, các bộ lọc FIR có thể được thiết kế để có mộtđáp ứng pha tuyến tính và đó là điều cần thiết trong một số ứng dụng
h(n) = 0 < n < M -1
else
Trang 6Chúng ta sẽ xem xét lần lượt các cấu trúc của bộ lọc FIR sau đây:
Phương trình sai phân được thực hiện bởi một dãy liên tiếp các bộ trễ do không cóđường phản hồi:
y(n) = b0x(n) + b1X(n -1) + • • + bjM-1X(n - M +1) (1.6)
Do mẫu thức bằng đơn vị nên ta chỉ có một cấu trúc dạng trực tiếp duy nhất Cấu
trúc dạng trực tiếp được cho trong hình 1.2 với M = 5:
Hàm hệ thống H(z) được biến đổi thành các tích của các khâu bậc 2 với các hệ sốthực Các khâu này được thực hiện ở dạng trực tiếp và bộ lọc tổng thể có dạng ghéptầng của các khâu bậc 2
Trang 7c Cấu trúc dạng pha tuyến tính:
Đối với các bộ lọc chọn tần, người ta mong muốn có đáp ứng pha là hàm tuyến tínhtheo tần số, nghĩa là:
Đối với M lẻ: M = 7, còn đối với M chẵn: M = 6
Hình 1.4 Cấu trúc lọc FIR pha tuyến tính với các hệ số M chẵn và lẻ
Rõ ràng, với cùng một bậc của bộ lọc (cùng M) cấu trúc pha tuyến tính sẽ tiết kiệmđược 50% các bộ nhân so với cấu trúc dạng trực tiếp
Trang 81.3 Các đặc tính của bộ lọc FIR pha tuyến tính
Trong phần này chúng ta sẽ thảo luận về hình dạng của đáp ứng xung, đáp ứng tần
số trong hàm hệ thống của các bộ lọc FIR pha tuyến tính
Cho h(n), trong đó 0 < n < M - 1, là đáp ứng xung có chiều dài M thì hàm truyền hệthống là:
Chúng ta có thể đưa ra ràng buộc pha tuyến tính:
trong đó: a là một hằng số trễ pha Ta đã biết rằng h(n) phải đối xứng, nghĩa là:
Do đó h(n) là đối xứng theo a, là chỉ số đối xứng Có hai kiểu đối xứng:
M -1
• M lẻ: Trong trường hợp này, a = —2— là một số nguyên Đáp ứng xung
được mô tả trong hình 1.5 dưới đây:
Hình 1.5 Đáp ứng xung đối xứng, M lẻ
Trang 9I./-7O' m y 1 -V M^ 111/v 19‘1\ /* Ấ /V TA r
• M chẵn: Trong trường hợp này, a = —2— không phải là một sô nguyên Đáp
ứng xung được mô tả bằng hình 1.6 dưới đây:
Ta cũng có bộ lọc FIR pha tuyến tính loại hai nếu ta yêu cầu đáp ứng pha /H( e j
“)
thoả mãn điều kiện:
Đáp ứng pha là đường thẳng nhưng không đi qua gôc Trong trường hợp này a
không phải là hằng sô trễ pha, nhưng:
Đôi với kiểu pha tuyến tính này, có thể thấy rằng:
h(n) = - h(M - 1 - n), 0 < n < M - 1 và a = M-A, p = ±| (1.17)
Điều này có nghĩa rằng đáp ứng xung h(n) là phản đôi xứng (antisymmetric) Chỉ sô
Một lần nữa chúng ta lại có 2 kiểu, cho M lẻ và M chẵn
Symmetric Impulse Response: M even
Hình 1.6 Đáp ứng xdhg đối xứng, M chẵn
đôi xứng vẫn là
Trang 10được mô tả bằng hình 1.7 dưới đây:
Lưu ý rằng mẫu h(a) tại a = M2 1 phải bằng 0, nghĩa là, hí —2~- ì = 0
Để nghiên cứu các đáp ứng pha của các kiểu này, ta viết biểu thức của H(ej) như sau:
M lẻ: Trong trường hợp này, ơ = M 2-1 là một số nguyên Đáp ứng xung
Hình 1.7 Đáp ứng xung phản đối xứng, M lẻ
ứng xung được mô tả trong hình 1.8.
Hình 1.8 Đáp ứng xung phản đối xứng, M chẵn
Trang 11H(e j m ) = H r (e j m )e j( p-“m ) ; p = ±2,a = M 2~1
trong đó Hr (e ' “ ) là hàm đáp ứng độ lớn chứ không phải là hàm đáp ứng biên độ Đáp
ứng độ lớn là một hàm thực, có thể vừa dương vừa âm, không giống đáp ứng biên độluôn luôn dương Đáp ứng pha kết hợp với đáp ứng biên độ là một hàm không liên tục,trong khi kết hợp với đáp ứng độ lớn là một hàm tuyến tính liên tục
• Bộ lọc FIR pha tuyến tính Loại-1 (Type 1): Đáp ứng xung đối xứng, M lẻ
• Bộ lọc FIR pha tuyến tính Loại-2 (Type 2): Đáp ứng xung đối xứng, M chẵn
Trong trường hợp này p = 0, h( n ) = h( M -1 - n), 0 < n < M -1, nhưng a = —-—
không phải là một biến nguyên, thì ta có thể chứng tỏ rằng:
e - j©( M-1) /2
(1.19)
với
Trang 12, , ' TT /_x M4^_ 1 11 r Ằ
Lưu ý: Tại 0 = 2, ta có Hr(X) = £b( n ) cos<j đên2| n-— p = 0 mà không cân quan tâm
b(n) hoặc h(n) Do đó chúng ta không thể sử dụng loại này (h(n) đối xứng, M chẵn)
đối với bộ lọc thông cao hoặc bộ lọc chắn dải
• Lọc FIR pha tuyến tính Loại-3 (Type 3): Đáp ứng xung phản đối xứng, M lẻ
• Lọc FIR pha tuyến tính Loại-4(Type 4):Đáp ứng xung phản đối xứng, M chẵn
Trong trường hợp này 0 = 2’ h n) = — h M — 1 — n), 0 < n < M — 1, nhưng
không phải là một biên nguyên, thì ta có thể chứng tỏ rằng:
Trang 13Ý tưởng cơ bản của việc thiết kế là: chọn một bộ lọc chọn tần lý tưởng (mà đáp ứng
xung luôn luôn phi nhân quả, dài vô hạn) và cắt (lấy cửa sổ - window) đáp ứng xung của nó để thu được bộ lọc FIR có pha tuyến tính và nhân quả (linearphase and causal
FIR filter) Bởi vậy, điểm quan trọng trong phương pháp này là việc chọn một hàm
cửa sổ thích hợp và một bộ lọc lý tưởng tương ứng
Bộ lọc thông thấp lý tưởng (ideal LPF) có tần số cắt Wc < % được cho bởi:
Chú ý rằng h d (n) là đối xứng theo a, sự kiện này tiện dụng cho bộ lọc FIR có pha
tuyến tính Ngoài ra h d (n) có độ dài vô hạn và phi nhân quả.
Để thu được bộ lọc FIR có pha tuyến tính và nhân quả h(n) có độ dài M, ta cần có:
Trang 14Thao tác này được gọi là lấy cửa sổ (window) Tổng quát, đáp ứng xung h(n) có thể
có được bằng cách lấy đáp ứng xung của bộ lọc lý tưởng h d (n) nhân với hàm cửa sổ w(n) như sau:
Tuỳ thuộc vào cách định nghĩa hàm cửa sổ w(n) (window function) chúng ta có
những cửa sổ thiết kế khác nhau Chẳng hạn nếu dùng cửa sổ chữ nhật (Rectangular),thì hàm cửa sổ được định nghĩa:
z„x f 1, nếu 0<n < M-1
w(n) = <
[ 0,
n khác
Trong miền tần số, đáp ứng của lọc FIR nhân quả H(e" ') chính là tích chập vòng của
đáp ứng tần số bộ lọc lý tưởng H d (e! ' v ) và đáp ứng tần số của hàm cửa sổ W(e i ' v ) :
Hình dạng của H(è w ) có thể được mô tả trực quan trên hình 1.9 Từ hình vẽ này
chúng ta có một số nhận xét quan trọng sau đây:
(1.34)
Hình 1.9 Kết quả của việc lấy cửa sổ trong miền tần số
Trang 15• Do cửa sổ w(n) có chiều dài M hữu hạn, đáp ứng của nó có một búp chính
(main-lobe) có độ rộng tỷ lệ với 1/M, và các búp bên (side-lobe) của nó có
chiều cao thấp hơn
• Tích chập tuần hoàn sinh ra một phiên bản méo của đáp ứng xung lý tưởng
H d ( j ).
• Búp chính (main-lobeì) sinh ra một dải chuyển tiếp trong ì Ke "' " ) mà độ rộng
là
nguyên nhân tạo nên độ rộng dải chuyển tiếp (transition bandwidth) Độ rộng
này tỷ lệ với 1/M Độ rộng búp chính càng lớn thì độ rộng dải chuyển tiếpcàng lớn
• Các búp bên (side-lobes) sinh ra các gợn sóng có hình dạng như nhau trong cả
dải thông và dải chắn
Với các chỉ tiêu bộ lọc đã cho, chọn chiều dài bộ lọc và một hàm cửa sổ w(n) với độrộng main-lobe hẹp nhất và hệ số suy giảm side-lobe bé nhất có thể được Từ nhận xét
4 nêu trên ta chú ý rằng dung sai dải thông 51 và dung sai dải chắn ỗ2 không thể ấn
định một cách độc lập Ta lấy chung 51 = ỗ2
Tiếp theo chúng ta xem xét các hàm cửa sổ thường được dùng, bao gồm: cửa sổ chữnhật (Rectangular), cửa sổ tam giác (Bartlett), cửa sổ Hanning, cửa sổ Hamming, cửa
sổ Blackman và cửa sổ Kaiser
a Cửa sổ chữ nhật (Rectangular Window)
Trong miền n cửa sổ chữ nhật được định nghĩa như sau:
k 0 Các trường hợp khác
b Cửa sổ tam giác (Bartlett Window)
Với mục đích giảm biên độ của các đỉnh thứ cấp của cửa sổ chữ nhật, chúng ta chọnmột cửa sổ khác có dạng tam giác cân, gọi là cửa sổ tam giác hay cửa sổ Bartlett
Trong miền n cửa sổ tam giác được định nghĩa như sau:
Trang 16c Cửa sổ Hanning (Hanning Window)
Trang 17Trên hình 1.11 cho chúng ta một sự so sánh giữa các hàm cửa sổ thường dùng về
các đặc tính: độ rộng dải chuyển tiếp Aw, độ suy giảm ở dải chắn A s
Để đạt được độ suy giảm của dải chặn như mong muốn, các nhà thiết kế tìm mộthàm cửa sổ đáp ứng được các yêu cầu của thiết kế Nhưng các hàm cửa sổ có mức búpbên càng thấp thì độ rộng của búp chính lại càng lớn dẫn đến độ rộng dải chuyển tiếpcũng tăng Do đó phải tăng bậc của bộ lọc để đạt được dải thông mong muốn
Cửa sổ Kaiser có thông số |3 có thể điều chỉnh được, do vậy có thể điều chỉnh được
độ rộng búp bên so với đỉnh của búp chính Cũng giống các hàm cửa sổ khác, độ rộngbúp chính có thể thay đổi được bằng cách điều chỉnh chiều dài cửa sổ, do vậy điềuchỉnh được độ rộng của dải chuyển tiếp Với mục tiêu này, các bộ lọc số được thiết kếrất có hiệu quả khi dùng hàm cửa sổ Kaiser
Cửa sổ Kaiser được định nghĩa như sau:
Trong đó IO[.] là hàm Bessel bậc không được hiệu chỉnh (modified zero-order
Bessel function), còn [3 là tham số phụ thuộc vào bậc bộ lọc M và có thể chọn để có
được những độ rộng dải chuyển tiếp khác nhau cũng như có được độ suy giảm ở dảichặn là gần tối ưu Cửa sổ này có thể cung cấp những độ rộng dải chuyển tiếp khácnhau với cùng một hệ số M, đây là điều mà các hàm cửa sổ khác không làm được.Tuy nhiên, do tính phức tạp của hàm Bessel nên việc thiết kế bộ lọc với cửa sổKaiser không phải dễ dàng Thật may mắn là Kaiser đã phát triển những phương trình
thiết kế theo kinh nghiệm (empirical design equation) và chúng ta có thể sử dụng mà
không cần phải chứng minh
Phương trình thiết kế như sau: (đối với lọc thông thấp LPF)
• Cho trước các chỉ tiêu của bộ lọc cần thiết kế: W s , W p , R p và A s
• Độ rộng dải chuyển tiếp: Af = Ws ~™p
Trang 18(«J Kalser wlndows For r.1 = 0, 3 and 6 and ,w = 20 (tii Pouiteí
transiorms comesponding to wii)d0W3 in (31 (c| Fourier tranỉionms ũf Kalser
windđwíi witli f i' - 6 arìd 1! - 10, 20 árid 40,
Hình 1.12 Khảo sát đặc tính cửa sổ Kaiser
Để tổng kết phần này chúng ta cùng so sánh giữa các loại cửa sổ thông dụng thườngđược dùng, cũng như khảo sát sự tương ứng với cửa sổ Kaiser với hệ số 3 khác nhau,
như trên hình 1.13 dưới đây.
Ta có nhận xét rằng: Ngoại trừ cửa sổ Kaiser, đối với các loại cửa sổ khác thì độgợn sóng (ripple) ở dải thông và dải chắn là như nhau và không phụ thuộc vào bậc Mcủa bộ lọc, và chỉ có thể thay đổi bằng cách thay đổi hình dạng của cửa sổ (nghĩa làthay đổi loại cửa sổ sử dụng)
Trang 19COMPARISON 0F COMMONLY USED WIND0WS
Typc of
Wtndow
Peak Sĩde^Lơbe Amplitude (Retative)
Approximate Wìdth ơf Maĩn Lobc
0
Transítìon Wĩdth
of Equivalent Kaiser Window
Max passband & stopband deviations (ripple) are the same and not
dependent on M and can be changed only by changing the shape of the
window used.
Hình 1.13 So sánh giữa các loại cửa sổ được dùng
Thực hiện bằng Matlab: Matlab cung cấp sẵn các hàm (routine) để thực hiện các
hàm cửa sổ chúng ta vừa khảo sát Có thể mô tả ngắn gọn các hàm đó như sau:
trong mảng W
Trang 20Phần 2 THIẾT KẾ LỌC FIR THÔNG DẢI
2.1 Bài toán thiết kế
Hãy thiết kế bộ lọc FIR thông dải pha tuyến tính theo phương pháp cửa sổ, với cácchỉ tiêu bộ lọc cần thiết kế được cho như sau:
• Cạnh thấp của dải chắn: W s1
• Cạnh thấp của dải thông: W p1
• Cạnh cao của dải thông: W p2
• Cạnh cao của dải chắn: W s2
• Độ gợn sóng trong dải thông: R p
• Suy hao trong dải chắn: A s
Các đại lượng này có thể được mô tả trên hình 2.1 như sau:
Trang 21Có đến 6 loại cửa sổ khác nhau, trong đó ngoại trừ cửa sổ Kaiser có suy hao
trong dải chắn có thể đạt được bằng cách thay đổi hệ số |3 còn các cửa sổ khác có suyhao trong dải chắn là cố định
Ngoài ra bậc M của bộ lọc phụ thuộc vào độ rộng của dải chuyển tiếp Aw và phụ
thuộc vào loại cửa sổ được chọn Với cùng 1 chỉ tiêu thiết kế tức là cùng 1 giá trị độrộng dải chuyển tiếp Aw, bậc của bộ lọc sẽ khác nhau nếu chọn các cửa sổ khác nhau.
Bởi vậy việc chọn loại cửa sổ nào còn phụ thuộc vào quan điểm của người thiết
kế trên cơ sở dung hoà giữa việc đảm bảo được suy hao trong dải chắn theo đúng yêucầu bài toán và đảm bảo bậc bộ lọc đủ nhỏ
Tuy nhiên thông số được ưu tiên ở đây là suy hao A s, bởi sự thay đổi của bậc bộlọc M khi sử dụng các loại cửa sổ khác nhau là không nhiều lắm
Bước 2 Xác định bậc M của bộ lọc
• Nếu sử dụng cửa sổ Kaiser: M được tính theo nhóm công thức (1.42), cũng từ
công thức này ta tính được hệ số p
• Nếu sử dụng các cửa sổ khác: M được xác định nhờ vào quan hệ giữa M với độ
rộng dải chuyển tiếp Aw và có thể tính được dựa vào bảng tóm tắt được cho
trong hình 1.11.
Bước 3 Tìm hàm cửa sổ w(n)
Sử dụng các hàm có sẵn của Matlab với bậc bộ lọc M đã tìm được ở bước 2
Bước 4 Tìm đáp ứng xung của bộ lọc thông dải lý tưởng h d (n)
Đáp ứng xung của bộ lọc thông dải lý tưởng có thể tìm được trên cơ sở kết hợp
đáp ứng xung của 2 bộ lọc thông thấp lý tưởng theo như hình 2.2 sau đây:
Hình 2.2 Đáp ứng xung lọc thông dải lý tưởng từ 2 bộ lọc thông thấp lý tưởng