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) =
b
k
z
k
M1
k=0
(5.2)
Hay đáp ứng xung:
h(n) =
b
n
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à:
H
k
(z) = b
k0
+ b
k1
z
-1
+ b
k2
z
-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:
H
1
(z)
x(n) =
x
1
(n)
H
2
(z)
y
1
(n) =
x
2
(n)
y
2
(n) =
x
3
(n)
…
H
K
(z)
y
K
(n) =
y(n)
H
1
(z)
H
1
(z)
b
k1
b
k0
b
k2
x
k(n)
y
k(n)
= x
k+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 H
1
(z) chỉ
chứa các điểm không và tầng thứ hai H
2
(z) chứa các mạch lọc đơn cực song song.
H
1
(z) =
1
2
(5.13)
H
2
(z) =
(+)
1
1
2
(+)
1
=0
(5.14)
Các điểm không và điểm cực lần lượt là:
z
k
=
2
(+)
p
k
=
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:
H
m
(z) = A
m
(z) (5.15)
Trong đó A
m
(z) là một đa thức có dạng:
A
m
(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à A
0
(z) = 1. Đáp ứng xung đơn vị của mạch lọc thứ m là: h
m
(0) = 1 và h
m
(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 K
1
= α
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:
f
1
(n) = f
0
(n) + K
1
g
0
(n – 1) (5.20)
g
1
(n) = K
1
f
0
(n) + g
0
(n – 1)
Nên:
f
2
(n) = f
1
(n) + K
2
g
1
(n – 1) (5.21)
g
2
(n) = K
2
f
1
(n) + g
1
(n – 1)
Hình 5.5 – Cấu trúc mắt lưới 2 tầng
Từ (5.20) và (5.21):
f
2
(n) = f
0
(n) + K
1
g
0
(n – 1) + K
2
[K
1
f
0
(n – 1) + g
0
(n – 2)] (5.22)
Mà f
0
(n) = g
0
(n) = x(n):
f
2
(n) = x(n) + K
1
(1 + K
2
)x(n – 1) + K
2
x(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)
f
1
(n)
g
1
(n) g
0
(n)
f
0
(n)
K
1
K
1
z
-1
K
2
K
2
g
2
(n)
z
-1
x(n)
f
1
(n) = y(n)
g
1
(n) g
0
(n)
f
0
(n)
K
1
K
1
f
2
(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) = K
1
(1 + K
2
) và α
2
(2) = K
2
(5.24)
Hay:
K
2
= α
2
(2) và K
1
=
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:
f
0
(n) = g
0
(n) = x(n) (5.26)
f
m
(n) = f
m – 1
(n) + K
m
g
m – 1
(n – 1)
g
m
(n) = K
m
f
m – 1
(n) + g
m – 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) = f
M – 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ó:
f
m
(n) =
()
=0
, α
m
(0) = 1 (5.28)
g
m
(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:
F
m
(z) = A
m
(z)X(z) (5.30)
G
m
(z) = B
m
(z)X(z)
Từ β
m
(k) = α
m
(m – k):
B
m
(z) =
()
=0
=
=0
= z
-m
A
m
(z
-1
)(5.31)
Ngoài ra, theo (5.26):
F
0
(z) = G
0
(z) = X(z) (5.32)
F
m
(z) = F
m-1
(z) + K
m
G
m-1
(z)z
-1
z
-1
f
m
(n)
g
m
(n)
g
m-1
(n)
f
m-1
(n)
K
m
K
m
Tầng 1
x(n)
Tầng 2
Tầng 2
y(n) f
0
(n)
g
0
(n)
f
1
(n)
g
1
(n)
f
2
(n)
g
2
(n)
…
…
f
M -2
(n)
g
M-2
(n)
g
M-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
G
m
(z) = K
m
F
m-1
(z) + G
m-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):
A
0
(z) = B
0
(z) = 1 (5.33)
A
m
(z) = A
m-1
(z) + K
m
B
m-1
(z)z
-1
B
m
(z) = K
m
(z)A
m-1
(z) + B
m-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) = K
m
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 đó {b
k
} 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) = b
k
. 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
+
()
(12)/2
±
(12 )/2
(3)/2
=0
,
=
(1)/2
()
(12)/2
±
(12)/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 z
1
là nghiệm của H(z) thì 1/z
1
cũng là nghiệm. Trong trường hợp h(n) có
các hệ số thực, nếu z
1
là nghiệm phức thì cũng sẽ có nghiệm z
1
*
và cũng có nghiệm
1/z
1
*
.
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() = H
r
()e
-j(M – 1)/2
(5.42)
Trong đó:
H
r
() =
1
2
+ 2
1
2
,
(3)/2
=0
(5.43)
H
r
() =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() = H
r
()e
-j[(M – 1)/2 + /2]
(5.46)
Trong đó:
H
r
() = 2
1
2
,
(3)/2
=0
(5.47)
H
r
() =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 h
d
(n) và biến đổi Fourier H
d
():
H
d
() =
()
=0
(5.50)
h
d
(n) =
1
2
()
(5.51)
Tổng quát, đáp ứng xung h
d
(n) vô hạn trên miền thời gian nên ta thực hiện cắt
h
d
(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) = h
d
(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
Magnitude [dB]
M = 31
M = 61