Tải bản đầy đủ (.doc) (31 trang)

TIỂU LUẬN MÔN HỌC XỬ LÝ TÍN HIỆU SỐ Thiết kế bộ Vi phân theo cấu trúc FIR

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (741.06 KB, 31 trang )

ĐẠI HỌC ĐÀ NẴNG
TRƯỜNG ĐẠI HỌC BÁCH KHOA
CHẤT LƯỢNG CAO
oOo
TIỂU LUẬN MÔN HỌC
XỬ LÝ TÍN HIỆU SỐ
Đề tài:
THIẾT KẾ BỘ VI PHÂN THEO CẤU TRÚC FIR
BẰNG PHƯƠNG PHÁP CỬA SỔ , LẤY MẪU
TẦN SỐ, VÀ TỐI ƯU CÂN BẰNG GỢN SÓNG
Người hướng dẫn : TS. NGÔ VĂN SỸ
Sinh viên thực hiện: TRẦN ĐĂNG DƯƠNG
PHAN TRỌNG ĐẠT
PHÙNG HÒA (C)
Lớp : 07 CLC2
Thiết kế bộ Vi phân theo cấu trúc FIR
PHẦN 1
CƠ SỞ LÝ THUYẾT
1.1. Tổng quan về thiết kế bộ lọc:
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ọc vớ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 Specifications) và các chỉ tiêu tương đối (Relative Specifications - DB).
Trên hình 1.1 là mô tả các chỉ tiêu của bộ lọc FIR thông thấp (Low Pass Filter):
SV TH: Trần Đăng Dương - Phan Trọng Đạt- Phùng Hòa 2
1
1+δ
1
1-δ
1
Độ gợn dải thông
Độ gợn dải chắn
Dải chuyển tiếp
δ
2
R
p
A
s
w
p
w
s
π
0
0
|H(e
jw
)|
Decibels
Hì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

Thiết kế bộ Vi phân theo cấu trúc FIR
Trong đó:
• Band [0, w
p
] được gọi là dải thông, và δ
1
là dung sai (gợn sóng) được chấp nhận
trong đáp ứng dải thông lý tưởng.
• Band [w
s
,
π
] được gọi là dải chắn, và δ
2
là dung sai ở dải chắn.
• Band [w
p
, 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:
0

1
1
1
1
10
log20 >
+

−=
δ
δ
p
R
(≈0) (1.1)
0
1
1
2
10
log20 >
+
−=
δ
δ
s
A
(>>1) (1.2)
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) đều có
thể được định nghĩa tương tự. Tuy nhiên, các tham số thiết kế quan trọng nhất là các

dung sai dải tần và các tần số cạnh-dải (tolerance or ripples and band-edge frequencies).
Bởi vậy, trong phần 1 về cơ sở lý thuyết này chúng ta chỉ tập trung vào bộ lọc FIR thông
thấp. Việc thiết kế cụ thể cho bộ lọc FIR thông dải bằng phương pháp lấy mẫu tần số sẽ
được mô tả chi tiết trong phần 2.
Việc thiết kế và thực hiện lọc FIR có những thuận lợi sau đây:
•Đáp ứng pha là tuyến tính.
•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:
SV TH: Trần Đăng Dương - Phan Trọng Đạt- Phùng Hòa 3
Thiết kế bộ Vi phân theo cấu trúc FIR
• 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:


=
−−


=+++=
1M
0n

n
n
M1
1M
1
10
zbzbzbb)z(H 
(1.3)
Như vậy đáp ứng xung h(n) là:



−≤≤
=
else
Mnb
nh
n
0
10
)(
(1.4)
Và phương trình sai phân là:
)1Mn(xb)1n(xb)n(xb)n(y
1M10
+−++−+=


(1.5)
Đâ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ới cá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.
Chúng ta sẽ xem xét lần lượt các cấu trúc của bộ lọc FIR sau đây:
1.21. Cấu trúc dạng trực tiếp:
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:
)1Mn(xb)1n(xb)n(xb)n(y
1M10
+−++−+=


(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:
SV TH: Trần Đăng Dương - Phan Trọng Đạt- Phùng Hòa 4
b
0
z
-
1
b
1
z
-
1
b
2
z

-
1
b
3
z
-
1
b
4
y(n)
x(n)
Hình 1.2 Cấu trúc lọc FIR dạng trực tiếp
Thiết kế bộ Vi phân theo cấu trúc FIR
1.2.2. Cấu trúc dạng ghép tầng:
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ép tầng của
các khâu bậc 2.






+++=+++=


−−

− M1
0

1M
1
0
1
0
M1
1M
1
10
z
b
b
z
b
b
1bzbzbb)z(H 


=
−−
++=
K
1k
2
2,k
1
1,k0
)zBzB1(b
(1.7)
trong đó







=
2
M
K
, B
k,1
và B
k,2
là các số thực đại diện cho các hệ số của các khâu bậc 2.
Cấu trúc dạng ghép tầng được cho trong hình 1.3 với M = 7:
1.2.3. 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ính
theo tần số, nghĩa là:
αω−β=∠
ω
)e(H
j
π≤ω≤π−
(1.8)
trong đó
0=β
hoặc
2
π

±

α
là một hằng số.
Đối với bộ lọc FIR nhân quả có đáp ứng xung trong khoảng [0, M-1], thì các điều kiện
tuyến tính là:
1Mn0,0);n1M(h)n(h −≤≤=β−−=
(1.9)
1Mn0,2/);n1M(h)n(h −≤≤π±=β−−−=
(1.10)
Xét phương trình sai phân được cho trong phương trình (1.5) với đáp ứng xung đối
xứng trong phương trình (1.9), ta có:
)1Mn(xb)2Mn(xb)1n(xb)n(xb)n(y
0110
+−++−++−+= 
SV TH: Trần Đăng Dương - Phan Trọng Đạt- Phùng Hòa 5
B
1,1
z
-
1
z
-
1
z
-
1
y(n)
x(n)
B

2,1
B
3,1
b
0
B
1,2
z
-
1
z
-
1
z
-
1
B
2,2
B
3,2
Hình 1.3 Cấu trúc lọc FIR dạng ghép tầng
Thiết kế bộ Vi phân theo cấu trúc FIR

++−+−++−+= )]2Mn(x)1n(x[b)]1Mn(x)n(x[b
10
Sơ đồ khối thực hiện phương trình sai phân trên được mô tả trong hình 1.4 dưới đây
đối với cả M lẻ và M chẵn:
Đối với M lẻ: M = 7, còn đối với M chẵn: M = 6
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.

1.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à:
∑∑

=
−−−−

=

==
1M
0n
n1M)1M(
1M
0n
n
z)n(hzz)n(h)z(H
(1.11)
có (M-1) điểm cực ở gốc (trivial poles) và M-1 điểm không nằm ở vị trí bất kỳ trên mặt
phẳng z. Đáp ứng tần số là:
π≤ω<π−=


=
ω−ω
,e)n(h)e(H
1M

0n
njj
(1.12)
SV TH: Trần Đăng Dương - Phan Trọng Đạt- Phùng Hòa 6
b
0
z
-
1
b
1
z
-
1
b
2
x(n)
z
-
1
z
-
1
z
-
1
y(n)
b
0
z

-
1
b
1
z
-
1
b
2
b
3
y(n)
x(n)
z
-
1
z
-
1
z
-
1
z
-
1
M=7
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ẻ
Thiết kế bộ Vi phân theo cấu trúc FIR
1.3.1. Đáp ứng xung h(n):

Chúng ta có thể đưa ra ràng buộc pha tuyến tính:
π≤ω<π−αω−=∠
ω
,)e(H
j
(1.13)
trong đó: α là một hằng số trễ pha. Ta đã biết rằng h(n) phải đối xứng, nghĩa là:
2
1M
,1Mn0),n1M(h)n(h

=α−≤≤−−=
(1.14)
Do đó h(n) là đối xứng theo α, là chỉ số đối xứng. Có hai kiểu đối xứng:
• M lẻ: Trong trường hợp này,
2
1M −

là một số nguyên. Đáp ứng xung được
mô tả trong hình 1.5 dưới đây:
• M chẵn: Trong trường hợp này,
2
1M −

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:
SV TH: Trần Đăng Dương - Phan Trọng Đạt- Phùng Hòa 7
Hình 1.5 Đáp ứng xung đối xứng, M lẻ
Hình 1.6 Đáp ứng xung đối xứng, M chẵn
Thiết kế bộ Vi phân theo cấu trúc FIR

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
( )
ω

j
eH
thoả mãn điều kiện:
αω−β=∠
ω
)e(H
j
với
π≤ω<π−
(1.15)
Đáp ứng pha là đường thẳng nhưng không đi qua gốc. Trong trường hợp này α không
phải là hằng số trễ pha, nhưng:
α−=
ω

ω
d
)e(Hd
j
(1.16)
là hằng số, chính là trễ nhóm (α là một hằng số trễ nhóm). Trong trường hợp này, các tần
số được làm trễ với một tốc độ không đổi. Nhưng một số tần số có thể được làm trễ với
tốc độ lớn hơn hoặc nhỏ hơn.
Đối với kiểu pha tuyến tính này, có thể thấy rằng:
1Mn0),n1M(h)n(h −≤≤−−−=


2
,
2
1M π
±=β


(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ố
đối xứng vẫn là
2
1M −

. Một lần nữa chúng ta lại có 2 kiểu, cho M lẻ và M chẵn.
• M lẻ: Trong trường hợp này,
2
1M −

là một số nguyên. Đáp ứng xung được
mô tả bằng hình 1.7 dưới đây:
Lưu ý rằng mẫu h(α) tại
2
1M −

phải bằng 0, nghĩa là,
0
2
1M
h =








.
SV TH: Trần Đăng Dương - Phan Trọng Đạt- Phùng Hòa 8
Hình 1.7 Đáp ứng xung phản đối xứng, M lẻ
Thiết kế bộ Vi phân theo cấu trúc FIR
• M chẵn: Trong trường hợp này,
2
1M −

không phải là một số nguyên. Đáp
ứng xung được mô tả trong hình 1.8.
1.3.1. Đáp ứng tần số H(e
j
ω
):
Khi tổ hợp hai loại đối xứng và phản đối xứng với M chẵn và M lẻ, ta có bốn kiểu lọc
FIR pha tuyến tính. Đáp ứng tần số của mỗi kiểu có biểu thức và hình dạng riêng. Để
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(e
j
ω
) như sau:
2
1M
,
2

;e)e(H)e(H
)(jj
r
j


π
±=β=
αω−βωω
(1.18)
trong đó H
r
(e
j
ω
) 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ẻ
Trong trường hợp này
0=β
,
2
1M −

là một biến nguyên, và
( ) ( )
n1Mhnh −−=
,

1Mn0
−≤≤
, thì ta có thể chứng tỏ rằng:
( )
( )
( )
2/1Mj
2/1M
0n
j
encosna)e(H
−ω−

=
ω






ω=

(1.19)
trong đó:
( )








=
2
1M
h0a
với mẫu ở chính giữa (1.20)
SV TH: Trần Đăng Dương - Phan Trọng Đạt- Phùng Hòa 9
Hình 1.8 Đáp ứng xung phản đối xứng, M chẵn
Thiết kế bộ Vi phân theo cấu trúc FIR
( )








= n
2
1M
h2na
với
2
3M
n1

≤≤


* 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
0=β
,
( ) ( )
n1Mhnh −−=
,
1Mn0 −≤≤
, nhưng
2
1M −

không phải là một biến nguyên, thì ta có thể chứng tỏ rằng:
( )
( )
2/1Mj
2/M
1n
j
e
2
1
ncosnb)e(H
−ω−
=
ω



















−ω=

(1.21)
trong đó:
( )






−= n
2
M
h2nb

với
2
M
, ,2,1n =
(1.22)
So sánh (1.21) và (1.18), ta có:
( )

=












−ω=ω
2/M
1n
r
2
1
ncosnb)(H
(1.23)
Lưu ý: Tại

π=ω
, ta có
( )
0
2
1
ncosnb)(H
2/M
1n
r
=












−π=π

=
mà không cần quan tâm đến
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ẻ
Trong trường hợp này ta có
2
π

,
2
1M −

là một biến nguyên,
( ) ( )
n1Mhnh −−−=
,
1Mn0
−≤≤
, và
0
2
1M
h =







thì ta có thể chứng tỏ:
( )
( )







ω








π

=
ω






ω=

2
1M
2

j
2/1M
0n
j
ensinnc)e(H
(1.24)
trong đó
( )








= n
2
1M
h2nc
với
2
M
, ,2,1n =
(1.25)
So sánh (1.24) và (1.18), ta có:
SV TH: Trần Đăng Dương - Phan Trọng Đạt- Phùng Hòa 10
Thiết kế bộ Vi phân theo cấu trúc FIR
( ) ( )
( )



=
ω=ω
2/1M
0n
r
nsinncH
(1.26)
Lưu ý: Tại
0


π=ω
, ta có
( )
0H
r

mà không cần quan tâm c(n) hoặc h(n).
Hơn thế nữa,
je
2
j
=
π
, điều đó có nghĩa là
( )
ω
r

jH
là thuần ảo. Do đó, loại bộ lọc này
không thích hợp đối với việc thiết kế bộ lọc thông thấp hoặc thông cao. Tuy nhiên, điều
này thích hợp đối với việc xấp xỉ các bộ vi phân và bộ biến đổi Hilbert số lý tưởng.
* 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
2
π

,
( ) ( )
n1Mhnh −−−=
,
1Mn0 −≤≤
, nhưng
2
1M −

không phải là một biến nguyên, thì ta có thể chứng tỏ rằng:
( )






ω









π
=
ω


















−ω=

2
1M

2
j
2/M
1n
j
e
2
1
nsinnd)e(H
(1.27)
trong đó:
( )






−= n
2
M
h2nd
với
2
M
, ,2,1n =
(1.28)
So sánh (1.27) và (1.18), ta có:
( )


=












−ω=ω
2/M
1n
r
2
1
nsinnd)(H
(1.29)
Lưu ý: Tại
π=ω
,
0)0(H
r
=

je
2

j
=
π
. Do vậy, loại này cũng thích hợp cho việc thiết
kế các bộ vi phân số và bộ biến đổi Hilbert số.
Bảng sau đây mô tả khả năng thích hợp trong việc thiết kế các bộ lọc và các bộ biến
đổi Hilbert số, bộ vi phân số của 4 loại lọc FIR pha tuyến tính đã nêu:
Type LPF HPF BPF SBF Hilbert Differentiator
FIR Type 1
   
FIR Type 2
 
FIR Type 3
  
FIR Type 4
   
SV TH: Trần Đăng Dương - Phan Trọng Đạt- Phùng Hòa 11
Thiết kế bộ Vi phân theo cấu trúc FIR
PHẦN 2
THUẬT TOÁN VÀ CHƯƠNG TRÌNH THIẾT KẾ BỘ LỌC VI PHÂN
THEO PHƯƠNG PHÁP CỬA SỔ
2.1. Bài toán thiết kế:
Đáp ứng tần số của bộ lọc vi phân được cho bởi :
Sử dụng phương pháp cửa sổ để thiết kế bộ lọc viphân FIR có chiều dài 21
Giải :
Đáp ứng xung lý tưởng của bộ lọc vi phân ứng với pha tuyến tính loại 3 (FIR Type 3)
được cho bởi :
Đáp ứng xung trên có thể thực hiện ở Matlab, có thể chọn hàm cửa sổ Hamming để
thiết kế cho yêu cầu bộ lọc vi phân. Chú ý rằng nếu M là một số chẵn thì α = (M-1)/2
không là một số nguyên và h

d
(n) sẽ đạt zero ở tất cả giá trị của n. Do đó M phải là một số
lẻ, đây là bộ lọc FIR tuyến tính loại 3. Tuy nhiên bộ lọc này không là một bộ vi phân
thông tất khi H
r
(π) = 0 với bộ lọc loại 3.
2.2. Thuật toán:
Căn cứ vào các phân tích nêu trên, chúng ta có thể tóm tắt các bước thiết kế tổng quát
cho bộ lọc vi phân cấu trúc FIR bằng phương pháp cửa sổ như sau:
Bước 1 : Thiếp lập các chỉ tiêu kỹ thuật của bộ lọc số: M hoặc (δ
1
, δ
2
, ω
p
, ω
s
)
Từ đó xác định các thông số :
+ Cấu trúc bộ lọc pha tuyến tính
Trường hợp :
SV TH: Trần Đăng Dương - Phan Trọng Đạt- Phùng Hòa 12



<<−−
≤<
=
0,
0 ,

)(
ωπω
πωω
ω
j
j
eH
j
d
[ ]

−−
==
π
π
ωα ωωα ωω
ω
π
deeeHeeHFnh
njjj
d
jj
dd
)(
2
1
)()(
∫∫
−−


+−=
π
ωαωωαω
π
ωω
π
ωω
π
0
0
)(
2
1
)(
2
1
deejdeej
njjnjj





=



=
α
α

α
απ
n
n
n
n
, 0
,
)(
)(cos
Thiết kế bộ Vi phân theo cấu trúc FIR
M lẻ : ứng với bộ lọc FIR Type 3
M chẵn : ứng với bộ lọc FIR Type 4
+ α là một hằng số trễ pha : α = (M-1)/2
Bước 2 : Xác định đáp ứng xung của mạch lọc lý tưởng ( h
d
(n)) theo công thức :
[ ]

−−
==
π
π
ωα ωωα ωω
ω
π
deeeHeeHFnh
njjj
d
jj

dd
)(
2
1
)()(
Trong đó :
( )
( )






ω








π

=
ω







ω=

2
1M
2
j
2/1M
0n
j
ensinnc)e(H
(FIR Pha tuyến tính loại 3)
( )






ω









π
=
ω


















−ω=

2
1M
2
j
2/M
1n
j

e
2
1
nsinnd)e(H
(FIR Pha tuyến tính loại 3)
Bước 3 : Chọn loại cửa sổ
Dựa vào các chỉ tiêu đã thiết lập đối chiếu bảng (2.1) chúng ta có thể lựa chọn cửa sổ
thiết kế, theo các hàm cửa sổ tương ứng.
Bước 4 : Nhân với cửa sổ để có đáp ứng xung của mạch lọc: h(n) = h
d
(n).w(n)
+ Tính h(n)
+ Sử dụng hàm Hr_TypeX(h) để xác định H
r
, w, P, L
[H
r
, w, P, L] = Hr_TypeX(h) Với X =3,4
Bước 5 : Thử lại trong miền tần số: H
d
(ω) = H(ω)*W(ω).
Nếu không thỏa mãn các chỉ tiêu kỹ thuật, ta tăng M và trở lại bước
2.2.1. Các loại cửa sổ
a. Cửa sổ chữ nhật
Đây là hàm cưả sổ đơn giản nhất nhưng cũng cho tính năng kém nhất theo quan điểm
độ suy hao dải chắn.
SV TH: Trần Đăng Dương - Phan Trọng Đạt- Phùng Hòa 13
Thiết kế bộ Vi phân theo cấu trúc FIR



- Các nhận xét:
+ Đáp ứng biên độ Wr(w) có điểm không thứ nhất ở w=w1=2pi/M. Do đó độ rộng của
main lobe là 2w1=4pi/M. Vì vậy xấp xỉ bề rông băng chuyển tiếp là 4pi/M.
+ Biên độ của side lobe thứ nhất (the peak side lobe magnitude) là xấp xỉ ở w=3pi/M
và được cho bởi |Wr(3pi/M)| = 2M/(3pi), đối với M>>1. So với biên độ main lobe , bằng
M, biên độ side lobe đỉnh là 2/(3pi)=21.11%=13dB của biên độ main lobe .
+ Đáp ứng biên độ tổng có biên độ side lobe thứ nhất ở 21dB. Điều này gây ra hệ số
suy giảm dải chắn tối thiểu là 21dB tương ứng với cửa sổ có độ dài M.
+ Sử dụng hệ số suy giảm dải chắn tối thiểu, có thể tính chính xác bề rộng dải chuyển
tiếp. Tính được bề rộng dải chuyển tiếp chính xác là ws-wp = 1.8pi/M, bằng khoảng một
nửa bề rộng dải 4pi/M.
- Hai vấn đề chính:
+ Lấy cửa sổ chữ nhật là cắt trực tiếp đáp ứng xung vô hạn hd(n), đây là nguyên nhân
sinh ra hiên tượng Gibbs .
+ Suy hao dải chắn tối thiểu 21dB là không đủ trong các ứng dụng thực tế.
b. Cửa sổ Bartlett
Bartlett đưa ra cửa sổ chuyển dịch giảm dần theo dạng tam giác

SV TH: Trần Đăng Dương - Phan Trọng Đạt- Phùng Hòa 14
( )
( )
( )
( )
1,)(
2
1
)(
2
1
)(

sin
sin
)(
sin
sin
)(
,0
10,1
)(
2
2
2
2
2
1
>>=≈
=⇒






=



−≤≤
=
∫∫

+

+



MdWdWwH
wWeeW
otherwise
Mn
nw
cc
M
ww
r
ww
rr
w
wM
r
jw
w
wM
jw
λλ
π
λλ
π
ππ










−≤≤




≤≤

=
otherwise
Mn
M
M
n
M
n
M
n
nw
,0
1
2
1

,
1
2
2
2
1
0,
1
2
)(
Thiết kế bộ Vi phân theo cấu trúc FIR
c. Cửa sổ Hanning
This is a raised cosine window function

d. Cửa sổ Hamming

e. Cửa sổ Blackman

f. Cửa sổ Kaiser

I
0
[] là hàm Bessel bậc không được hiệu chỉnh
Nếu beta=5.658, thì bề rộng chuyển dịch bằng 7.8pi/M, và hệ số suy giảm dải chắn tối
thiểu là 60dB.
Nếu beta=4.538, thì bề rộng chuyển dịch là 5.8pi/M, và hệ số suy giảm dải chắn tối
thiểu là 50dB.
SV TH: Trần Đăng Dương - Phan Trọng Đạt- Phùng Hòa 15






−≤≤














=
otherwise
Mn
M
n
nw
,0
10,
1
2
cos15.0
)(

π





−≤≤








=
otherwise
Mn
M
n
nw
,0
10,
1
2
cos46.054.0
)(
π






−≤≤







+








=
otherwise
Mn
M
n
M
n
nw
,0
10,

1
4
cos08.0
1
2
cos5.042.0
)(
ππ
10,
][
1
2
11
)(
0
2
0
−≤≤
















−−
= Mn
I
M
n
I
nw
β
β
Thiết kế bộ Vi phân theo cấu trúc FIR
KAISER đã phát triển các phương trình thiết kế EMPIRICAL

Window
Transition
approximate
Width
ω

As
Rectangular
4π/M 1.8π/M 21dB
Bartlett
8π/M 6.1π/M 25dB
Hanning
8π/M 6.2π/M 44dB
Hamming
8π/M 6.6π/M 51dB

Blackman
12π/M 11π/M 74dB
Thi hành maplace
 W=boxcar(M): rectangular window
 W=triang(M): bartlett window
 W=hanning(M)
 W=hamming(M)
 W=blackman(M)
 W=kaiser(M,beta)
SV TH: Trần Đăng Dương - Phan Trọng Đạt- Phùng Hòa 16



<<−+−
≥−
=
+




=∆=
5021)21(07886.0)21(5842.0
50),7.8(1102.0
1
36.14
95.7
2
.
,,,

4.0
sss
ss
s
ps
spsp
AAA
AA
parameter
f
A
Morderfilter
ww
fwidthtransitionNorm
AandRwwGiven
β
π
Thiết kế bộ Vi phân theo cấu trúc FIR
2.3. Code:
Chương trình viết trong matlab:
%Differentiator design - Hamming window method
%
%
M = 21; alpha = (M-1)/2;
n = 0:M-1;
hd = (cos(pi*(n-alpha)))./(n-alpha); hd(alpha+1)=0;
w_ham = (hamming(M))';
h = hd .* w_ham;
[Hr,w,P,L] = Hr_Type3(h);
% plots

subplot(1,1,1);
subplot(2,2,1); stem(n,hd); title('Ideal Impulse Response')
axis([-1 M -1.2 1.2]); xlabel('n'); ylabel('hd(n)')
subplot(2,2,2); stem(n,w_ham);title('Hamming Window')
axis([-1 M 0 1.2]); xlabel('n'); ylabel('w(n)')
subplot(2,2,3); stem(n,h);title('Actual Impulse Response')
axis([-1 M -1.2 1.2]); xlabel('n'); ylabel('h(n)')
subplot(2,2,4);plot(w/pi,Hr/pi); title('Amplitude
Response');grid;
xlabel('frequency in pi units'); ylabel('slope in pi
units')
axis([0 1 0 1]);
set(gca,'XTickMode','manual','XTick',
[0,0.2,0.4,0.6,0.8,1])
set(gca,'YTickMode','manual','YTick',[0,0.2,0.4,0.6,0.8,1])
% end

SV TH: Trần Đăng Dương - Phan Trọng Đạt- Phùng Hòa 17
Thiết kế bộ Vi phân theo cấu trúc FIR
PHẦN 3
THIẾT KẾ BỘ VI PHÂN THEO CẤU TRÚC FIR BẰNG
PHƯƠNG PHÁP LẤY MẪU TẦN SỐ
3.1. Cấu trúc bộ vi phân lý tưởng:
Bộ vi phân lý tưởng có đáp ứng tần số được định nghĩa như sau :

πωω
ω
≤≤= 0,)( jeH
j
Với đáp ứng tần số như vậy thì bộ vi phân có cấu trúc giống như bộ lọc FIR Type3 và

FIR Type4. Do đó người ta thiết kế bộ vi phân thực tế dựa trên cấu trúc bộ lọc FIR.
3.2. Kỹ thuật thiết kế mạch lọc FIR bằng phương pháp lấy mẫu tần số
Một bộ lọc FIR chiều dài M có đáp ứng tần số là :

Các hệ số Ġ của bộ lọc cũng chính là giá trị của các mẫu trong đáp ứng xung của
nó:

(Trong pt(2.1) chỉ số trên của tổng được chọn là M–1 để đáp ứng xung có chiều
dài M)
Bộ lọc có pha tuyến tính khi đáp ứng xung h(n) của nó thỏa mãn các điều kiện
đối xứng. Đối với bộ vi phân ta chỉ xét điều kiện phản đối xứng như sau :
3.2.1. Điều kiện phản đối xứng h(n) = -h(M - 1 - n) (2.3)
Ta gọi đáp ứng xung là phản đối xứng (antisymmetric). Khi M lẻ, điểm trung tâm
của h(n) phản đối xứng là . Điều kiện (2.3) hàm ý rằng: = 0.
Ví dụ, Nếu M = 5, ta có h(0) = - h(4); h(1) = -h(3) và h(2) = 0. Khi M chẵn, mỗi
mẫu của h(n) có một mẫu tương ứng ngược dấu.
Tương tự như trường hợp đối xứng thứ nhất, ta có thể chứng minh rằng, đáp ứng
tần số của bộ lọc FIR với đáp ứng xung phản đối xứng có biểu thức là :
SV TH: Trần Đăng Dương - Phan Trọng Đạt- Phùng Hòa 18
(2.1)
(2.2)
Thiết kế bộ Vi phân theo cấu trúc FIR
Đặc tính pha của bộ lọc cho cả hai trường hợp M lẻ và M chẵn là :
Các công thức đáp ứng tần số tổng quát này được dùng để thiết kế các bộ lọc
FIR pha tuyến tính.
Chú ý rằng, trong các pt(2.5) và pt(2.6), vì =0, nên có hệ
số khi M lẻ và hệ số khi M chẵn cần được xác định.
3.2.2. Chọn đáp ứng xung và tính các hệ số từ các mẫu trong miền tần số
Đáp ứng xung phản đối xứng: ta cần xác định các hệ số tương ứng với
điểm khi M lẻ và điểm khi M chẵn trên trục ω. Vì các pt(2.5) và pt(2.6) hàm ý rằng

H
r
(0) = 0, độc lập với sự chọn các hệ số{h(n)}. Vì vậy tần số ω = 0 không thể được
dùng để xác định các thông số của đáp ứng tần số.
Khi M lẻ thì rất dễ dàng, ta có thể xác định H
r
(ω) ởđiểm cách đều nhau trên trục
tần số. Các điểm này có thể được chọn như sau :

Khi M chẵn, ta cầnĠ điểm tần số, vì ta không thể sử dụng ω = 0, ta có thể sử
dụng ω=π.
Tóm lại, tập các điểm tần số được chọn như sau :


SV TH: Trần Đăng Dương - Phan Trọng Đạt- Phùng Hòa 19
(2.4)
(2.5)
(2.6)
(2.7)
(2.8)
Thiết kế bộ Vi phân theo cấu trúc FIR

Một sự chọn lựa khác hoàn toàn có thể tránh trường hợp H(ω)=0 ở ω=0 (và ω=π)
đó là :

Với bất kỳ sự
chọn lựa nào trong các trường hợp trên, ta định nghĩa :
Thì các phương trình tuyến tính cho bộ lọc FIR phản đối xứng trở thành:
3.2.3. Công thức tính h(n):
Mục đích của ta là tìm đáp ứng xung h(n) của bộ lọc có đáp ứng tần số mong

muốn, từ đó xác định hàm truyền đạt (hay phương trình sai phân) và xây dựng cấu trúc
của bộ lọc. Ta phải xác định ma trận các hệ số akn (ma trận [A]) hay ma trận các hệ số
bkn (ma trận [B]), và sau đó, để giải phương trình ma trận, ta phải tính ma trận nghịch
đảo. Việc làm này rõ ràng là tốn nhiều thời gian và công sức. Vì vậy, ta muốn thiết lập
một công thức sao cho có thể tính trực tiếp h(n).
Trước tiên, ta xác định đáp ứng tần số mong muốn ở một tập tần số rời rạc cách
đều nhau {ω
k
}:


Sau đó tìm đáp ứng xung h(n) của bộ lọc FIR từ các mẫu trong miền tần số đã chọn.
Theo định nghĩa, đáp ứng tần số của bộ lọc FIR có chiều dài M là:
SV TH: Trần Đăng Dương - Phan Trọng Đạt- Phùng Hòa 20
(2.9)
(2.10)
(2.11)
(2.12)
(2.13)
Thiết kế bộ Vi phân theo cấu trúc FIR
Giá trị của đáp ứng tần số tại các tần số {ω
r
}là:
với k = 0,1,2, ,M-1
Do H(k+α) có tính đối xứng, nên các tần số chỉ định có thể giảm xuống còn (M-
1)/2 nếu M lẻ, M/2 nếu M chẵn. Tuy nhiên, ở đây ta muốn khảo sát đặc tính tần số ở M
điểm như đã chỉ định ở pt(2.15).
Để xác định được h(n) từ H(k+α), ta nhân hai vế của pt(2.15) với e
j2πkm
/

M
, trong đó
m=0,1,…,M-1, rồi lấy tổng trên k=0,1,…,M-1. Vế phải của pt(2.15) sẽ rút gọn về Mh(n)
e
j2πkm
/
M
và ta thu được:
Ta thấy trong trường hợp α = 0 thì H(k) = DFT[h(n)] và h(n) = IDFT[H(k)].
Để tìm công thức tính h(n), ta sẽ dựa vào tính chất đối xứng của h(n) và giá trị của
α. Ta chia thành các trường hợp cụ thể như sau:
- α = 0, h(n) phản đối xứng.
- α = 1/2, h(n) phản đối xứng.
Cũng cần chú ý rằng, trong các điều kiện đối xứng và phản đối xứng đã xét, h(n)
luôn luôn có giá trị thực.
Xét trường hợp α =0, h(n) phản đối xứng: h(n)= -h(M-1-n)
Ta có công thức tính đáp ứng xung h(n) trong 2 trường hợp như sau:
α = 0:
SV TH: Trần Đăng Dương - Phan Trọng Đạt- Phùng Hòa 21
(2.14)
(2.15)
(2.16)
Thiết kế bộ Vi phân theo cấu trúc FIR
α = ½:
3.2.4. Các bước thiết kế bộ vi phân theo cấu trúc FIR bằng phương pháp lấy mẫu
tần số:
Từ các phân tích vừa rồi, ta sẽ tổng kết thành các bước thiết kế bộ lọc FIR bằng cách
lấy mẫu đáp ứng tần số.
Bước 1: Chọn loại bộ lọc, chiều dài M của bộ lọc, tính chất đối xứng của h(n), tập
tần số ω và chỉ định các mẫu của đáp ứng tần số tương ứng với tập tần số {ω

k
}.
Bước 2: Tính các mẫu G(k) theo công thức tương ứng trong bảng (*) và (**)
Bước 3: Tính đáp ứng xung h(n) theo công thức tương ứng trong bảng (*) và (**)
Bước 4: Tính đáp ứng tần số H(ω) theo các pt(2.4), (2.5), (2.6), (2.7), kiểm tra lại
trong miền tần số bằng cách vẽ đặc tuyến đáp ứng biên độ và đáp ứng pha. Nếu chưa thỏa
các chỉ tiêu kỹ thuật, thì chọn lại M hay tập tần số {(} hay các mẫu Hr((k) và trở lại từ
bước 2.
Bước 5: Cuối cùng là khâu xây dựng cấu trúc và thi công bộ lọc: Việc chọn tập tần
số {ω
k
} và các mẫu H
r

k
) tương ứng được dựa trên đáp ứng tần số của bộ lọc lý tưởng.
Tuy nhiên, việc chọn H
k

k
) thay đổi đột ngột ở tần số cắt sẽ làm phát sinh các gợn sóng
SV TH: Trần Đăng Dương - Phan Trọng Đạt- Phùng Hòa 22
(*)
(**)
Thiết kế bộ Vi phân theo cấu trúc FIR
trong dải thông và dải chặn không thể chấp nhận được. Để làm giảm biên độ các gợn
sóng, ta phải mở rộng dải quá độ bằng cách thêm vào một số mẫu H
r

k

) có giá trị trung
gian trong dải quá độ (gọi là các tham số quá độ).
- Do tính đối xứng, thay vì phải xác định M mẫu của H
r

k
) ta chỉ cần xác định
(M+1)/2 mẫu khi M lẻ [ tương ứng với k = 0, 1, …, (M-1)/2] và M/2 mẫu khi M chẵn
[ tương ứng với k = 0, 1, …, M/2-1]
3.3 Chương trình thiết kế:
Các bước thực hiện bởi Matlab như sau :

% Differentiator : Sample
% %
M = 33; alpha = (M-1)/2; Dw = 2*pi/M;
l = 0:M-1; wl = Dw*l;
k1 = 0:floor((M-1)/2); k2 = floor((M-1)/2)+1:M-1;
Hrs = [j*Dw*k1,-j*Dw*(M-k2)];

angH = [-alpha*Dw*k1, alpha*Dw*(M-k2)];
H = Hrs.*exp(j*angH);
h = real(ifft(H,M));
[Hr,ww,a,P]=Hr_Type3(h);
% plots
subplot(1,1,1)
subplot(2,1,1); k = 1:(M+1)/2;
plot(ww/pi,
+Hr/pi,wl(k)/pi,abs(Hrs(k))/pi,'o',wl(k)/pi,wl(k)/pi);
title('Differentiator, frequency sampling design : M =
33');

xlabel('frequency in pi units'); ylabel('Hr in pi units');
subplot(2,1,2); stem(l,h); axis([-1,M,-1.1,1.1]);
title('Impulse response'); xlabel('n'); ylabel('h(n)');
set(gca,'XTickMode','manual','XTick',[0;alpha;M-1])
%end
SV TH: Trần Đăng Dương - Phan Trọng Đạt- Phùng Hòa 23
Thiết kế bộ Vi phân theo cấu trúc FIR
SV TH: Trần Đăng Dương - Phan Trọng Đạt- Phùng Hòa 24
Thiết kế bộ Vi phân theo cấu trúc FIR
PHẦN 4
THIẾT KẾ BỘ VI PHÂN THEO CẤUU TRÚC FIR
BẰNG PHƯƠNG PHÁP TỐI ƯU CÂN BẰNG GỢN SÓNG
4.1. Kỹ thuật thiết kế bộ lọc FIR tối ưu cân bằng gợn sóng:
Khái niệm
Có 3 phương pháp thiết kế bộ lọc FIR đó là:
1. Phương pháp cửa sổ: Ý tưởng cơ bản: 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ổ) đáp ứng
xung của nó để thu được bộ lọc FIR có pha tuyến tính và nhân quả
2. Phương pháp lấy mẫu tần số: cách tiếp cận này là dựa trên sự kiện hàm truyền hệ
thống H(z) có thể thu được từ các mẫu H(k) của đáp ứng tần số
)(
ω
j
eH
3. Phương pháp tối ưu cân bằng gợn sóng
Hai phương pháp thiết kế của sổ và lấy mẫu tần số có các nhược điểm sau:
- Trong quá trình thiết kế chúng ta không thể ấn định trước các tần số của dải
ps
ωω
,

.
- Không thể ấn định cả 2 hệ số gợn sóng một cách đồng thời.
- Các lỗi xấp xỉ, là hiệu của đáp ứng lý tưởng và đáp ứng thực tế không phân bố đều
đặn trên các khoảng dải tần.
Đối với các bộ lọc FIR pha tuyến tính, có thể đạt đến một tập các điều kiện để có thể cải
thiện sao cho giải pháp thiết kế là tối ưu theo nghĩa tối thiểu hóa lỗi xấp xỉ cực đại (còn
được gọi là lỗi minimax hoặc lỗi Chebyshev).
Lỗi cực đại:
( )
ωδ
ω
E
S

=
max
Bộ lọc có tính chất trên được gọi là bộ lọc tối ưu cân bằng gợn sóng vì lỗi xấp xỉ được
phân bố đều đặn trong cả dải thông và dải chắn.
Bài toán minimax (bài toán xấp xỉ Chebyshev)
Đáp ứng tần số của 4 loại bộ lọc FIR pha tuyến tính được cho bởi công thức:
)()(
2
1
ω
ω
βω
r
M
j
jj

HeeeH


=
Trong đó:
)(,
ωβ
r
H
đối với từng loại bộ lọc FIR pha tuyến tính được cho bởi bảng sau:
Loại bộ lọc FIR
pha tuyến tính
β
Đáp ứng độ lớn
)(
ω
r
H
1 0


=
2/)1(
0
)cos()(
M
n
nna
ω
SV TH: Trần Đăng Dương - Phan Trọng Đạt- Phùng Hòa 25

×