Khi đó, các điểm không của H(z) sẽ được phân chia thành từng cặp trong đó thông thường các điểm không liên hiệp phức sẽ thuộc một nhóm để phương trình (5.6) có các hệ số thực. Các điểm không thực của H(z) có thể kết hợp với một điểm không bất kỳ còn lại.
22 trang |
Chia sẻ: haohao89 | Lượt xem: 2879 | Lượt tải: 1
Bạn đang xem trước 20 trang tài liệu Bài giảng Thiết kế mạch lọc số, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Xử lý số tín hiệu Chương 5: Thiết kế mạch lọc số
Trang 73 GV: Phạm Hùng Kim Khánh
Chương 5
THIẾT KẾ MẠCH LỌC SỐ
1. Cấu trúc của hệ FIR
Tổng quát, một hệ thống FIR mô tả bằng phương trình sai phân:
y(n) = 𝑏𝑘𝑥(𝑛 − 𝑘)
𝑀−1
𝑘=0 (5.1)
Hệ thống này được biểu diễn bằng hàm hệ thống:
H(z) = bkz
−kM−1
k=0 (5.2)
Hay đáp ứng xung:
h(n) =
bn 0 ≤ n ≤ M− 1
0 khác
(5.3)
1.1. Cấu trúc dạng trực tiếp
Dạng trực tiếp có thể xây dựng ngay từ phương trình sai phân không đệ quy
(5.1) hay phương trình tương đương:
y(n) = ℎ(𝑛)𝑥(𝑛 − 𝑘)𝑀−1𝑘=0 (5.4)
Hình 5.1 – Cấu trúc dạng trực tiếp của hệ thống FIR
Ta thấy, khi dùng cấu trúc này thì cần M – 1 ô nhớ để lưu M – 1 giá trị ngõ vào
trước đó và thực hiện M phép nhân và M – 1 phép cộng số phức để tính một giá trị ngõ
ra.
1.2. Cấu trúc dạng liên tầng
Từ phương trình (5.2), ta có thể phân tích dưới dạng:
H(z) = 𝐻𝑘(𝑧)
𝐾
𝑘=1 (5.5)
Xét cấu trúc một tầng ở dạng bậc 2, nghĩa là:
Hk(z) = bk0 + bk1z
-1
+ bk2z
-2
(5.6)
x(n)
z
-1
z
-1
z
-1
y(n)
…
h(0)
h(1)
h(M-1)
Xử lý số tín hiệu Chương 5: Thiết kế mạch lọc số
Trang 74 GV: Phạm Hùng Kim Khánh
Khi đó, các điểm không của H(z) sẽ được phân chia thành từng cặp trong đó
thông thường các điểm không liên hiệp phức sẽ thuộc một nhóm để phương trình (5.6)
có các hệ số thực. Các điểm không thực của H(z) có thể kết hợp với một điểm không
bất kỳ còn lại.
Hình 5.2 – Cấu trúc liên tầng của hệ thống FIR
1.3. Cấu trúc dạng lấy mẫu tần số
Xét đáp ứng xung h(n) của hệ thống LTI có đáp ứng tần số là:
H() = ℎ(𝑛)𝑒−𝑗𝜔𝑛𝑀−1𝑛=0 (5.7)
Ta chỉ định một tập tần số như sau:
k =
2𝜋
𝑀
(𝑘 + 𝛼),
𝑘 = 0, 1,… ,
𝑀−1
2
𝑛ế𝑢 𝑀 𝑙ẻ
𝑘 = 0, 1,… ,
𝑀
2
− 1 𝑛ế𝑢 𝑀 𝑐ℎẵ𝑛
𝛼 = 0 ℎ𝑎𝑦
1
2
(5.8)
Khi đó:
H(k + α) = H(
2𝜋
𝑀
(𝑘 + 𝛼)) = ℎ(𝑛)𝑒−𝑗
2𝜋
𝑀
(𝑘+𝛼)𝑛𝑀−1
𝑛=0 (5.9)
Tập hợp các giá trị {H(k + α)} gọi là các mẫu tần số của H(). Trong trường
hợp α = 0, {H(k)} tương ứng với DFT M điểm của {h(n)}.
Từ (5.9):
h(n) =
1
𝑀
𝐻(𝑘 + 𝛼)𝑒 𝑗
2𝜋
𝑀
(𝑘+𝛼)𝑛𝑀−1
𝑘=0 (5.10)
Khi α = 0, (5.10) chính là IDFT của {H(k)}. Thực hiện biến đổi z (5.10):
H(z) =
1
𝑀
𝐻(𝑘 + 𝛼)𝑒 𝑗
2𝜋
𝑀
(𝑘+𝛼)𝑛𝑀−1
𝑘=0
𝑀−1
𝑛=0 𝑧
−𝑛 (5.11)
Hay có thể viết lại như sau:
H1(z)
x(n) =
x1(n) H2(z)
y1(n) =
x2(n)
y2(n) =
x3(n) … HK(z)
yK(n) =
y(n)
H1(z)
H1(z)
bk1
bk0
bk2
xk(n) yk(n) = xk+1(n)
Xử lý số tín hiệu Chương 5: Thiết kế mạch lọc số
Trang 75 GV: Phạm Hùng Kim Khánh
H(z) = 𝐻(𝑘 + 𝛼)
1
𝑀
𝑒 𝑗
2𝜋
𝑀
(𝑘+𝛼)𝑧−1
𝑛
𝑀−1
𝑛=0
𝑀−1
𝑘=0 (5.12)
=
1−𝑧−𝑀𝑒 𝑗2𝜋𝛼
𝑀
𝐻(𝑘+𝛼)
1−𝑧−1𝑒
𝑗
2𝜋
𝑀 (𝑘+𝛼)
𝑀−1
𝑘=0
Như vậy, H(z) được xây dựng từ tập mẫu tần số {H(k + α)} thay thế cho tập
{h(n)}.
Ta biểu diễn mạch lọc ở dạng ghép liên tầng bao gồm 2 tầng: tầng đầu H1(z) chỉ
chứa các điểm không và tầng thứ hai H2(z) chứa các mạch lọc đơn cực song song.
H1(z) =
1−𝑧−𝑀𝑒 𝑗2𝜋𝛼
𝑀
(5.13)
H2(z) =
𝐻(𝑘+𝛼)
1−𝑧−1𝑒
𝑗
2𝜋
𝑀 (𝑘+𝛼)
𝑀−1
𝑘=0 (5.14)
Các điểm không và điểm cực lần lượt là:
zk = 𝑒
𝑗
2𝜋
𝑀
(𝑘+𝛼)
pk = 𝑒
𝑗
2𝜋
𝑀
(𝑘+𝛼)
Rõ ràng các điểm không và điểm cực giống nhau cùng ở tần số k =
2𝜋
𝑀
(𝑘 + 𝛼)
là các tần số được chỉ định trước tại (5.8).
Hình 5.3 – Cấu trúc dạng lấy mẫu tần số
1.4. Cấu trúc dạng mắt lưới
Xét mạch lọc FIR với hàm hệ thống:
Hm(z) = Am(z) (5.15)
Trong đó Am(z) là một đa thức có dạng:
Am(z) = 1 + 𝛼𝑚 𝑘 𝑧
−𝑘𝑚
𝑘=1 (5.16)
z
-M
x(n)
𝑒−𝑗2𝜋𝛼
z
-1
H(α)
z
-1
H(1+α)
𝑒−𝑗
2𝜋
𝑀 𝛼
𝑒−𝑗
2𝜋
𝑀 (1+𝛼)
z
-1
H(M - 1+α)
𝑒−𝑗
2𝜋
𝑀 (𝑀−1+𝛼)
y(n)
Xử lý số tín hiệu Chương 5: Thiết kế mạch lọc số
Trang 76 GV: Phạm Hùng Kim Khánh
và A0(z) = 1. Đáp ứng xung đơn vị của mạch lọc thứ m là: hm(0) = 1 và hm(k) =
αm(k), k = 1, 2, …, m.
Gọi {x(n)} là chuỗi ngõ vào và {y(n)} là chuỗi ngõ ra, ta có:
y(n) = x(n) + 𝛼𝑚 𝑘 𝑥(𝑛 − 𝑘)
𝑚
𝑘=1 (5.17)
Xét mạch lọc bậc 1 (m = 1):
y(n) = x(n) + α1(1)x(n – 1) (5.18)
Cấu trúc mạch lọc như hình vẽ sau ứng với K1 = α1(1):
Hình 5.4 – Cấu trúc mắt lưới đơn tầng
Xét trường hợp m = 2:
y(n) = x(n) + α2(1)x(n – 1) + α2(2)x(n – 2) (5.19)
Thực hiện ghép 2 tầng từ dạng đơn tầng như hình 5.4:
f1(n) = f0(n) + K1g0(n – 1) (5.20)
g1(n) = K1f0(n) + g0(n – 1)
Nên:
f2(n) = f1(n) + K2g1(n – 1) (5.21)
g2(n) = K2f1(n) + g1(n – 1)
Hình 5.5 – Cấu trúc mắt lưới 2 tầng
Từ (5.20) và (5.21):
f2(n) = f0(n) + K1g0(n – 1) + K2[K1f0(n – 1) + g0(n – 2)] (5.22)
Mà f0(n) = g0(n) = x(n):
f2(n) = x(n) + K1(1 + K2)x(n – 1) + K2x(n – 2) (5.23)
Phương trình của cấu trúc mắt lưới 2 tầng giống với phương trình của hệ FIR
(5.19) khi các hệ số bằng nhau, nghĩa là:
z
-1
x(n)
f1(n)
g1(n) g0(n)
f0(n)
K1
K1
z
-1
K2
K2
g2(n)
z
-1
x(n)
f1(n) = y(n)
g1(n) g0(n)
f0(n)
K1
K1
f2(n) = y(n)
Xử lý số tín hiệu Chương 5: Thiết kế mạch lọc số
Trang 77 GV: Phạm Hùng Kim Khánh
α2(1) = K1(1 + K2) và α2(2) = K2 (5.24)
Hay:
K2 = α2(2) và K1 =
𝛼2(1)
1+𝛼2(2)
(5.25)
Khi tiếp tục thực hiện quá trình như trên, ta có thể xây dựng được cấu trúc
mạch lọc mắt lưới m tầng từ tập hợp các phương trình đệ quy theo thứ tự sau:
f0(n) = g0(n) = x(n) (5.26)
fm(n) = fm – 1(n) + Kmgm – 1(n – 1)
gm(n) = Kmfm – 1(n) + gm – 1(n – 1), m = 1, 2, …, M – 1
trong đó ngõ ra của tầng thứ M – 1 tương ứng với ngõ ra của một mạch lọc bậc
M – 1:
y(n) = fM – 1(n) (5.27)
Hình 5.6 – Cấu trúc mạch lọc dạng mắt lưới M – 1 tầng
Theo phương trình của mạch lọc dạng trực tiếp và dạng mắt lưới, ta có:
fm(n) = 𝛼𝑚 𝑘 𝑥(𝑛 − 𝑘)
𝑚
𝑘=0 , αm(0) = 1 (5.28)
gm(n) = 𝛽𝑚 𝑘 𝑥(𝑛 − 𝑘)
𝑚
𝑘=0 , βm(m) = 1 (5.29)
trong đó βm(k) = αm(m – k), k = 0, 1, …, m. Thực hiện biến đổi z:
Fm(z) = Am(z)X(z) (5.30)
Gm(z) = Bm(z)X(z)
Từ βm(k) = αm(m – k):
Bm(z) = 𝛼𝑚(𝑚 − 𝑘)𝑧
−𝑘 𝑚
𝑘=0 = 𝑧
−𝑚 𝛼𝑚 𝑘 𝑧
𝑘𝑚
𝑘=0 = z
-m
Am(z
-1
)(5.31)
Ngoài ra, theo (5.26):
F0(z) = G0(z) = X(z) (5.32)
Fm(z) = Fm-1(z) + KmGm-1(z)z
-1
z
-1
fm(n)
gm(n)
gm-1(n)
fm-1(n)
Km
Km
Tầng 1
x(n)
Tầng 2
Tầng 2
y(n) f0(n)
g0(n)
f1(n)
g1(n)
f2(n)
g2(n)
…
… fM -2(n)
gM-2(n) gM-1(n)
Xử lý số tín hiệu Chương 5: Thiết kế mạch lọc số
Trang 78 GV: Phạm Hùng Kim Khánh
Gm(z) = KmFm-1(z) + Gm-1(z)z
-1
Chia 2 vế của phương trình (5.32) cho X(z) và áp dụng kết quả (5.30):
A0(z) = B0(z) = 1 (5.33)
Am(z) = Am-1(z) + KmBm-1(z)z
-1
Bm(z) = Km(z)Am-1(z) + Bm-1(z)z
-1
Hay có thể biểu diễn ở dạng ma trận:
𝐴𝑚(𝑧)
𝐵𝑚(𝑧)
=
1 𝐾𝑚
𝐾𝑚 1
𝐴𝑚−1(𝑧)
𝐵𝑚−1(𝑧)𝑧
−1 (5.34)
Khi thực hiện chuyển đổi các hệ số từ dạng trực tiếp sang dạng mắt lưới hay
ngược lại, ta cần chú ý các kết quả sau:
αm(0) = 1 (5.35)
αm(m) = Km
2. Thiết kế bộ lọc FIR
2.1. Bộ lọc FIR đối xứng và phản đối xứng
Bộ lọc FIR kích thước M mô tả bằng phương trình sai phân:
y(n) = 𝑏𝑘𝑥(𝑛 − 𝑘)
𝑀−1
𝑘=0 (5.36)
trong đó {bk} là các hệ số của mạch lọc. Biểu diễn theo tích chập của đáp ứng
xung của hệ thống:
y(n) = ℎ(𝑘)𝑥(𝑛 − 𝑘)𝑀−1𝑘=0 (5.37)
Như vậy, đáp ứng xung của hệ thống h(k) = bk. Hàm hệ thống:
H(z) = ℎ(𝑘)𝑧−𝑘𝑀−1𝑘=0 (5.38)
Mạch lọc FIR có pha tuyến tính khi đáp ứng xung h(n) thỏa mãn điều kiện;
h(n) = h(M – 1 – n) (5.39)
Phương trình (5.39) gọi là điều kiện đối xứng và phản đối xứng của mạch lọc.
Kết hợp với (5.38):
H(z) = h(0) + h(1)z
-1
+ … + h(M – 1)z-(M – 1) (5.40)
= 𝑧−(𝑀−1)/2 ℎ
𝑀−1
2
+ ℎ(𝑛) 𝑧(𝑀−1−2𝑛)/2 ± 𝑧−(𝑀−1−2𝑛)/2
(𝑀−3)/2
𝑛=0 ,𝑀 𝑙ẻ
= 𝑧−(𝑀−1)/2 ℎ(𝑛) 𝑧(𝑀−1−2𝑛)/2 ± 𝑧−(𝑀−1−2𝑛)/2
𝑀
2
−1
𝑛=0 ,𝑀 𝑐ℎẵ𝑛
Thay thế z-1 bằng z trong (5.38), ta có:
z
-(M – 1)
H(z
-1
) = H(z) (5.41)
Từ đó, ta thấy nghiệm của đa thức H(z) tương tự nghiệm của đa thức H(z-1),
nghĩa là nếu z1 là nghiệm của H(z) thì 1/z1 cũng là nghiệm. Trong trường hợp h(n) có
các hệ số thực, nếu z1 là nghiệm phức thì cũng sẽ có nghiệm z1
*
và cũng có nghiệm
1/z1
*
.
Nếu h(n) = h(M – 1 – n), H() biểu diễn như sau:
Xử lý số tín hiệu Chương 5: Thiết kế mạch lọc số
Trang 79 GV: Phạm Hùng Kim Khánh
H() = Hr()e
-j(M – 1)/2
(5.42)
Trong đó:
Hr() = ℎ
𝑀−1
2
+ 2 ℎ 𝑛 𝑐𝑜𝑠𝜔
𝑀−1
2
− 𝑛 ,𝑀 𝑙ẻ
(𝑀−3)/2
𝑛=0 (5.43)
Hr() =2 ℎ 𝑛 𝑐𝑜𝑠𝜔
𝑀−1
2
− 𝑛 ,𝑀 𝑐ℎẵ𝑛
𝑀
2
−1
𝑛=0 (5.44)
Đặc tính pha của bộ lọc là:
Θ 𝜔 =
−𝜔
𝑀−1
2
𝑛ế𝑢 𝐻𝑟 𝜔 > 0
−𝜔
𝑀−1
2
+ 𝜋 𝑛ế𝑢 𝐻𝑟 𝜔 < 0
(5.45)
Nếu h(n) = - h(M – 1 – n):
H() = Hr()e
-j[(M – 1)/2 + /2]
(5.46)
Trong đó:
Hr() = 2 ℎ 𝑛 𝑠𝑖𝑛𝜔
𝑀−1
2
− 𝑛 ,𝑀 𝑙ẻ
(𝑀−3)/2
𝑛=0 (5.47)
Hr() =2 ℎ 𝑛 𝑠𝑖𝑛𝜔
𝑀−1
2
− 𝑛 ,𝑀 𝑐ℎẵ𝑛
𝑀
2
−1
𝑛=0 (5.48)
Đặc tính pha của bộ lọc là:
Θ 𝜔 =
𝜋
2
−𝜔
𝑀−1
2
𝑛ế𝑢 𝐻𝑟 𝜔 > 0
3𝜋
2
−𝜔
𝑀−1
2
+ 𝜋 𝑛ế𝑢 𝐻𝑟 𝜔 < 0
(5.49)
2.2. Bộ lọc FIR pha tuyến tính dùng cửa sổ
Xét mạch lọc có đáp ứng xung hd(n) và biến đổi Fourier Hd():
Hd() = ℎ𝑑(𝑛)𝑒
−𝑗𝜔𝑛∞
𝑛=0 (5.50)
hd(n) =
1
2𝜋
𝐻𝑑(𝜔)𝑒
𝑗𝜔𝑛 𝑑𝜔
𝜋
−𝜋
(5.51)
Tổng quát, đáp ứng xung hd(n) vô hạn trên miền thời gian nên ta thực hiện cắt
hd(n) tại điểm n = M – 1 (để kích thước mạch lọc là M) bằng cách nhân với hàm cửa sổ
chữ nhật:
h(n) = hd(n)w(n) (5.52)
trong đó:
w(n) =
1 0 ≤ 𝑛 ≤ 𝑀 − 1
0 𝑛 𝑘ℎá𝑐
(5.53)
Xét trên miền tần số:
H() =
1
2𝜋
𝐻𝑑 𝑣 𝑊 𝜔 − 𝑣 𝑑𝑣
𝜋
−𝜋
(5.54)
Trong đó:
W() = 𝑤(𝑛)𝑒−𝑗𝜔𝑛𝑀−1𝑛=0 = 𝑒
−𝑗𝜔𝑛𝑀−1
𝑛=0 (5.55)
=
1−𝑒−𝑗𝜔𝑀
1−𝑒−𝑗𝜔
= 𝑒−𝑗𝜔 (𝑀−1)/2
sin(
𝜔𝑀
2
)
sin(
𝜔
2
)
Xử lý số tín hiệu Chương 5: Thiết kế mạch lọc số
Trang 80 GV: Phạm Hùng Kim Khánh
Hàm cửa sổ có đáp ứng biên độ và pha:
𝑊(𝜔) =
sin(
𝜔𝑀
2
)
sin(
𝜔
2
)
(5.56)
Θ 𝜔 =
−𝜔
𝑀−1
2
𝑛ế𝑢 sin
𝜔𝑀
2
≥ 0
−𝜔
𝑀−1
2
+ 𝜋 𝑛ế𝑢 sin
𝜔𝑀
2
< 0
(5.57)
Đáp ứng biên độ mô tả như hình 5.7. Độ rộng của búp sóng chính là 4/M nên
nếu M càng lớn thì búp sóng chính càng hẹp tuy nhiên biên độ của các búp sóng phụ
khá cao và hầu như không ảnh hưởng khi tăng M. Để giảm biên độ của các búp sóng
phụ, ta có thể thay đổi hình dạng cửa sổ. Tuy nhiên, độ rộng của búp sóng chính sẽ
tăng lên. Một số dạng cửa sổ mô tả như bảng 5.1.
Bảng 5.2 mô tả một số đặc tính của các hàm cửa sổ trên miền tần số bao gồm
độ rộng của búp sóng chính và đỉnh của búp sóng phụ.
Hình 5.7 – Đáp ứng biên độ của hàm cửa sổ chữ nhật với M = 31 và M = 61
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5
10
-3
10
-2
10
-1
10
0
10
1
10
2
Normalized frequency
M
ag
nit
ud
e
[d
B]
M = 31
M = 61
Xử lý số tín hiệu Chương 5: Thiết kế mạch lọc số
Trang 81 GV: Phạm Hùng Kim Khánh
Bảng 5.1 – Các hàm cửa sổ khi thiết kế mạch lọc FIR
Cửa sổ h(n) 0 ≤ n ≤ M – 1
Bartlett
(tam
giác)
1−
2 𝑛 −
𝑀 − 1
2
𝑀 − 1
Blackman
0.42− 0.5𝑐𝑜𝑠
2𝜋𝑛
𝑀 − 1
+ 0.08𝑐𝑜𝑠
4𝜋𝑛
𝑀 − 1
Hamming
0.54− 0.46𝑐𝑜𝑠
2𝜋𝑛
𝑀 − 1
Hanning 1
2
1− 𝑐𝑜𝑠
2𝜋𝑛
𝑀 − 1
Kaiser
𝐼0 𝛼
𝑀 − 1
2
2
− 𝑛 −
𝑀 − 1
2
2
𝐼0 𝛼
𝑀 − 1
2
Lanczos
𝑠𝑖𝑛 2𝜋 𝑛 −
𝑀 − 1
2
/(𝑀 − 1)
2𝜋 𝑛 −
𝑀 − 1
2
/(
𝑀 − 1
2
)
𝐿
, 𝐿 > 0
Tukey
1 𝑛 −
𝑀 − 1
2
< 𝛼
𝑀 − 1
2
, 0 < 𝛼 < 1
1
2
1 + 𝑐𝑜𝑠
𝑛 − 1 + 𝛼 (𝑀 − 1)/2
1− 𝛼 (𝑀 − 1)/2
𝛼 𝑀 − 1
2
≤ 𝑛 −
𝑀 − 1
2
≤
𝑀 − 1
2
I0: hàm Bessel sửa đổi bậc 0
In(x) =
1
𝜋
cos 𝜋𝜏 − 𝑥𝑠𝑖𝑛𝜏 𝑑𝜏
𝜋
0
Bảng 5.2 – Đặc tính tần số của một số cửa sổ
Cửa sổ Độ rộng búp sóng chính Đỉnh búp sóng phụ [dB]
Chữ nhật 4/M -13
Bartlett 8/M -27
Hanning 8/M -32
Hamming 8/M -43
Blackman 12/M -58
Xử lý số tín hiệu Chương 5: Thiết kế mạch lọc số
Trang 82 GV: Phạm Hùng Kim Khánh
Hình 5.8 – Dạng cửa sổ và đáp ứng tần số của cửa sổ Bartlett với N = 31
Hình 5.9 – Dạng cửa sổ và đáp ứng tần số của cửa sổ Blackman với N = 31
5 10 15 20 25 30
0
0.2
0.4
0.6
0.8
1
Samples
Am
plit
ud
e
Time domain
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9
-120
-100
-80
-60
-40
-20
0
20
40
Normalized Frequency ( rad/sample)
Ma
gn
itu
de
(d
B)
Frequency domain
5 10 15 20 25 30
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
Samples
Am
plit
ud
e
Time domain
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9
-140
-120
-100
-80
-60
-40
-20
0
20
40
Normalized Frequency ( rad/sample)
Ma
gn
itu
de
(d
B)
Frequency domain
Xử lý số tín hiệu Chương 5: Thiết kế mạch lọc số
Trang 83 GV: Phạm Hùng Kim Khánh
Hình 5.10 – Dạng cửa sổ và đáp ứng tần số của cửa sổ Hanning với N = 31
Hình 5.11 – Dạng cửa sổ và đáp ứng tần số của cửa sổ Hamming với N = 31
5 10 15 20 25 30
0
0.2
0.4
0.6
0.8
1
Samples
Am
plit
ud
e
Time domain
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9
-350
-300
-250
-200
-150
-100
-50
0
50
Normalized Frequency ( rad/sample)
Ma
gn
itu
de
(d
B)
Frequency domain
5 10 15 20 25 30
0
0.2
0.4
0.6
0.8
1
Samples
Am
plit
ud
e
Time domain
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9
-80
-60
-40
-20
0
20
40
Normalized Frequency ( rad/sample)
Ma
gn
itu
de
(d
B)
Frequency domain
Xử lý số tín hiệu Chương 5: Thiết kế mạch lọc số
Trang 84 GV: Phạm Hùng Kim Khánh
Hình 5.12 – Dạng cửa sổ và đáp ứng tần số của cửa sổ Kaiser với N = 31, β = 2.5
Hình 5.13 – Dạng cửa sổ và đáp ứng tần số của cửa sổ Tukey với N = 31
Xét hệ thống là mạch lọc pha tuyến tính với tần số mong muốn:
𝐻𝑑 𝜔 =
𝑒−𝑗𝜔 (𝑀−1)/2 0 ≤ 𝜔 ≤ 𝜔𝑐
0 𝑘ℎá𝑐
(5.58)
Đáp ứng xung đơn vị tương ứng là:
hd(n) =
1
2𝜋
𝑒
−𝑗𝜔 𝑛−
𝑀−1
2
𝑑𝜔
𝜔𝑐
−𝜔𝑐
=
𝑠𝑖𝑛𝜔𝑐 𝑛−
𝑀−1
2
𝜋 𝑛−
𝑀−1
2
(5.59)
5 10 15 20 25 30
0
0.2
0.4
0.6
0.8
1
Samples
Am
plit
ud
e
Time domain
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9
-60
-50
-40
-30
-20
-10
0
10
20
30
Normalized Frequency ( rad/sample)
Ma
gn
itu
de
(d
B)
Frequency domain
5 10 15 20 25 30
0
0.2
.4
.6
0.8
1
Samples
Am
plit
ud
e
Time domain
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9
-100
-80
-60
-40
-20
0
20
40
Normalized Frequency ( rad/sample)
Ma
gn
itu
de
(d
B)
Frequency domain
Xử lý số tín hiệu Chương 5: Thiết kế mạch lọc số
Trang 85 GV: Phạm Hùng Kim Khánh
Tổng quát, hd(n) là tín hiệu không nhân quả và vô hạn theo thời gian.
Nhân hd(n) với cửa sổ chữ nhật như (5.53):
h(n) =
𝑠𝑖𝑛𝜔𝑐 𝑛−
𝑀−1
2
𝜋 𝑛−
𝑀−1
2
0 ≤ 𝑛 ≤ 𝑀 − 1
0 𝑘ℎá𝑐
(5.60)
Đáp ứng tần số của (5.60) được mô tả như hình 5.14 với M = 61 và M = 101.
Hình 5.14 – Mạch lọc thông thấp FIR dùng cửa sổ chữ nhật với M = 61 và M = 101
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9
0
0.2
0.4
0.6
0.8
1
1.2
1.4
Normalized Frequency ( rad/sample)
Ma
gn
itu
de
Frequency domain
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9
0
0.2
0.4
0.6
0.8
1
1.2
1.4
Normalized Frequency ( rad/sample)
Ma
gn
itu
de
Frequency domain
Xử lý số tín hiệu Chương 5: Thiết kế mạch lọc số
Trang 86 GV: Phạm Hùng Kim Khánh
Đáp ứng tần số của một số cửa sổ như sau:
Hình 5.15 – Mạch lọc thông thấp FIR dùng cửa sổ chữ nhật (M = 101)
Hình 5.15 – Mạch lọc thông thấp FIR dùng cửa sổ Hamming (M = 101)
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9
-100
-80
-60
-40
-20
0
20
Normalized Frequency ( rad/sample)
Ma
gn
itu
de
(d
B)
Frequency domain
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9
-140
-120
-100
-80
-40
-20
0
20
Normalized Frequency ( rad/sample)
Ma
gn
itu
de
(d
B)
Frequency domain
Xử lý số tín hiệu Chương 5: Thiết kế mạch lọc số
Trang 87 GV: Phạm Hùng Kim Khánh
Hình 5.16 – Mạch lọc thông thấp FIR dùng cửa sổ Bartlett (M = 101)
Hình 5.17 – Mạch lọc thông thấp FIR dùng cửa sổ Hanning (M = 101)
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9
-60
-50
-40
-30
-20
-10
0
Normalized Frequency ( rad/sample)
Ma
gn
itu
de
(d
B)
Frequency domain
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9
-180
-160
-140
-120
-100
-80
-60
-40
-20
0
20
Normalized Frequency ( rad/sample)
Ma
gn
itu
de
(d
B)
Frequency domain
Xử lý số tín hiệu Chương 5: Thiết kế mạch lọc số
Trang 88 GV: Phạm Hùng Kim Khánh
Hình 5.18 – Mạch lọc thông thấp FIR dùng cửa sổ Blackman (M = 101)
Hình 5.19 – Mạch lọc thông thấp FIR dùng cửa sổ Kaiser (M = 101)
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9
-180
-160
-140
-120
-100
-80
-60
-40
-20
0
20
Normalized Frequency ( rad/sample)
Ma
gn
itu
de
(d
B)
Frequency domain
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9
-100
-80
-60
-40
-20
0
20
Normalized Frequency ( rad/sample)
Ma
gn
itu
de
(d
B)
Frequency domain
Xử lý số tín hiệu Chương 5: Thiết kế mạch lọc số
Trang 89 GV: Phạm Hùng Kim Khánh
Hình 5.20 – Mạch lọc thông thấp FIR dùng cửa sổ Tukey (M = 101)
2.3. Thiết kế mạch lọc FIR pha tuyến tính bằng phương pháp
lấy mẫu tần số
Khi sử dụng phương pháp lấy mẫu tần số để thiết kế mạch lọc FIR, ta chỉ ra đáp
ứng tần số mong muốn là một tập các tần số cách đều nhau:
k =
2𝜋
𝑀
(𝑘 + 𝛼),
𝑘 = 0, 1,… ,
𝑀−1
2
𝑛ế𝑢 𝑀 𝑙ẻ
𝑘 = 0, 1,… ,
𝑀
2
− 1 𝑛ế𝑢 𝑀 𝑐ℎẵ𝑛
𝛼 = 0 ℎ𝑎𝑦
1
2
(5.61)
Từ Hd() = ℎ𝑑(𝑛)𝑒
−𝑗𝜔𝑛∞
𝑛=0 ứng với các tần số như (5.61):
H(k + α) = H(
2𝜋
𝑀
(𝑘 + 𝛼)) = ℎ(𝑛)𝑒−𝑗
2𝜋
𝑀
(𝑘+𝛼)𝑛𝑀−1
𝑛=0 (5.62)
Đáp ứng xung đơn vị của mạch lọc:
h(n) =
1
𝑀
𝐻(𝑘 + 𝛼)𝑒 𝑗
2𝜋
𝑀
(𝑘+𝛼)𝑛𝑀−1
𝑘=0 (5.63)
Khi h(n) là các giá trị thực, ta thấy các mẫu tần số H(k + α) thỏa mãn điều kiện
đối xứng:
H(k + α) = H*(M – k – α) (5.64)
Từ (5.42) và (5.46), khi thực hiện lấy mẫu với tần số k =
2𝜋
𝑀
(𝑘 + 𝛼), ta được:
H(k + α) = 𝐻𝑟
2𝜋
𝑀
(k + α) 𝑒 𝑗
𝛽𝜋
2
−2𝜋 𝑘+𝛼 (𝑀−1)/2𝑀
(5.65)
trong đó β = 1 khi h(n) là phản đối xứng và β = 0 khi h(n) đối xứng.
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9
-140
-120
-100
-80
-60
-40
-20
0
20
Normalized Frequency ( rad/sample)
Ma
gn
itu
de
(d
B)
Frequency domain
Xử lý số tín hiệu Chương 5: Thiết kế mạch lọc số
Trang 90 GV: Phạm Hùng Kim Khánh
Ta định nghĩa một tập hợp các mẫu tần số thực như sau:
G(k + α) = −1 𝑘𝐻𝑟
2𝜋
𝑀
(k + α) (5.66)
Từ (5.65) và (5.66):
H(k + α) = 𝐺 k + α 𝑒𝑗𝜋𝑘 𝑒 𝑗
𝛽𝜋
2
−2𝜋 𝑘+𝛼 (𝑀−1)/2𝑀
(5.67)
Điều kiện đối xứng của (5.64) được thay thế bằng điều kiện đối xứng của
𝐺 k + α . Kết quả được mô tả trong bảng 8.3.
Bảng 8.3 – Đáp ứng xung đơn vị h(n) = h(M – 1 – n)
Đối xứng
α = 0
H(k) = G(k)e
jπk/M
G(k) = −1 𝑘𝐻𝑟
2𝜋𝑘
𝑀
G(k) = – G(M – k)
h(n) =
1
𝑀
𝐺 0 + 2 𝐺 𝑘 𝑐𝑜𝑠
2𝜋𝑘
𝑀
(𝑛 +
1
2
)𝑈𝑘=1
U =
𝑀−1
2
𝑀 𝑙ẻ
𝑀
2
− 1 𝑀 𝑐ℎẵ𝑛
α = ½
H(k + ½) = G(k + ½)e
-jπ/2
e
jπ(2k+1)/2M
G(k + ½) = −1 𝑘𝐻𝑟
2𝜋
𝑀
(𝑘 +
1
2
) G(k + ½) = G(M – k – ½)
h(n) =
2
𝑀
𝐺 𝑘 +
1
2
𝑠𝑖𝑛
2𝜋
𝑀
(𝑘 +
1
2
)(𝑛 +
1
2
)𝑈𝑘=0
Phản đối xứng
α = 0 H(k) = G(k) ejπ/2ejπk/M
G(k) = −1 𝑘𝐻𝑟
2𝜋𝑘
𝑀
G(k) = G(M – k)
h(n) =
−
2
𝑀
𝐺 𝑘 𝑠𝑖𝑛
2𝜋𝑘
𝑀
𝑛 +
1
2
𝑈𝑘=1 𝑀 𝑙ẻ
1
𝑀
(−1)𝑛+1𝐺 𝑀/2 + 2 𝐺 𝑘 𝑠𝑖𝑛
2𝜋𝑘
𝑀
(𝑛 +
1
2
)𝑈𝑘=1 𝑀 𝑐ℎẵ𝑛
α = ½ H(k + ½) = G(k + ½)ejπ(2k+1)/2M
G(k + ½) = −1 𝑘𝐻𝑟
2𝜋
𝑀
(𝑘 +
1
2
)
G(k + ½) = - G(M – k – ½) G(M/2) = 0 khi M lẻ
h(n) =
2
𝑀
𝐺 𝑘 +
1
2
𝑐𝑜𝑠
2𝜋
𝑀
(𝑘 +
1
2
)(𝑛 +
1
2
)𝑉𝑘=0
V =
𝑀−3
2
𝑀 𝑙ẻ
𝑀
2
− 1 𝑀 𝑐ℎẵ𝑛
Xử lý số tín hiệu Chương 5: Thiết kế mạch lọc số
Trang 91 GV: Phạm Hùng Kim Khánh
Ví dụ: Xác định các hệ số của mạch lọc FIR có pha tuyến tính kích thước M =
15 có đáp ứng xung đối xứng và đáp ứng tần số:
𝐻𝑟
2𝜋𝑘
15
=
1 𝑘 = 0,1,2,3
0.4 𝑘 = 4
0 𝑘 = 5,6,7
Do h(n) là đối xứng và các tần số chọn ứng với α = 0 nên theo bảng 8.3:
G(k) = −1 𝑘𝐻𝑟
2𝜋𝑘
15
=
1 𝑘 = 0,2
−1 𝑘 = 1,3
0.4 𝑘 = 4
0 𝑘 = 5,6,7
h(n) =
1
15
𝐺 0 + 2 𝐺 𝑘 𝑐𝑜𝑠
2𝜋𝑘
15
(𝑛 +
1
2
)7𝑘=1
h(0) = h(14) = - 0.014