BỘ LỌC IIR VÀ BÀI TOÁN THIẾT KẾ
Giới thiệu chung về bộ lọc IIR
Bộ lọc IIR có khả năng đáp ứng xung vô hạn, cho phép chúng tương thích với các bộ lọc analog, vốn thường có đáp ứng xung dài vô hạn.
Kỹ thuật cơ bản trong thiết kế lọc IIR bao gồm việc chuyển đổi các bộ lọc analog nổi tiếng thành bộ lọc digital thông qua việc sử dụng ánh xạ giá trị-phức.
Sự thuận tiện của kỹ thuật này là ở chỗ có sẵn các bảng thiết kế lọc analog (AFD) và các ánh xạ được mở rộng trong thư viện
Các kỹ thuật cơ bản được gọi là các phép biến đổi lọc A/D
Các bảng AFD chỉ phù hợp cho các bộ lọc thông thấp, trong khi chúng ta cần thiết kế các bộ lọc chọn tần khác như thông cao, thông dải và chắn dải.
Để tối ưu hóa các bộ lọc thông thấp, cần áp dụng các phép biến đổi băng tần, hay còn gọi là ánh xạ giá trị-phức Những phép biến đổi này có sẵn trong thư viện, giúp cải thiện hiệu suất và chất lượng tín hiệu.
2.1 Cách 1, đƣợc sử dụng trong Matlab
2.2 Cách 2, đƣợc sử dụng để học tập, nghiên cứu
Thiết kế bộ lọc IIR
Thiết kế bộ lọc thông thấp analog
Nghiên cứu và áp dụng các phép biến đổi bộ lọc để thu được bộ lọc số thông thấp
Nghiên cứu và áp dụng các phép biến đổi băng tần để thu được các bộ lọc số khác từ bộ lọc số thông thấp
Các vấn đề tồn tại:
Không điều khiển các đặc tính pha của bộ lọc IIR
Các thiết kế lọc IIR chỉ xử lý như các thiết kế về biên độ.
Các đặc điểm sơ bộ
1 Tỉ lệ tuyến tính tương đối:
H a (jΩ) là đáp ứng tần số của bộ lọc tương tự
Các đặc trưng bộ lọc thông thấp trên đáp ứng bình phương biên độ được cho bởi:
ε là thông số gợn sóng dải thông
Ω P là tần số cắt dải thông (rad/s)
A là tham số suy hao dải chắn
Ω S là tần số cắt của dải chắn (rad/s)
Các thông số kỹ thuật của bộ lọc thông tấp Analog
Các hệ thức giữa ε , A, Rp, As, δ 1 và δ 2
Bộ lọc Analog được đặc trưng bởi các hệ số của đáp ứng bình phương độ lớn, nhưng không cung cấp thông tin về pha Để đánh giá hàm truyền hệ thống H a (s) trong miền-s, cần xem xét các yếu tố liên quan đến đáp ứng của bộ lọc.
Các điểm cực và điểm không của hàm bình phương biên độ được phân bố đối xứng theo trục jΩ Đối với các bộ lọc thực, các điểm này xuất hiện theo cặp liên hợp phức, thể hiện sự đối xứng ảnh-gương theo trục thực.
Từ các mẫu này chúng ta có thể xây dựng H a (s), là hàm truyền hệ thống của bộ lọc analog
Để biểu diễn một bộ lọc nhân quả và ổn định, ta cần Ha(s) với tất cả các điểm cực nằm trong nửa mặt phẳng bên trái Điều này đảm bảo rằng tất cả các điểm cực đều nằm ở nửa trái, giúp bộ lọc hoạt động ổn định và đáp ứng yêu cầu nhân quả.
Ha(s)Ha(-s) lên Ha(s) Hoặc chúng ta sẽ chọn các điểm không của Ha(s)Ha(-s) nằm bên cạnh hoặc trên trục jΩ như các điểm không của H a (s)
Bộ lọc kết quả được gọi là một bộ lọc pha-tối thiểu.
PHƯƠNG PHÁP THIẾT KẾ BỘ LỌC IIR
Các đặc trƣng của các bộ lọc Analog điển hình
Có ba kiểu bộ lọc Analog điển hình được sử dụng rộng rãi trong thực tế:
- Thông thấp Chebyshev (Kiểu I và II)
1 Bộ lọc thông thấp Butterworth:
Bộ lọc này được đặc trưng bởi tính chất đáp ứng biên độ là bằng phẳng trong cả dải thông và dải chắn
Đáp ứng bình phương-biên độ của bộ lọc thông thấp bậc-N:
Ω C là tần số cắt (rad/s)
Đồ thị đáp ứng bình phương-biên độ:
Từ đồ thị trên ta có nhận xét:
|H a (jΩc)| 2 =0.5 với mọi N (hệ số suy giảm 3dB ở Ω c )
|Ha(jΩ)| 2 đơn điệu giảm theo Ω
Tiến đến bộ lọc lý tưởng khi N → ∞
Xác định hàm truyền hệ thống Ha(s):
Nhận xét về các điểm cực của H s H a ( ) a (s):
Có 2N điểm cực được phân bố đều đặn trên đường tròn bán kính ΩC với khoảng cách góc π / N radians
Đối xứng theo trục ảo
Một điểm cực không bao giờ rơi vào trục ảo, và rơi vào trục thực chỉ nếu N là lẻ
Một bộ lọc ổn định và nhân quả H a (s) có thể được xác định thông qua việc chọn các điểm cực nằm trong nửa mặt phẳng trái H a (s) có thể được diễn đạt dưới dạng:
Để thiết kế một bộ lọc Analog Butterworth chuẩn hoá (ΩC = 1) bậc N
Để thiết kế một bộ lọc Analog Butterworth chưa chuẩn hoá với ΩC tùy ý, bậc N
Cung cấp một cấu trúc dạng trực tiếp với: b là tử thức, a là mẫu thức
Chuyển đổi dạng trực tiếp thành dạng ghép tầng
1.2 Các phương trình thiết kế:
Bộ lọc thông thấp analog được xác định bởi các thông số như P, R P, S và A S Một trong những lợi ích của thiết kế bộ lọc Butterworth là khả năng đạt được bậc N và tần số cắt C, giúp tối ưu hóa hiệu suất lọc.
Giải 2 phương trình trên ta thu được:
- Để đáp ứng thông số kỹ thuật tại P :
- Để đáp ứng thông số kỹ thuật tại S :
Hàm [b,a] = afd_butt(Wp,Ws,Rp,As)
Để thiết kế bộ lọc thông thấp analog Butterworth, cho bởi các chỉ tiêu của nó
Hàm [db,mag,pha,w] = freqs_m(b,a,wmax)
Đáp ứng biên độ tuyệt đối cũng như tương đối theo thang dB và đáp ứng pha
Đáp ứng xung ha(t) của bộ lọc Analog
Trong phần tiếp theo, chúng tôi sẽ giới thiệu một số bộ lọc thông thấp điển hình khác như Chebyshev và Elliptic Tuy nhiên, do giới hạn của tiểu luận này, chúng tôi sẽ không phân tích sâu như đã làm với bộ lọc Butterworth.
2 Bộ lọc thông thấp Chebyshev:
- Các bộ lọc Chebyshev-I: Có đáp ứng cân bằng gợn sóng trong dải thông
- Các bộ lọc Chebyshev-II: Có đáp ứng cân bằng gợn sóng trong dải chắn
- Các bộ lọc Butterworth: Có đáp ứng đơn điệu trong cả hai dải
- Lưu ý rằng chọn một bộ lọc cân bằng gợn sóng thay vì bộ lọc đơn điệu, ta thu được một bộ lọc có bậc-thấp
Vì vậy các bộ lọc Chebyshev cho bậc thấp hơn so với các bộ lọc Buttworth có cùng chỉ tiêu
Đáp ứng bình phương biên độ:
Trong đó: N là bậc bộ lọc ε là hệ số gợn sóng dải thông
Với 0 < x < 1, T N (x) dao động giữa –1 và 1
Với 1 < x < ∞, T N (x) tăng đơn điệu đến vô cùng
Hai dạng đồ thị của đáp ứng bình phương-biên độ (N lẻ và N chẵn)
Tại 0 ≤ x ≤ 1 (hoặc 0 ≤ Ω ≤ Ω C ), H a (jx) 2 dao động giữa 1 và 1 2
Tại x > 1 (hoặc Ω > ΩC), H a (jx) 2 giảm đơn điệu về 0
H a (s) nhân quả và ổn định: Để xác định một hàm Ha(s) nhân quả và ổn định, ta phải tìm các điểm cực của
H a (s)H a (-s) và chọn các điểm cực nửa mặt phẳng-trái đối với Ha(s)
Các điểm cực H a (s)H a (-s) thu được bằng cách tìm nghiệm của:
Có thể chỉ ra rằng nếu p k k j k ,k0,1, ,N1 là nghiệm (nửa mặt phẳng trái) của đa thức trên thì:
Các điểm cực rơi trên một ellipse với trục chính bΩc và trục phụ aΩc
Với K là một hệ số chuẩn hóa được chọn để:
Để thiết kế một bộ lọc analog chuẩn hoá Chebyshev-I analog có bậc N và gợn sóng dải thông Rp
p mảng các điểm cực trong p
Hàm [b,a] = u_chb1ap(N,Rp,Omegac)
Trả lại Ha(s) theo dạng trực tiếp
Các phương trình thiết kế:
Cho Ωp, Ωs, Rp và As, ba tham số được yêu cầu để xác định một bộ lọc Chebyshev-I
Thi hành trên Matlab dùng hàm [b,a] = afd_chb1(Wp,Ws,Rp,As)
Liên quan đến bộ lọc Chebyshev-I thông qua một phép biến đổi đơn giản
Bộ lọc này sở hữu dải thông đơn điệu cùng với dải chắn cân bằng gợn sóng, thể hiện sự hiện diện của cả các điểm cực và điểm không trong mặt phẳng-s.
Các đặc trưng trễ nhóm thể hiện hiệu suất tốt hơn và đáp ứng pha tuyến tính hiệu quả hơn trong dải thông so với bộ lọc Chebyshev-I prototype Điều này được thể hiện qua đáp ứng bình phương biên độ.
Function [b,a] = u_chb2ap(N,As,Omegac)
Function [b,a] = afd_chb2(Wp,Ws,Rp,As)
3 Bộ lọc thông thấp Ellipic:
Các bộ lọc này thường có khả năng cân bằng gợn sóng ở cả dải thông và dải chắn, với các đặc trưng đáp ứng biên độ tương tự như các bộ lọc FIR.
Vì vậy các bộ lọc elliptic là các bộ lọc tối ưu trong đó đạt được bậc tối thiểu N đối với các chỉ tiêu đã cho
Các bộ lọc này, vì nhiều lý do đã xét trước đây, là rất khó để phân tích và thiết kế
Không thể thiết kế chúng bằng các công cụ đơn giản, và thường phải dùng các chương trình hoặc bảng để thiết kế Đáp ứng bình phương biên độ:
U N () là hàm Jacobian elliptic bậc-N
Hai dạng đồ thị của đáp ứng bình phương-biên độ (N lẻ và N chẵn)
Tính toán cho bộ lọc bậc N:
Hàm [b,a] = u_ellipap(N,Rp,As,Omegac)
Hàm [b,a] = afd_elip(Wp,Ws,Rp,As)
Analog Lowpass Filter Design: Elliptic
4 Các đáp ứng pha của các bộ lọc điển hình:
Bộ lọc Elliptic cung cấp hiệu suất tối ưu về đáp ứng bình phương-biên độ, nhưng lại có đáp ứng pha phi tuyến trong dải thông, điều này khiến nó không phù hợp cho nhiều ứng dụng.
Ngay cả khi chúng ta quyết định không lo lắng gì đến đáp ứng pha trong thiết kế, pha vẫn giữ vai trò quan trọng trên toàn hệ thống
Đối với các bộ lọc Buttworth , có đáp ứng biên độ bằng phẳng tối đa và đòi hỏi bậc
N cao hơn (nhiều điểm cực hơn) để đạt được cùng một chỉ tiêu dải chắn Tuy nhiên chúng có một đáp ứng pha không tuyến tính trong dải thông
Các bộ lọc Chebyshev có các đặc tính pha nằm ở giữa
Vì vậy trong các ứng dụng thực tế chúng ta xem xét các bộ lọc Butterworth cũng như Chebyshev, cộng thêm các bộ lọc elliptic
Việc lựa chọn bộ lọc phụ thuộc vào bậc của nó, điều này thường ảnh hưởng đến tốc độ xử lý và độ phức tạp trong thực hiện Đồng thời, các đặc tính pha cũng cần được xem xét để kiểm soát độ méo.
Các phép biến đổi bộ lọc tương tự thành bộ lọc số
Sau khi khảo sát các tiếp cận khác nhau để thiết kế các bộ lọc tương tự , chúng ta sẵn sàng biến đổi chúng thành bộ lọc số
Các phép biến đổi này đạt được bằng cách bảo toàn các aspects khác nhau của các bộ lọc tương tự và lọc số
- Biến đổi bất biến xung
→ Bảo toàn hình dang của đáp ứng xung từ lọc tương tự thành lọc số
- Kỹ thuật xấp xỉ sai phân hữu hạn
→ Chuyển đổi biểu diễn một phương trình vi phân thành một phương trình sai phân tương ứng
→ Bảo toàn hình dạng của đáp ứng bước nhảy
- Biến đổi song tuyến tính
Bảo toàn biểu diễn hàm hệ thống từ miền tương tự sang miền số là một khía cạnh quan trọng trong phân tích hệ thống Phần này tập trung vào hai loại biến đổi chính: biến đổi bất invariant xung và biến đổi song tuyến tính, nhằm đảm bảo tính chính xác và hiệu quả trong việc chuyển đổi các hàm hệ thống.
1 Biến đổi bất biến xung:
Trong phương pháp này chúng ta muốn đáp ứng xung của bộ lọc số trông tương tự như đáp ứng xung của bộ lọc chọn tần analog
Lấy mẫu h a (t) ở các chu kỳ lấy mẫu T ta thu được h(n):
T được chọn sao hình dạng của h a (t) được giữ bởi mẫu, lúc này: j j T
Do z e j trên đường tròn đơn vị và s j trên trục ảo, ta có phép biến đổi sau đây từ mặt phẳng-s sang mặt phẳng-z: z e sT
Quan hệ giữa hàm hệ thống H(z) và H a (s) trong miền tần số:
Ánh xạ mặt phẳng phức trong phép biến đổi bất biến xung
σ < 0, ánh xạ vào |z| < 1 (bên trong đường tròn đơn vị)
σ = 0, ánh xạ vào |z| = 1 (trên đường tròn đơn vị )
σ > 0, ánh xạ vào |z| > 1 (bên ngoài đường tròn đơn vị)
Ánh xạ nhiều s lên một z : Ánh xạ many-to-one
Mỗi dải bán-vô hạn bên trái (nằm bên mặt phẳng trái) ánh xạ vào bên trong đường tròn đơn vị
Tính nhân quả và ổn định là không thay đổi;
Aliasing (sai số lấy mẫu) xuất hiện nếu bộ lọc không có băng tần-hữu hạn
Để xác định H(z) với các chỉ tiêu wp, ws, Rp, As, chúng ta cần thiết kế một bộ lọc analog tương đương trước, sau đó chuyển đổi nó thành bộ lọc số mong muốn Các bước thực hiện bao gồm việc thiết lập các thông số cần thiết và áp dụng quy trình ánh xạ hiệu quả.
1 Chọn T và xác định các tần số analog: P p and S s
2 Thiết kế một bộ lọc analog Ha(s) sử dụng các đặc tính của một trong ba bộ lọc điển hình trong phần trước
3 Sử dụng phép khai triển riêng phần, khai triển H a (s) thành:
4 Biến đổi các điểm cực analog p k thành các điểm cực số e p T k để thu được bộ lọc số:
b = các hệ số ở tử thức của H(Z)
a = các hệ số ở mãu thức của H(Z)
c = các hệ số ở tử thức của Ha(S)
d = các hệ số ở mãu thức của Ha(S)
Các thuận lợi và bất lợi của ánh xạ bất biến xung:
- Đây là một thiết kế ổn định và các tần số Ω và ω có quan hệ tuyến tính
- Bất tiện: Gặp phải aliasing (sai số lấy mẫu) ở đáp ứng tần số analog, và đôi khi aliasing này là ko chấp nhận đc
Phương pháp thiết kế này chỉ hiệu quả khi bộ lọc analog có băng tần hữu hạn được chuyển đổi thành bộ lọc thông thấp hoặc thông dải mà không có dao động trong dải chắn.
2 Biến đổi song tuyến tính: Ánh xạ này là phương pháp biến đổi tốt nhất
Ở đây T là một tham số Một tên gọi khác của phép biển đổi này là Biến đôi phân tuyến tính (linear fractional) vì ta có: 1 0
Tuyến tính của hàm T T sz s z thể hiện rằng mỗi biến (s hoặc z) có thể được coi là tuyến tính khi biến còn lại được giữ cố định, hoặc là song tuyến tính đối với cả hai biến s và z Điều này cho thấy ánh xạ mặt phẳng phức trong phép biến đổi song tuyến tính rất quan trọng trong việc phân tích các mối quan hệ giữa các biến.
σ < 0, ánh xạ vào |z| < 1 (bên trong đường tròn đơn vị) σ = 0, ánh xạ vào |z| = 1 (trên đường tròn đơn vị ) σ > 0, ánh xạ vào |z| > 1 (bên ngoài đường tròn đơn vị)
Toàn bộ mặt phẳng-nửa trái ánh xạ vào bên trong vòng tròn đơn vị Đây là phép biến đổi ổn định
Trục ảo ánh xạ lên đường tròn đơn vị là ánh xạ 1-1 Do đó không có aliasing trong miền tần số
Quan hệ của ω theo Ω là phi tuyến
Với các chỉ tiêu đã cho của bộ lọc số wp, ws, Rp, As, chúng ta cần xác định H(z) Các bước như sau:
1 Chọn một giá trị T tuỳ ý, và có thể đặt T = 1
2 Chuyển đổi các tần số cắt ωp và ωs, nghĩa là tính toán Ωp và Ωs sử dụng:
3 Thiết kế một bộ lọc thông thấp Ha(s) phù hợp các chỉ tiêu này
Và nhận được H(z) là một hàm hữu tỉ theo z -1
b = các hệ số ở tử thức của H(Z)
a = các hệ số ở mẫu thức của H(Z)
c = các hệ số ở tử thức của Ha(S)
d = các hệ số ở mẫu thức của Ha(S)
Fs = tần số lấy mẫu
Các thuận lợi của biến đổi song tuyến tính:
- Là một thiết kế ổn định
- Không bị aliasing (sai số lấy mẫu)
- Không ràng buộc về kiểu bộ lọc có thể biến đổi được
Chúng ta đã thiết kế bộ lọc số bằng cách sử dụng ba loại bộ lọc analog phổ biến: Butterworth, Chebyshev và Elliptic Hiện tại, chúng ta sẽ tiến hành so sánh hiệu quả hoạt động của các bộ lọc này Thông số kỹ thuật được sử dụng trong quá trình so sánh bao gồm tần số cắt wp = 0.2π, độ gợn cho phép Rp = 1 dB, tần số dừng ws = 0.3π và độ suy giảm As = 15 dB.
Bộ lọc Ellipic nổi bật với thiết kế tối ưu, thể hiện bậc N nhỏ nhất và giá trị min(As) lớn nhất Khi so sánh về đáp ứng pha, thiết kế Ellipic cho thấy tính phi tuyến rõ rệt trong toàn dải thông.
Biến đổi băng tần
Mục đích của phương pháp này là để thiết kế các bộ lọc chọn tần khác nhau:
- Các bộ lọc thông cao
- Các bộ lọc thông dải
- Các bộ lọc chắn dải Bằng cách sử dụng các kết quả của lọc thông thấp và phép biến đổi băng tần
Phép biến đổi băng tần:
Gọi H LP (Z) là bộ lọc số prototype lowpass đã cho, và gọi H(z) là bộ lọc số chọn tần được mong muốn Xác định một ánh xạ theo công thức:
Giả sử HLP(Z) là một bộ lọc ổn định và nhân quả, ta muốn rằng H(z) cũng ổn định và nhân quả Điều này dẫn đến các yêu cầu sau:
1 G(.) phải là một hàm hữu tỉ theo z -1 sao cho H(z) là thi hành được
2 Đường tròn đơn vị của mặt phẳng-Z phải ánh xạ lên đường tròn đơn vị của mặt phẳng-z
3 Để cho các bộ lọc ổn định, bên trong đường tròn đơn vị của mặt phẳng-Z cũng phải ánh xạ lên bên trong đường tròn đơn vị của mặt phẳng-z
Các thông số kỹ thuật của bộ lọc chọn tần bao gồm việc thiết lập ω’ và ω là biến tần số của Z và z, với Z = e^(jω') và z = e^(jω) trên đường tròn đơn vị tương ứng Điều này đáp ứng hai yêu cầu cơ bản đầu tiên trong việc thiết kế bộ lọc.
Công thức tổng quát của hàm G(.) để thoả mãn các yêu cầu trên là một hàm hữu tỉ của kiểu toàn-thông (all-pass type) được cho bởi:
(để đáp ứng yêu cầu 3)
Bằng cách lựa chọn một xấp xỉ bậc n cùng với các hệ số k, chúng ta có thể tạo ra nhiều ánh xạ khác nhau Công thức phổ biến nhất cho các phép biến đổi này được trình bày trong bảng dưới đây.
Biến đổi tần số cho các bộ lọc, đặc biệt là bộ lọc thông thấp nguyên mẫu với tần số cắt ω c, là một bước quan trọng trong thiết kế bộ lọc số Quy trình thiết kế bộ lọc số chọn tần bao gồm nhiều bước cụ thể, giúp đảm bảo hiệu suất và độ chính xác của bộ lọc trong các ứng dụng thực tế.
1 Các chỉ tiêu bộ lọc số-chọn tần (LP, HP, BP, BS)
2 Chỉ tiêu bộ lọc số thông thấp tính từ các chỉ tiêu ở trên
3 Chỉ tiêu bộ lọc Analog prototype
4 Tính toán và thiết kế bộ lọc thông thấp Analog prototype (4 kiểu)
5 Dùng các phép biến đổi chuyển thành bộ lọc thông thấp số
6 Biến đổi băng tần bộ lọc số LP thành bộ lọc số-chọn tần mong muốn.
CHƯƠNG TRÌNH THIẾT KẾ
Tính toán thiết kế
Cho bộ lọc thông thấp có thông số như sau:
- Chọn chu kỳ lấy mẫu T = 1
- Thiết kế bộ lọc H a (s) thỏa mãn chỉ tiêu này:
Tính bậc bộ lọc và tần số cắt:
Ta có thể chọn C ở giữa 2 giá trị trên, chọn C 1.08 (rad s/ )
Suy ra đáp ứng bình phương biên độ:
Trong đó s 11 ,s 12 s 29 ,s 30 là nghiệm của mẫu thức H s H a ( ) a (s) nửa mặt phẳng bên trái
Như vậy ta đã nhận được H(z) là một hàm hữu tỉ theo z -1 Phần tiếp theo sẽ giới thiệu về thuật toán và chương trình thực hiện
Thuật toán giải quyết bài toán
MỞ RỘNG Đưa tín hiệu vào x với
Phân tích phổ tín hiệu x và y dùng biến đổi FFT
- - Tín hiệu vào theo thời gian
- - Tín hiệu ra theo thời gian
Biến đổi song tuyến tính thu đƣợc H(z)
- Dạng trực tiếp: [ , ]b a bilinear cs ds F( , , S )
- Dạng ghép tầng: [ , , ]C B A dir cas b a2 ( , )
Tính đáp ứng biên độ
[db mag pha grd w, , , , ] freqz m b a_ ( , )
Tính giá trị As và Rp thực tế
- Vẽ mặt phẳng nghiệm phức s-plane và z-plane
- Vẽ đáp ứng biên độ, pha của bộ lọc thiết kế
Chương trình Matlab
1 Các hàm sử dụng trong chương trình:
Hàm [cs,ds] = afd_butt(OmegaP,OmegaS,Rp,As) Để thiết kế bộ lọc thông thấp analog Butterworth, cho bởi các chỉ tiêu của nó
Hàm [b,a] = u_buttap(N,Omegac) (sử dụng bên trong hàm afd_butt) Để thiết kế một bộ lọc Analog Butterworth chưa chuẩn hoá với ΩC tùy ý, bậc N function [b,a] = u_buttap(N,Omegac);
% Unnormalized Butterworth Analog Lowpass Filter Prototype % - % [b,a] = u_buttap(N,Omegac);
% b = numerator polynomial coefficients of Ha(s) % a = denominator polynomial coefficients of Ha(s) % N = Order of the Butterworth Filter
% Omegac = Cutoff frequency in radians/sec %
B = real(poly(z)); b0 = k; b = k*B; a = real(poly(p)); function [b,a] = afd_butt(Wp,Ws,Rp,As);
% Analog Lowpass Filter Design: Butterworth % - % [b,a] = afd_butt(Wp,Ws,Rp,As);
In the context of filter design, the numerator coefficients of Ha(s) are represented by %b, while the denominator coefficients are denoted by %a The passband edge frequency, Wp, must be greater than zero and is measured in radians per second Additionally, the stopband edge frequency, Ws, should exceed Wp and also be greater than zero Furthermore, the passband ripple, Rp, is expressed in positive decibels, indicating that Rp must be greater than zero.
In signal processing, stopband attenuation (As) must be greater than 0 dB, and the passband edge (Wp) must also be greater than 0 Additionally, the stopband edge (Ws) should exceed the passband edge to ensure proper filter design It is crucial that both the passband ripple (Rp) and stopband attenuation (As) are positive values to maintain filter performance.
N = ceil((log10((10^(Rp/10)-1)/(10^(As/10)-1)))/(2*log10(Wp/Ws))); fprintf('\n*** Butterworth Filter Order = %2.0f \n',N) OmegaC = Wp/((10^(Rp/10)-1)^(1/(2*N)));
Hàm [b,a] = bilinear(cs,ds,Fs)
Biến đổi song tuyến tính là phương pháp chuyển đổi hàm truyền H a (s) thành H(z), trong đó b là các hệ số ở tử thức của H(z), a là các hệ số ở mẫu thức của H(z), cs là các hệ số ở tử thức của Ha(s), và ds là các hệ số ở mẫu thức của Ha(s).
Fs = tần số lấy mẫu
Hàm [db,mag,pha,grd,w] = freqz_m(b,a);
Để phân tích hệ thống H(z) với hệ số tử b và hệ số mẫu a, ta cần tính toán các yếu tố như biên độ tương đối (dB), biên độ tuyệt đối, pha, nhóm trễ và dải mẫu tần số Những thông số này giúp đánh giá hiệu suất và đặc tính của hệ thống trong lĩnh vực xử lý tín hiệu.
Hàm [C,B,A] = dir2cas(b,a): Chuyển đổi dạng trực tiếp thành dạng ghép tầng function [b0,B,A] = dir2cas(b,a);
%DIRECT-form to CASCADE-form conversion (cplxpair version)
%B= K by 3 matrix of real coefficient
%A= K by 3 matrix of real coefficient
%b = numerator polynomial coefficient of DIRECT form
%a = numerator polynomial coefficient of DIRECT form
% compute gain coefficient b0 b0 = b(1); b = b/b0; a0 = a(1); a = a/a0; b0 = b0/a0; function [db,mag,pha,grd,w]=freqz_m(b,a);
% Modified version of freqz subroutine %
% [db,mag,pha,grd,w]=freqz_m(b,a);
% db=Relative magnitude in dB computed over 0 to pi radians % magsolute magnitude computed over 0 to pi radians % grd= Group delay over 0 to pi radians
% wP1 frequency samples between 0 to pi radians % b=numerator polynomial of H(z) (for FIR: a=h) % aonitor polynomial of H(z) (for FIR: a=[1]) %
H=(H(1:1:501))';w=(w(1:1:501))'; mags(H); db *log10((mag+eps)/max(mag)); pha=angle(H); grd=grpdelay(b,a,w);
Hàm [bz,az] = zmapping(bZ,aZ,Nz,Dz) được sử dụng để chuyển đổi băng tần, giúp tạo ra các bộ lọc chọn tần khác từ bộ lọc thông thấp đã được thiết kế.
Hàm [ha,x,t] = impulse(cs,ds): Đáp ứng xung ha(t) của bộ lọc Analog
Lọc tín hiệu x qua hệ thống H(z) có hệ số tử thức là b, hệ số mẫu thức là a
y là tín hiệu thu được sau khi lọc
Biến đổi Fourier nhanh tín hiệu x với n điểm
Ở đây ứng dụng để phân tích phổ tín hiệu vào ra
Hàm zplane(num,den): vẽ điểm zeros và điểm poles trên mặt phẳng phức
Hàm freqz(b,a): vẽ đáp ứng biên độ (dB) và đáp ứng pha (độ)
M = length(b);N = length(a); if N > M b=[b zeros(1,N-M)]; elseif M > N a=[a zeros(1,M-N)];N=M; else NM=0; end
% K=floor(N/2);B = zeros(K,3);A = zeros(K,3); if K*2 == N; b=[b 0]; a=[a 0]; end
% broots = cplxpair(roots(b)); aroots = cplxpair(roots(a)); for i=1:2:2*K Brow = broots(i:1:i+1,:);
2 Chương trình: clear all close all clc
% Nhập các thông số kỹ thuật wp = input(' - Tan so cat canh dai thong wp = '); ws = input(' - Tan so cat canh dai chan ws = ');
As = input(' - Suy hao dai chan As = ');
Rp = input(' - Do gon song dai thong Rp = ');
T = 1/Fs; f_pass = wp*Fs/2/pi; f_stop = ws*Fs/2/pi; fprintf('\nDai chuyen tiep: [%5.1f,%5.1f]Hz\n',f_pass,f_stop);
[cs,ds] = afd_butt(OmegaP,OmegaS,Rp,As);
%% Biến đổi song tuyến tính
[db,mag,pha,grd,w]=freqz_m(b,a);
Asd = floor(-max(db(ws/delta_w+1:500))) Rpd = -min(db(1:wp/delta_w+1))
TH = TH1+TH2+TH3+TH4;
%% Lọc tín hiệu y = filter(b,a,TH); % y là tín hiệu ra
%% Phân tích phổ tín hiệu spec_ins(fft(TH,512)); spec_in = spec_in(1:257); % chỉ lấy 1 nửa spec_outs(fft(y,512)); spec_out = spec_out(1:257); f = Fs*[0:256]/512;
%% Mat phang nghiem phuc figure(1) subplot(2,1,1); zplane(cs,ds); title('s-plane','fontsize',12); subplot(2,1,2); zplane(b,a); title('z-plane','fontsize',12);
The article discusses the plotting of system responses using MATLAB, specifically focusing on the magnitude response, magnitude in decibels, and impulse responses for both analog and digital systems It outlines the creation of a 2x2 subplot layout where the first plot illustrates the magnitude response with appropriate axis labels and gridlines The second subplot presents the magnitude in decibels, also formatted with specific axis settings The third subplot showcases the analog impulse response, while the fourth features the digital impulse response represented by stems Finally, the article notes the use of the `freqz` function for visualizing the frequency response, emphasizing the importance of clear labeling and grid inclusion for effective data representation.
To visualize the input and output signals, we set the sample size to 100 and utilize subplots for clear representation The first subplot displays the input signal, titled 'Input Signal', with appropriately adjusted axes to enhance visibility The second subplot illustrates the output signal, labeled 'Output Signal', ensuring that both plots maintain consistent axis limits for accurate comparison This approach effectively highlights the relationship between the input and output signals in the analysis.
The article discusses the process of plotting the frequency spectrum of both input and output signals using subplots in a graphical representation In subplot (2,2,3), the spectrum of the input signal is displayed with the x-axis labeled as 'Frequency (Hz)' and the y-axis as 'Magnitude', while the axis is set to range from 0 to half the sampling frequency (Fs/2) The x-ticks are manually defined to include specific frequency values Similarly, subplot (2,2,4) presents the spectrum of the output signal with the same axis labeling and settings, ensuring a coherent comparison between the input and output signals.
- Tan so cat canh dai thong wp = 0.5*pi
- Tan so cat canh dai chan ws = 0.6*pi
- Suy hao dai chan As = 50
- Do gon song dai thong Rp = 0.5
Do rong dai tan chuyen tiep: [250.0, 300.0]Hz
Ta tính được tần số cắt của bộ lọc này là fc = 256.9Hz
Quan sát phổ của tín hiệu, ta thấy đầu vào tổ hợp gồm 4 thành phần có tần số lần lượt là 150Hz, 200Hz, 280Hz, 350Hz
Bộ lọc thông thấp với tần số cắt fc = 256.9Hz cho phép tín hiệu ở tần số 150Hz và 200Hz đi qua, trong khi các tín hiệu khác bị chặn Điều này có thể được quan sát rõ ràng qua phổ tín hiệu đầu ra.
4 Mô phỏng bằng simulink: Ở cửa sổ command, gõ simulink, tạo một file mới và thiết kế sơ đồ như hình dưới đây
Các khối trong sơ đồ trên:
Ta dùng khối này để thiết kế bộ lọc IIR Butterworth có các thông số wp = 0.5*pi, ws = 0.6*pi, As = 60dB, Rp = 0.5dB
Tín hiệu 1: Tín hiệu sin rời rạc có tần số 350Hz, Fs = 1000sam/s
Tín hiệu 2: Tín hiệu sin rời rạc có tần số 150Hz, Fs = 1000sam/s
Tín hiệu 3: Tín hiệu rời rạc có tần số biến thiên liên tục trong khoảng 50Hz đến 400Hz, Fs = 1000sam/s
- Cho 3 tín hiệu vào bộ cộng làm tín hiệu đầu vào của bộ lọc IIR
- Hai khối phân tích tín hiệu đầu vào và đầu ra
Chạy mô phỏng ta thu được kết quả như sau:
Hình trên gồm có 3 đồ thị:
- Tín hiệu vào theo thời gian (s)
Mật độ công suất phổ biên độ Mag 2 /(rad/s) thể hiện sự hiện diện của ba thành phần tín hiệu với ba tần số khác nhau Qua đồ thị, chúng ta có thể nhận thấy rõ ràng mật độ công suất phổ tương ứng với ba giá trị tần số này, được biểu diễn bằng đơn vị rad/s.
350Hz ↔ 2199rad/s 150Hz ↔ 942.5rad/s Tín hiệu còn lại có tần số biến thiên theo thời gian
Bộ lọc này có tần số cắt fc = 256.9Hz, cho phép tín hiệu 150Hz đi qua trong khi chặn lại hai tín hiệu còn lại.
Dựa vào đồ thị, có thể nhận thấy rằng chỉ còn lại phổ tín hiệu với tần số 150Hz, và dạng tín hiệu trong miền thời gian thể hiện dưới dạng sóng sin.
ĐÁNH GIÁ KẾT QUẢ - KẾT LUẬN
Chỉ tiêu kỹ thuật
Đáp ứng được các thông số kỹ thuật như yêu cầu ( P , S ,A R S , P )
Để đạt được cùng một chỉ tiêu dải chắn, cần sử dụng bậc N cao hơn với đáp ứng biên độ bằng phẳng tối đa và nhiều điểm cực hơn Mặc dù đáp ứng pha không tuyến tính trong dải thông, nhưng khi xem xét đồ thị đáp ứng pha, ta nhận thấy pha gần như tuyến tính.
Nhờ áp dụng phương pháp biến đổi song tuyến tính (phương pháp biến đổi tốt nhất) nên bộ lọc số thu được:
- Đáp ứng tốt các chỉ tiêu kỹ thuật
- Không có aliasing (sai số lấy mẫu) trong miền tần số
- Bộ lọc thiết kế là ổn định (các điểm cực đều nằm trong đường tròn đơn vị z-plane)
- Tuy nhiên quan hệ giữa ω theo Ω là phi tuyến.
Chất lƣợng lọc thực tế
Quan sát quá trình mô phỏng với tín hiệu vào ở trên, ta nhận thấy bộ lọc thiết kế hoạt động tương đổi tốt
Việc đáp ứng biên độ bằng phẳng trong cả hai dải giúp duy trì độ chính xác của tín hiệu, tránh gây méo mó khi tín hiệu đi qua dải thông và đảm bảo không làm suy giảm tín hiệu theo tiêu chí đã đặt ra.
Tuy nhiên chúng ta vẫn quan sát thấy tín hiệu ra bị trễ pha so với tín hiệu vào…