Phillips et al., Signals, Systems and Transforms, 4th ed., Prentice Hall, 2007. Proakis and Manolakis, Digital Signal Processing –principles, algorithms and applications, 4th ed, Pretice Hall, 2006.
Trang 1XỬ LÝ SỐ TÍN HIỆU 2 (DSP2)
THIẾT KẾ BỘ LỌC SỐ
Hồ Phước Tiến (hptien@yahoo.com)
ĐẠI HỌC BÁCH KHOA – ĐẠI HỌC ĐÀ NẴNG
Trang 2Nội dung
Căn bản về xử lý số tín hiệu (DSP1)
Hệ thống LTI
Biến đổi Z
Biến Fourier thời gian rời rạc (DTFT)
Biến đổi Fourier rời rạc (DFT)
Cấu trúc bộ lọc số
Thiết kế bộ lọc số FIR
Thiết kế bộ lọc số IIR
Trang 3Tài liệu tham khảo
- Ingle and Proakis, Digital Signal Processing using
Matlab, 3rd ed, Cengage Learning, 2011.
- Ví dụ, code…
- Phillips et al., Signals, Systems and Transforms, 4th ed.,
Prentice Hall, 2007
- Proakis and Manolakis, Digital Signal Processing –
principles, algorithms and applications, 4th ed, Pretice
Hall, 2006
Trang 4Kiểm tra
- Bài tập
- Báo cáo
- Vấn đáp
Trang 5XỬ LÝ SỐ TÍN HIỆU 1
(DSP1)
ĐẠI HỌC BÁCH KHOA – ĐẠI HỌC ĐÀ NẴNG
Trang 6Nội dung
Tín hiệu rời rạc
Hệ thống rời rạc LTI
Biến đổi Z
Biến Fourier thời gian rời rạc (DTFT)
Biến đổi Fourier rời rạc (DFT)
Trang 7Tài liệu tham khảo
Phillips et al., Signals, Systems and Transforms, 4th ed.,
Prentice Hall, 2007
Proakis and Manolakis, Digital Signal Processing –
principles, algorithms and applications, 4th ed, Pretice
Hall, 2006
Trang 8Cấu trúc bộ lọc
(Phần 1)
Trang 10Phân loại dựa trên đặc tính pha
Trong nhiều ứng dụng, bộ lọc số được yêu cầu không làm sái dạng (distort) pha của các thành phần tín hiệu đầu vào trong dải thông
Một cách để tránh sái dạng pha là tạo ra một đáp ứng tần số của bộ lọc có giá trị thực và không âm, nghĩa là thiết kế một bộ lọc có pha bằng 0
Tuy nhiên, không thể thiết kế bộ lọc số nhân quả có pha bằng 0
)(ejw
H
e H e
X e
H e
X e
Y
jw H j jw
jw jw
jw
) (
) (
) (
) (
)
Trang 11Hàm truyền có pha bằng không
Đối với những ứng dụng không phải là thời gian thực(real time) của tín hiệu đầu vào là thực và có chiều dàihữu hạn, bộ lọc có pha bằng không có thể đạt đượcbằng cách bỏ qua yêu cầu về nhân quả (causality)
Sơ đồ bộ lọc có pha bằng không có thể như sau:
Kiểm tra trong miền tần số !
Với X(ejw), U(ejw), V(ejw), Y(ejw) lần lượt là DTFT của x[n], u[n], v[n] và y[n]
Trang 12Hàm truyền có pha bằng không
Từ hình trước, ta có:
Trang 13Hàm truyền có pha tuyến tính
Trong trường hợp hàm truyền nhân quả có đáp ứng pha khác không, sự sai dạng về pha có thể tránh được bằng cách đảm bảo hàm truyền có biên độ bằng 1 và pha tuyến tính trong dải tần mong muốn
Dạng chung nhất của bộ lọc có pha tuyến tính có đáp ứng tần số như sau:
có pha tuyến tính từ w=0 đến w=2π Chú ý rằng:
jDw jw
e e
H ( )
D w
e
)
(
1 )
(
Trang 14Hàm truyền có pha tuyến tính
Đầu ra y[n] của bộ lọc này với đầu vào x[n]=Ae jwn sẽ là:
Nếu x a (t) và y a (t) là tín hiệu thời gian liên tục, mà lấy mẫu tại
t = nT sẽ cho x[n] và y[n] ở trên, thì độ trễ giữa x a (t) và y a (t)
chính là độ trễ nhóm (group delay) có giá trị là D (dạng
sóng của tín hiệu ra giống hệt dạng sóng tín hiệu vào và trễ
đi D đơn vị thời gian)
Nếu D là số nguyên, thì y[n] giống hệt x[n], nhưng trễ đi D mẫu Nếu D không phải số nguyên, y[n], bị làm trễ một
lượng có dạng phân số, sẽ không giống hệt x[n]
) (
] [ n Ae jwne jDw Ae jw n D
Trang 15Hàm truyền có pha tuyến tính
Nếu muốn các thành phần của tín hiệu đầu vào được
truyền qua dải tần nào đó mà không bị sái dạng về cả
biên độ lẫn pha, thì hàm truyền phải có biên độ bằng 1 và pha tuyến tính trong dải tần mong muốn
Hình bên minh họa bộ lọc thông
thấp có pha tuyến tính trong dải
Trang 16Tại sao pha tuyến tính?
Vì bộ lọc pha tuyến tính có độ trễ nhóm là hằng số, tất
cả các thành phần tần số sẽ có cùng độ trễ về thời gian
Hệ thống có pha tuyến tính thỏa tính chất về độ trễ thờigian thực (true time delay) (độ trễ thời gian bất biến theotần số) Do đó, không có sái dạng liên quan đến tần sốđược chọn Trong nhiều ứng dụng, độ trễ nhóm là hằng
số có nhiều ưu điểm
Ngược lại, bộ lọc có pha không tuyến tính sẽ có độ trễnhóm thay đổi theo tần số, dẫn đến sái dạng về pha(phase distortion)
Trang 17Ví dụ về bộ lọc pha tuyến tính/không tuyến tính
Trang 18Một chút sâu hơn về trễ nhóm
Trễ nhóm là một phép đo về thời gian chuyển tiếp
(transit time) theo tần số của một tín hiệu đi qua mộtthiết bị được test (device under test -DUT), (tất cả tínhiệu đều bị trễ khi đi qua một thiết bị như không khí, bộkhuếch đại hay loa)
Độ trễ nhỏ thường không phải là vấn đề, nhưng nếu độtrễ là khác nhau với các tần số khác nhau và tín hiệubao gồm nhiều hơn một tần số thì hình dạng của tín hiệu
sẽ bị sái dạng Nói một cách ngắn gọn, trễ nhóm liênquan đến độ trễ khác nhau với các tần số khác nhau
Trễ nhóm có vai trò quan trọng trong lĩnh vực âm thanh,
đặc biệt trong việc tái hiện (reproduction) lại âm thanh.
Nhiều thành phần của quá trình tái hiện âm thanh, nhất
là loa và hệ thống loa đa đường (multiway loudspeakers crossover networks), gây nên trễ nhóm
Trang 19Phase Distortion & more …
Audibility and Musical Understanding of Phase Distortion
http://www.ocf.berkeley.edu/~ashon/audio/phase/phaseaud2.htm
Phase Distortion in Loudspeakers: crossover network
How to measure the phase performance of a loudspeaker ?
Phase Distortion at Passband Edges
http://www.dsprelated.com/dspbooks/filters/Phase_Distortion_Passban d_Edges.html
the most phase dispersion occurs at the extreme edge of
the passband
delay effects on echo and reverberation, in which delay characteristics are as important as magnitude characteristics.
Trang 20Làm thế nào để có pha tuyến tính?
Tìm đáp ứng xung của bộ lọc thông thấp lí tưởng có pha tuyến tính sau:
Áp dụng tính chất dịch thời gian của DTFT với đáp ứng xung của bộ lọc thông thấp lí tưởng có pha bằng không,
w w
e e
H
c
c
jwn jw
0
0
1 )
w
n n
w n
h
o c
o c
) (
) (
sin ]
[
Trang 21Cắt (Truncation)
Bằng cách cắt đáp ứng xung để có chiều dài hữu hạn, ta có thể thu được bộ lọc FIR khả thi (realizable), và đó là xấp xỉ cho bộ lọc thông thấp lí tưởng
Sự xấp xỉ này có thể có pha tuyến tính hay không tùy thuộc vào n0 được chọn
Nếu n0=N/2 với N là số nguyên dương, thì sự xấp xỉ này
này được cắt và dời đi như sau:
đó là đáp ứng xung của bộ lọc FIR nhân quả có pha tuyến tính, chiều dài N+1
N
n N
n w
N n
w n
) 2 / (
sin ]
[
Trang 22Hàm truyền pha tuyến tính
Dưới đây là các hệ số của bộ lọc dạng sinc với hai giá trị N khác nhau
Trang 23Hàm truyền pha tuyến tính
Do tính chất đối xứng trong các hình ở trên, đáp ứng tần số của bộ lọc được cho như sau:
) (
~ ]
[ )
(
0
w H
e e
n h
jw LP
Trang 24Tính chất của bộ lọc FIR pha tuyến tính
Để có pha tuyến tính,
Giá trị thực h(n) đối xứng qua
delay phase
constant :
,
,
(M-1)/2
)
(
real,
e e
H e
(M-1)/2
Trang 25 M có thể là số lẻ (odd) (loại I) hoặc chẳn (even) (loại II).
Với đáp ứng xung phản đối xứng: chiều dài bộ lọc M có thể là lẻ (loại III) hay chẳn (loại IV)
Độ trễ nhóm là hằng số: bất kể tần số nào, các thành phần hình sin đều có cùng độ trễ
) (
) 1
( )
(
)
(
real,
),
1 2
n M
h n
h
e e
e H e
H
w
M j j
jw jw
Tính chất của bộ lọc FIR pha tuyến tính
Trang 26Đáp ứng tần số
Như vậy có 4 loại bộ lọc FIR pha tuyến tính
Đáp ứng tần số của từng loại này có đặc điểm và hình dáng riêng
Viết lại H(e jw):
Hr(ejw) gọi là hàm amplitude response (số thực, âm hoặc dương), chứ không phải là magnitude response
Đáp ứng pha liên kết với magnitude response là một
hàm không liên tục, trong khi đáp ứng pha liên kết với amplitude response là một hàm liên tục tuyến tính
2
1 ,
2
; )
( )
e e
H e
Trang 27Ví dụ 7.3
Cho đáp ứng xung h(n) = {1,1,1} Xác định và vẽ đáp ứng tần số
Đáp ứng tần số:
Biên độ (magnitude) và pha:
Biên độ (amplitude) và pha:
Trang 29Loại 1: Đáp ứng xung đối xứng, M lẻ
Với loại 1, beta=0, alpha=(M-1)/2 là số nguyên, và h(n)=h(M-1-n), 0<=n<=M-1 Khi đó:
Problem 7.1
2 / ) 1 (
2 / ) 1 (
0
cos )
( )
a e
H
2
31
,2
12
)(
samplemiddle
the
:2
1)
0(
n
M h
n a
M h
()
Trang 30Loại 2: Đáp ứng xung đối xứng, M chẳn
Với loại 2, beta=0, alpha=(M-1)/2 không phải là số
2 /
1 cos
) ( )
w n
b e
H
2
,,2,1
,2
2)
)()
Trang 31Loại 3: đáp ứng xung phản đối xứng, M lẻ
Với loại 3, beta=pi/2, alpha=(M-1)/2 là số nguyên, và h(n)=-h(M-1-n), 0<=n<=M-1 Khi đó:
Problem 7.3
Hr(0)=Hr(pi)=0, exp(j*pi/2)=j, bộ lọc loại này không phù hợp với bộ lọc thông thấp hay thông cao Nhưng phù hợp cho việc xấp xỉ bộ lọc Hilbert Transformer và
differentiator (vi sai) lí tưởng.
w
j M
n
e wn n
c e
1 2
2 / ) 1 (
0
sin )
( )
,2,1
,2
12
Trang 32Loại 4: đáp ứng xung phản đối xứng, M chẳn
Với loại 4, beta=pi/2, alpha=(M-1)/2 không phải là số
nguyên, và h(n)=-h(M-1-n), 0<=n<=M-1 Khi đó
Problem 7.4
Hr(pi)=0, exp(j*pi/2)=j, bộ lọc này thích hợp với việc thiết
kế bộ lọc Hilbert transformer & differentiators
( 1 ) / 2
2 /
1
2
2
1 sin
) ( )
w n
d e
2
,,2,1
,2
2)
)()
Trang 33Tính chất bộ lọc FIR
Trang 36Sơ đồ zero (Quadruplet Zero Constellation)
Nếu H(z) có một zero tại:
Để có pha tuyến tính thì cũng phải có một zero tại:
Để có bộ lọc có hệ số thực, nếu z1 à số phức, thì cũng
có zero liên hợp phức z1* và zero 1/ z1*
Trang 37Quadruplet Zero Constellation
-1.5 -1 -0.5 0 0.5 1 1.5
Trang 38Example 7.4
Trang 46Bộ lọc có pha tối thiểu (Minimum Phase Filters)
Bộ lọc số H(z) được gọi là pha tối thiểu nếu tất cả các
zero nằm trong hoặc trên đường tròn đơn vị
25 0 )
5 0 (
) 2 )(
2 (
5 0 )
(
, 25 0 )
5 0 (
) 2 )(
5 0 (
)
(
, 25 0 )
5 0 (
) 5 0 )(
2 (
)
(
, 25 0 )
5 0 (
) 5 0 )(
5 0 (
2 )
z
H
z
z z
z
H
z
z z
z
H
z
z z
z
H
Trang 47Minimum Phase Filters
Trong các bộ lọc có cùng đáp ứng biên độ, bộ lọc có pha tối
thiểu có độ trễ pha nhỏ nhất (phase lag).
Mọi bộ lọc IIR đều có thể chuyển thành bộ lọc pha tối thiểu bằng cách thay zeros bên ngoài đường tròn đơn vị bởi zero nghịch của nó (reciprocals)
Trang 48 Bộ lọc toàn thông có với mọi w
Đáp ứng pha khác không, luôn giảm -> dùng để hiệu chỉnh pha và các hiệu ứng đặc biệt khác
Hall(z) có p điểm cực (pole) tại AM(p)=0 và zeros o=1/p
Trường hợp đặc biệt là chuyển bộ lọc bất kì H(z) thành pha
tối thiểu bằng cách nhân với một bộ lọc toàn thông:
1 )
( j 2
e H
) (
) (
1
) (
1
1 1
1 1
z A
z
A z
z a z
a
z z
a
a z
H
M
M M
M M
M M
M all
( )
( )
( )
( )
( z H z Hmin z Hmin z H 1 z H z
Trang 49Nhân với bộ lọc toàn thông (Allpass Filter)
Bộ lọc toàn thông có thể dùng để bù đáp ứng pha Trường
hợp đặc biệt là chuyển bộ lọc bất kì H(z) thành pha tối thiểu
bằng cách nhân với một bộ lọc toàn thông
Trang 50Minimum-Phase Decomposition
Set H min (z)=H(z), and H all (z)=1.
Factor the numerator polynomial
) )(
( )
( z b0 z z1 z z2 z zm
)()
()
(
)()
()
(
1)
(
1
min min
z H
z F
z H
z H
z F
z H
z z
z
z z
F
a ll
a ll
i i
Trang 51Cấu trúc bộ lọc số
(phần 2)
Trang 52NỘI DUNG
Những khái niệm cơ bản
Cấu trúc bộ lọc IIR
Cấu trúc bộ lọc FIR
Trang 54Cấu trúc bộ lọc số
Về nguyên tắc, sự mô tả tích chập của một hệ thống rời rạc LTI có thể dùng để thực hiện một hệ thống Điều này yêu cầu cần biết đáp ứng xung, bộ cộng, bộ nhân và bộ làm trễ (delay)
Với hệ thống IIR thì cách này không hợp lý do đáp ứng xung có chiều dài vô hạn
Tuy nhiên, có thể thực hiện trực tiếp hệ thống LTI dạng FIR và IIR nếu biết các hệ số (hằng) của phương trình sai phân (difference equation)
Cụ thể quan hệ vào-ra như sau:
n
y
) (
) (
) (
Trang 55Cấu trúc bộ lọc số - Cách thực hiện
Thực hiện bằng phần mềm (software) hay phần cứng
(hardware) tùy thuộc vào ứng dụng
Các biến và các hệ số của bộ lọc không thể biểu diễn với
độ chính xác vô hạn Cách thực hiện trực tiếp (direct)
không cho chất lượng mong muốn do nó sử dụng các
Cách biểu diễn theo cấu trúc sử dụng sự liên kết các khối
cơ bản sẽ được xem xét
Trang 56Biểu diễn sơ đồ khối (Block Diagram Representation)
Để thực hiện bộ lọc số LTI, quan hệ vào-ra phải được biểu diễn bằng một giải thuật tính toán (computational
) 1 (
) ( )
( n p0x n p1x n d1y n
y
Trang 57Giải thuật tính toán (Computational Algorithm)
Cho điều kiện đầu y(-1) và đầu vào x(n), khi đó:
), 1 ( )
1 ( )
2 ( )
2 (
), 0 ( )
0 ( )
1 ( )
1 (
), 1 ( )
1 ( )
0 ( )
0 (
1 1
0
1 1
0
1 1
0
y d x
p x
p y
y d x
p x
p y
y d x
p x
p y
Trang 58Khối cơ bản (Basic Building Blocks)
Trang 59 Xét một cấu trúc hồi tiếp một vòng
Đầu ra E(z) của bộ cộng là:
Mà Y(z) được tính bởi
Loại E(z) ta thu được hàm truyền:
Phân tích sơ đồ khối
) ( ) ( )
( )
( z X z G2 z Y z
) ( ) ( )
( z G1 z E z
) ( )
( 1
) ( )
(
)
( )
(
2 1
1
z G z G
z G z
X
z
Y z
H
Trang 60Ví dụ bộ lọc Cascaded Lattice (dạng lattice nối tiếp)
Trang 61 Trên thực tế để thực hiện được bộ lọc số, sơ đồ khốikhông được chứa vòng không có trễ
Xem cấu trúc dưới đây:
Trang 62 Biểu thức suy ra rằng để tính giá trị hiện tại của y(n) cần
biết giá trị của y(n) Điều này là không thể trên thực tế, lí do
là cần một khoảng thời gian nhất định để thực hiện các
phép tính số học trong hệ thống số
Có các phương pháp để phát hiện và giải quyết bài toán
này bằng cách thực hiện sơ đồ khối tương đương khôngchứa vòng không có trễ
Suy ra biểu thức vào-ra?
Vấn đề vòng không có trễ (delay)
Trang 63 Định nghĩa: hai cấu trúc bộ lọc số được xem là tươngđương nếu chúng có cùng hàm truyền.
Có nhiều cách để tạo ra các cấu trúc tương đương
Cách đơn giản là thực hiện bằng phép toán đổi chỗ (
transpose operation):
(i) đảo chiều tất cả các đường,
(ii) thay nút pick-off bằng bộ cộng (adder), và ngược lại,(iii) hoán đổi các nút vào và nút ra
Cấu trúc tương đương
Trang 64Equivalent Structure – Lattice Filter
Redrawn transposed structure
Trang 65 Định nghĩa: Một bộ lọc được gọi là canonic nếu số lượng
bộ delay trong sơ đồ khối bằng với bậc của phương trìnhsai phân
Ngược lại thì đó không phải là cấu trúc canonic
Xác định cấu trúc bộ lọc dưới đây?
Cấu trúc Canonical & Noncanonical
Trang 66Các cấu trúc sẽ xem xét
Dạng trực tiếp (Direct form):
Thực hiện trực tiếp từ phương trình sai phân
Hai phần: truy hồi (recursive) & trung bình trượt (moving average)
Cấu trúc trực tiếp dạng 1 và trực tiếp dạng 2
Dạng nối tiếp (Cascade form):
Nhân tử hóa hàm truyền H(z) thành các thành phần bậc
2 (biquads) (sao không bậc cao hơn?)
H(z) biểu diễn dưới dạng tích của các biquad
Mỗi biquad được thực hiện dưới dạng trực tiếp
Dạng song song (Parallel form):
H(z) biểu diễn dưới dạng tổng của các biquad
Trang 67Chú ý…
Có vô hạn cấu trúc tương đương cùng thực hiện một hàm truyền
Nếu độ chính xác của các phép toán là vô hạn thì bất kì
cách thực hiện nào cũng cho kết quả giống hệt với bất kì cấu trúc tương đương nào khác
Tuy nhiên, trong thực tế, do chiều dài từ hữu hạn (finite
wordlength), một cách thực hiện nào đó có thể cho kết quả khác với các cấu trúc tương đương khác
Vì vậy chọn một cấu trúc có đặc điểm lượng tử hóa
(quantization) tốt với điều kiện chiều dài từ hữu hạn là hết sức quan trọng
Trang 68Bộ lọc IIR
Hàm hệ thống/hàm truyền (System function):
Phương trình sai phân:
Ba cấu trúc khác nhau để thực hiện bộ lọc IIR:
Dạng trực tiếp - Direct form
Dạng nối tiếp - Cascade form
Dạng song song - Parallel form
1
;1
)(
)
()
1
1 1 0
d z
d
z p z
p p
z d
z p z
D
z
P z
N
M M
N
n
n n
M
n
n n
y
)(
)(
)(
Trang 69 Hàm truyền bộ lọc IIR bậc N được mô tả bằng 2N+1 hệ số,
và nói chung cần 2N+1 bộ nhân và 2N bộ cộng
hai-đầu-vào cho việc thực hiện
Dạng trực tiếp bộ lọc IIR: các hệ số của bộ nhân chính là các hệ số của hàm truyền
Xét hàm truyền của bộ lọc IIR bậc 3 như sau
IIR Filter – dạng trực tiếp
3 3
2 2
1 1
3 3
2 2
1 1 0
1)
(
)()
(
)
()
d z
d
z p z
p z
p p
z D
z P z
X
z
Y z
H
Trang 70Ví dụ với N=M=3: phương trình sai phân được tính như sau:
Thực hiện bằng cách nối tiếp hai bộ lọc:
) 3 (
) 2 (
) 1 (
) 3 (
) 2 (
) 1 (
) ( )
(n p0x n p1x n p2x n p3x n d1y n d2y n d3y n
y
3 3
2 2
1 1
3 3
2 2
1 1 0
1)
(
)()
(
)
()
d z
d
z p z
p z
p p
z D
z P z
X
z
Y z
H
3 3
2 2
1 1 0
)(
)
()
z X
z
W z
H
3 3
2 2
1 1
2
1
1)
(
1)
(
)
()
d z
d z
D z
W
z
Y z
H
Dạng trực tiếp