Do pha θω tuyến tính nên ta giả sử pha có dạng theo phương trình tuyến tính như sau: 1.5Bây giờ chúng ta sẽ đi tổng hợp bộ lọc số FIR pha tuyến tính có nghĩa là xácđịnh đáp ứng biên độ
Trang 1MỤC LỤC
Chương 1 KHÁI NIỆM TỔNG HỢP BỘ LỌC SỐ FIR
1.1 Khái niệm tổng hợp bộ lọc số FIR
• Một hệ thống dùng làm biến dạng sự phân bố tần số của các thành phần củamột tín hiệu theo các chỉ tiêu đã cho được gọi là bộ lọc số
• Các thao tác của xử lý dùng để biến dạng sự phân bố tần số của các thànhphần của một tín hiệu theo các chỉ tiêu đã cho nhờ một hệ thống số được gọi
là sự lọc số
Các giai đoạn của quá trình tổng hợp lọc số:
- Xác định h(n) sao cho thỏa mãn các chỉ tiêu kỹ thuật đề ra
- Lượng tử hóa các thông số bộ lọc
- Kiểm tra, chạy thử trên máy tính
• Trong chương trình Tổng hợp Lọc số chỉ xét đến giai đọan đầu, tức là xácđịnh h(n) sao cho thỏa mãn các chỉ tiêu kỹ thuật đề ra, thông thường các chỉ tiêucho trước là các thông số của Đáp ứng tần số
Trang 21.2 Các tính chất tổng quát của bộ lọc số FIR
Bộ lọc số FIR luôn ổn định
Do độ dài L[h(n)]=N:
Nếu h(n) không nhân quả, dịch h(n) sang phải n0 đơn vị thành h(n-n0), nhưngđáp ứng biên độ vẫn không đổi:
1.3 Các đặc trưng cơ bản của bộ lọc số FIR
Ta có khi bộ lọc số FIR có đáp ứng xung có chiều dài hữu hạn nghĩa là:
(1.1)Nếu biểu diễn trong miền z ta có hàm truyền đạt của bộ lọc số pha tuyến tính theođịnh nghĩa biến đổi z sẽ có dạng:
(1.2)Nếu biểu diễn trong miền tần số ω theo biến đổi Fourier ta có đáp ứng tần số:
(1.3)Mặt khác trong miền tần số ω khi biểu diễn đáp ứng tần số theo độ lớn và pha tacó:
Trang 3Do pha θ(ω) tuyến tính nên ta giả sử pha có dạng theo phương trình tuyến tính như
sau:
(1.5)Bây giờ chúng ta sẽ đi tổng hợp bộ lọc số FIR pha tuyến tính có nghĩa là xácđịnh đáp ứng biên độ tần số của bộ lọc số và xét xem với đáp ứng biên độ tần sốtìm được có thỏa mãn các chỉ tiêu kỹ thuật bộ lọc số đặt ra hay không Cần nhắc lại
là các chỉ tiêu kỹ thuật của bộ lọc số thực tế đã được đề ra trong chương 3 với 4tham số chính
+ Tần số giới hạn dải thông ωp + Độ gợn sóng dải thông δ1
+ Tần số giới hạn dải thông ωs + Độ gợn sóng dải thông δ2
Đối với bộ lọc số FIR pha tuyến tính, căn cứ vào dạng pha đã cho ở (1.5) ta sẽnghiên cứu hai trường hợp:
Trang 4Đồng nhất (1.6) và (1.7) ta thấy đây là 2 số phức, muốn bằng nhau thì phần thựcphải bằng phần thực và phần ảo phải bằng phần ảo:
- Ở đây được gọi là tâm đối xứng của bộ lọc FIR
- Khi θ(ω) =− αω và N lẻ, ta có bộ lọc số FIR loại I, h(n) đối xứng.
- Khi θ(ω) =− αω và N chẵn, ta có bộ lọc số FIR loại II, h(n) đối xứng.
Trường hợp 2
β ≠0 ⇒ θ(ω)= β − αω − π ω π
Tiến hành phân tích tương tự như trường hợp 1 ta rút ra được kết luận:
Trong trường hợp bộ lọc số FIR pha tuyến tính có pha ở dạng
θ(ω)= β − αω bộ lọc sẽ có quan hệ sau:
- Ở đây được gọi là tâm phản đối xứng của bộ lọc FIR
- Khi θ(ω)= β − αω và N lẻ, ta có bộ lọc số FIR loại III, h(n) phản đối xứng
Trang 5- Khi θ(ω)= β − αω và N chẵn, ta có bộ lọc số FIR loại IV, h(n) phản đối xứng Tóm lại
Các khái niệm về tâm đối xứng, tâm phản đối xứng, chiều dài bộ lọc số FIR
N chẵn hay lẻ sẽ hình thành nên các đặc điểm của bộ lọc số Căn cứ vào các đặcđiểm của bộ lọc, chúng ta sẽ đitổng hợp các bộ lọc số FIR Thông thường có 3phương pháp chính như sau:
- Phương pháp cửa sổ: Dùng các cửa sổ để hạn chế chiều dài đáp ứng xung của bộlọc số lý tưởng và đưa về nhân quả
- Phương pháp mẫu tần số: Trong vòng tròn tần số lấy các điểm khác nhau để tổnghợp bộ lọc
- Phương pháp lặp tối ưu (phương pháp tối ưu - MINIMAX): phương pháp gầnđúng Tchebyshef, tìm sai số cực đại Emax của bộ lọc thiết kế với bộ lọc lý tưởng,rồi làm cực tiểu hoá đi sai số này: min|Emax| Các bước cực tiểu sẽ được máy tínhlặp đi lặp lại
2.1 Phương pháp cửa sổ
Phương pháp cửa sổ là một phương pháp đơn giản nhất Mục tiêu chính củaphương pháp này là dùng các hàm cửa sổ cho sẵn để tổng hợp bộ lọc số FIR sao chothực hiện được về mặt vật lý, nghĩa là các đáp ứng xung phải có chiều dài hữu hạn
và nhân quả Các thủ tục thiết kế bộ lọc số FIR được thực hiện qua các bước sau:
- Đưa ra chỉ tiêu kỹ thuật δ1, δ2, ωP, ωS trong miền tần số ω
Trang 6- Chọn loại cửa sổ và chiều dài cửa sổ N, nghĩa là xác định w( n )N.
- Chọn loại bộ lọc số lý tưởng( thông thấp, thông cao, thông dải, chắn dải)tức là chọn h(n)
- Để hạn chế chiều dài thì nhân cửa sổ với h(n): w(n)N h (n) = hd(n)
Chiều dài L N , L , nên L N
Sau bước này tìm được ( ) d h n tức là hệ số của bộ lọc số thực tế, nhưng hệ
số này có đáp ứng được các chỉ tiêu kỹ thuật đặt ra hay không thì phải thử lại
- Thử lại xem có thỏa mãn δ1, δ2, ωP, ωS hay không bằng cách chuyển sang miền tần số
Cửa sổ chữ nhật là cửa sổ đơn giản nhất
Định nghĩa: Trong miền n, cửa sổ chữ nhật được định nghĩa như sau:
WR (n)N = (2.12)Nhận xét: wR(n)N = rectN(n)
Xét cửa sổ chữ nhật trong miền tần số ta có:
WRN = PT = = =
= = AR()
Trang 7Vì có dạng nên ta biến đổi tiếp:
Đối với cửa sổ chữ nhật ta có:
Trang 8- Bề rộng đỉnh trung tâm Δω nhỏ thì dải quá độ giữa dải thông và dải chắn của bộ lọc sẽ nhỏ, nghĩa là tần số ωp và ωs gần nhau.
- Tỷ số biên độ đỉnh thứ cấp thứ nhất trên đỉnh trung tâm λ nhỏ dẫn đến độ gợn sóng
δ1, δ2 nhỏ
- Nhưng đây là 2 tham số nghịch nhau, bề rộng đỉnh trung tâm muốn nhỏ thì tỷ số λ
sẽ lớn và ngược lại Do vậy tuỳ từng điều kiện bài toán chúng ta sẽ đưa ra các tiêu chuẩn kỹ thuật riêng để chọn loại cửa sổ
Để đánh giá cửa sổ có tính đến thông số chiều dài N của cửa sổ thì người ta còn dùng tham số sau:
Trang 9Sau đó ta thực hiện nhân h(n) với cửa sổ chữ nhật N=7 như ở hình 2.2 để tìm hd(n)
Trang 10Hình 2.4 sơ đồ bộ lọc FIR thông thấp với N = 7 trong ví dụ 2.2
Sau đây chúng ta sẽ xem xét đồ thị biểu diễn G = 20lg (dB) của cửa
sổ chữ nhật với cácchiều dài N khác nhau:
Trang 11Hình 2.5 Đồ thị với a)N=31; b)N=61, c) N=101Nhận xét: Khi chiều dài cửa sổ N tăng lên thì tham số tỷ số giữa biên độ đỉnh
thứ cấp thứ nhất trên biên độ đỉnh trung tâm là không đổi đều bằng -13db, chỉ
có các búp là hẹp đi tức là bề rộng đỉnh trung tâm sẽ nhỏ đi khi ta tăng chiều dài Ncủa cửa sổ, điều này dẫn đến chất lượng của cửa sổ sẽ tăng lên
Trang 122.1.2Phương pháp cửa sổ Bartlett (tam giác)
Định nghĩa: Trong miền n cửa sổ Bartlett được định nghĩa như sau:
Trang 13, nhưng dãi quá độ lại lớn hơn của sổ chữ nhật
Ví dụ 2.4: Hãy thiết kế bộ lọc thông cao FIR pha tuyến tính dùng phương pháp cửa
sổ Bartlett với ; N = 7
Giải: Ta xét bộ lọc thông cao pha 0 (pha 0, tâm đối xứng nằm tại 0)
Trang 14Theo đầu bài, bộ lọc cần thiết kế có pha: , vậy ta dịch chuyển
Trang 15Hình 2.7 xác định với N = 7
Cuối cùng tương tự như ví dụ 2.2 ta có bộ lọc thông cao cần thiết như sau:
Hình 2.8 Sơ đồ bộ lọc FIR thông cao với N=7 trong ví dụ 5.4
2.1.3 Cửa sổ Hanning và Hamming
Định nghĩa: Trong miền n, cửa sổ Hanning và Hamming được định nghĩa như sau:
(5.13)Phân loại khác nhau theo hệ số ta được:
Trang 16rộng đỉnh trung tâm là như nhau, nhưng biên độ của độ gợn sóng dải thông và dảichắn sẽ nhỏ nhất khi thiết kế bằng cửa sổ Hamming.
Trang 172.1.4 Phương pháp cửa sổ Blackman
Định nghĩa: Trong miền n, cửa sổ Blackman được định nghĩa như sau:
(5.17)
Với điều kiện:
Các tham số của cửa sổ:
Trang 182 Với các hệ số trên đây chính là cửa sổ Hamming
3 Ta có đây là bộ tham số thông dụng nhất của cửa sổ Blackman
2.1.5 Phương pháp cửa sổ Kaiser
Định nghĩa: Trong miền n, cửa sổ Kaiser được định nghĩa như sau:
(5.18)
là hàm Besell biến dạng loại 1 bậc 0
Trong định nghĩa 5.18 tham số đặc trưng cho việc trao đổi năng lượnggiữa trung tâm và các đỉnh thứ cấp, để đạt hiệu quả cao khi thiết kế người ta thườngchọn
Trang 19Trong cửa sổ Kaiser ta có thể thay đổi tham số để thay đổi tỷ lệ giữa
và
2.2 Phương pháp lấy mẫu tần số
Tư tưởng của phương pháp này là xây dựng một bộ lọc có đáp ứng xungchiều dài N và có đáp ứng tần số xấp xỉ với đáp ứng tần số của bộ lọc lý tưởng Cụthể, ta có thể xét tại N mẫu rời rạc cách đều nhau trong khoảng từ 0 đến 2π, hàmđáp ứng tần số của bộ lọc thực tế bằng đúng với hàm đáp ứng xung của bộ lọc lýtưởng
Nếu như ta đã biết N mẫu rời rạc H(k) trên hàm đáp ứng tần số, tương đươngvới N mẫu ảnh qua phép biến đổi Fourier rời rạc của dãy đáp ứng xung h(n), tahoàn toàn có thể xây dựng hàm đáp ứng tần số H(ejω) bằng phép nội suy theo côngthức:
H(k) = H*(N-k) với k = 1,…,N-1Riêng mẫu ứng với k=0 là một ngoại lệ bởi nó là tâm đối xứng nếu xét trongchu kỳ tuần hoàn của H(ejω) là [-π,π]
Trang 20Nếu đáp ứng tần số được viết dưới dạng độ lớn và pha:
H()= A() , với A(),() là các hàm thựcẢnh của h(n) qua phép biến đổi Fourier rời rạc cũng được viết dưới dạng độlớn và pha:
H(k)= A(k) , với A(k),(k) là các dãy thực thì độ lớn và pha của dãy H(k) sẽ được tính theo công thức:
A(k) = A () , với (k)= ()
Do H() và H(k) đều có tính chất đối xứng Hermit nên:
A(k) = A(N-k) với k = 1,…,N-1và:
*Đối với bộ lọc FIR loại 1:
Nếu coi hàm sai số xấp xỉ được tính bằng độ sai lệch giữa đáp ứng tần số của
bộ lọc lý tưởng với đáp ứng tần số của bộ lọc thực tế , ta có các nhận xét sau:
• Hàm sai số xấp xỉ bằng không tại các tần số được lấy mẫu
Trang 21• Hàm sai số xấp xỉ tại các tần số khác phụ thuộc vào mức độ dốc hay độbiến đổi đột ngột tại tần số đó Tại tần số có đáp ứng càng dốc, ví dụ gầnbiên của dải thông và dải chắn, thì có hàm sai số xấp xỉ càng lớn
Dãy đáp ứng xung của bộ lọc được suy ra từ biến đổi Fourier rời rạcngược của dãy các mẫu X(k):
áp dụng là tạo ra một số mẫu ở dải chuyển tiếp có thể nhận các giá trị trung giannằm giữa 0 và 1 Số mẫu ở dải chuyển tiếplà không lớn, chỉ cần từ 1 đến 2 mẫu là
đủ do trên thực tế dải chuyển tiếp là rất nhỏ so với dải thông và dải chắn
Thay đổi các giá trị chuyển tiếp quá độ có thể dẫn đến kết quả tốt hơn, nóimột cách khác độ suy giảm dải chắn tối thiểu lớn hơn Bài toán đặt ra ở đây là việcphải tìm cách tối ưu hoá giá trị tại 1 hay 2 mẫu đó để đạt được độ suy giảm dải chắn
tối thiểu lớn nhất tương đương với việc tối thiểu hoá bướu bên lớn nhất Trong tối
ưu hoá, bài toán này gọi là bài toán minimax, và MATLAB cũng cung cấp hàm này
trong bộ công cụ Optimization Toolbox Tuy nhiên trong phần thực hành này, cácgiá trị ở dải chuyển tiếp là cho trước
Trang 222.3 Phương pháp lặp
Hai phương pháp đã được trình bày ở trên, phương pháp cửa sổ và phươngpháp lấy mẫu tần số, tồn tại một số bất cập Thứ nhất ta không thể định được chínhxác các tần số cắt ωp và ωs Thứ hai ta không thể ràng buộc điều kiện đồng thờiđiều kiện về độ gợn sóng δ1 và δ2 ở cả dải thông và dải chắn Thứ ba là hàm sai sốxấp xỉ phân bố không đều trên các dải và có xu hướng tăng lên khi đến gần dảichuyển tiếp Phương pháp lặp dựa trên thuật toán tối ưu có thể giải quyết được cácvấn đề trên
Phương pháp này được các tài liệu đề cập đến với một số tên gọi khác nhau:Optimal (Optimum) Equiriple, Remez Exchange Bản chất của phương pháp này làxuất phát từ một chiều dài dãy N cho trước, bằng thuật toán trao đổi Remez để tìm
ra dãy đáp ứng xung sao cho cực đại của hàm sai số giữa đáp ứng tần số của bộ lọc
lý tưởng và đáp ứng tần số của bộ lọc thực tế là nhỏ nhất Nếu như hàm đáp ứng tần
số ứng với dãy đáp ứng xung tìm được nói trên vẫn chưa thoả mãn điều kiện yêucầu của thiết kế, giá trị N cần phải tăng Quá trình này được lặp đi lặp lại đến khitìm ra được bộ lọc thoả mãn các yêu cầu đã được đặt ra
Dưới đây sẽ trình bày tóm tắt về mặt lý thuyết quá trình tối thiểu hoá sai sốcực đại giữa đáp ứng tần số của bộ lọc thực tế và đáp ứng tần số củat bộ lọc lýtưởng Trước tiên, ta đưa hàm độ lớn của đáp ứng tần số của 4 loại bộ lọc FIR vềdạng sau:
A()= P() Q()
với P(ω) là hàm có dạng: P()=
Bảng sau đây đưa ra giá trị R, các hàm P(ω) và Q(ω) cho 4 loại bộ lọc:
Trang 23Hàm sai số giữa bộ lọc lý tưởng và bộ lọc thực tế được xây dựng như sau:
Nếu ta lựa chọn hàm trọng số trong trường hợp δ1 > δ2, với δ1 và δ2 lần lượt
là độ độ gợn sóng của dải thông và dải chắn, là:
ở dải thông
ở dải chắn
Trang 24thì hàm sai số ở cả dải thông và dải chắn đều không vượt quá δ2 ở cả dải thông vàdải chắn Điều này có nghĩa nếu như ta tối thiểu hoá cực đại của hàm sai số E(ω) là
δ2 ta tự động có luôn cực đại của sai số giữa bộ lọc thực tể và bộ lọc lý tưởng ở dảichắn là δ2 và ở dải thông là δ1
Chúng ta nhận thấy là hàm Q(ω) ở 4 loại bộ lọc là khác nhau, để triệt tiêuhàm này, hàm sai số được biến đổi như sau:
Ở đây nếu như định nghĩa các hàm trọng số biến dạng và hàm độ lớn của đáp ứngtần số bộ lọc lý tưởng biến dạng là:
(= W(Q( và (=
thì hàm sai số của cả 4 loại bộ lọc có cùng dạng chung:
E( = (
Bài toán Chebyshev đặt ra là: Tìm các hệ số (n), hoặc(n),(n), hoặc (n) nhằm
tối thiểu hoá cực đại của trị tuyệt đối hàm sai số trên dải thông và dải chắn, tức là tìm ra:
min
Định lý xoay chiều: S là một khoảng đóng bất kỳ (còn gọi là đoạn vì nó chứa cả
biên) trên đoạn [0,π ], giả sửP (ω) có dạng:
P()=
Hàm sai số E(ω) được tính theo công thức:
trong tập các dãy số
Trang 25E( = (
Điều kiện cần và đủ để P(ω) duy nhất và xấp xỉ theo kiểu cực đại là nhỏ nhất,
theo nghĩa gần đúng Chebyshev, so với trên S là: Hàm sai số E(ω) phải có tối
thiểu R+2 giá trị cực trị đổi dấu xen kẽ nhau trên S mà:
E(= - E(=
Với ω0< ω1< ω2<…< ωR+1
Định lý nói trên không chỉ ra cách thức để thu được hàm P(ω) Tuy nhiên nó
chỉ ra rằng nghiệm đó tồn tại, không những thế nghiệm là duy nhất và điều kiện để
biết đó là nghiệm khi hàm sai số E(ω)có ít nhất R+2 cực trị, các cực trị này có giá
trị tuyệt đối bằng nhau, hai cực trị liên tiếp có một là cực đại và một là cực tiểu Để
tìm ra hàm P(ω), thuật toán trao đổi Remez được tiến hành như sau:
1. Chọn lấy R+2 điểm rời rạc, giả sử đó là các cực trị của hàm sai số
2. Trên cơ sở tại R+2 điểm rời rạc nói trên, hàm E (ω) luân phiên đổi dấu và
có trị tuyệt đối bằng một giá trị δ nào đó, tính nội suy lại giá trị δ và hàm
P (ω) từ đó tính ra hàm sai số E (ω), tính được giá trị cực trị thực của hàm
sai số đó
3. Xem xét xem các giá trị rời rạc được chọn ban đầu có thực sự là các điểm
mà hàm sai số E(ω) đạt cực trị và có trị tuyệt đối bằng nhau hay không Nếu không, tìm các điểm tại đó E(ω) đạt cực trị
4. Trong các điểm cực trị đó của E(ω) lấy ra R+2 điểm và quay về lặp lại từ
bước 2
5. Lặp lại các bước 2, 3, và 4 cho đến khi tập hợp các điểm rời rạc hội tụ
6 Từ tập các điểm rời rạc cuối cùng, tính ra hàmP (ω), từ đó tính ra các hệ
số α(n)
Vòng lặp tiếp theo bao giờ cũng thu được R+2 điểm rời rạc tiến gần tới
những cực trị của hàm P (ω)mà chúng ta mong muốn gần đúng với theo nghĩa
Chebyshev hơn, và cuối cùng nó sẽ hội tụ về các điểm cực trị thực Một vấn đề
s
Trang 26trong việc sử dụng chương trình máy tính để tìm ra nghiệm là máy tính không thểlàm việc với các giá trị liên tục trên miền S mà chỉ có khả năng tính toán trên tậpcác giá trị rời rạc Thực tế ta có thể thiết kế một lưới các giá trị rời rạc trên miền Srồi tính gần đúng trên đó
Parks và McClellan đã đưa ra giải pháp sử dụng thuật toán Remez để tìm
ra đáp ứng xung của bộ lọc tối ưu nhất, tức là gần đúng theo nghĩa Chebyshev đốivới một bộ lọc lý tưởng, cho giá trị N là chiều dài của dãy đáp ứng xung nào đó vớicác điều kiện ràng buộc về độ gợn sóng ở dải thông và dải chắn như sau:
1 Xác định loại bộ lọc, tính giá trị R và xây dựng các hàm W (ω), Q(ω)
2 Xây dựng bài toán gần đúng bằng cách xác định các hàm(
3 Sử dụng thuật toán trao đổi Remez để tìm ra hàm tối ưu P(ω)
4 Tính các giá trị của dãy đáp ứng xung h(n)
Tất nhiên khi chọn giá trị N càng chuẩn thì kết quả là thu được bộ lọc có hàmđáp ứng tần số càng gần với yêu cầu bài toán Nếu như với giá trị N nào đó mà chưathoả mãn được yêu cầu cầu của bài toán thì ta phải tăng giá trị N đến khi nào thoảmãn các điều kiện ràng buộc cho δ1 và δ2 (hay As và Rp) thì thôi Về mặt kinhnghiệm, một số tài liệu đưa ra công thức lựa chọn ban đầu cho chiều dài N của dãyđáp ứng xung là:
= với = Trong MATLAB, việc tìm ra dãy đáp ứng xung của bộ lọc tối ưu với giá trị
N và hàm đáp ứng tần số lý tưởng cho trước được thực hiện bởi hàm firpm