Các ảnh hưởng của quá trình lượng tử hóa
trong mạch lọc số
Để không tràn các kết quả trung gian trong các phép
tính của mạch lọc, các hệ số định tỷ lệ thích hợp có thể
được đưa ra tại các điểm khác nhau trong các tầng lọc.
Các chip DSP hiện đại giải quyết vấn đề ảnh hưởng do
lượng tử hóa theo hai hướng: dùng các từ dài, như là 32
bit, để lưu trữ các hệ số, và dùng các bộ cộng dồn độ
chính xác-kép để thực hiện nhiều phép toán MAC mà
không bị sai số roundoff trước khi kết quả cuối cùng
được làm tròn.
54 trang |
Chia sẻ: nguyenlam99 | Lượt xem: 826 | Lượt tải: 0
Bạn đang xem trước 20 trang tài liệu Xử lý số tín hiệu - Chuơng 7: Thực hiện mạch lọc số, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
BÀØI GIẢÛNG
XỬÛ LÝÙ SỐÁ TÍN HIỆÄU
Biênâ soạïn: PGS.TS LÊ TIÊ ÁÁN THƯỜØNG
Tp.HCM, 02-2005
7.1. Dạng trực tiếp.
7.2. Dạng canonical.
7.3. Dạng Cascade.
7.4. Cascade sang canonical.
7.5. Cài đặt phần cứng và các bộ đệm vòng.
7.6. Các ảnh hưởng của quá trình lượng tử hóa
trong mạch lọc số.
CHUƠNG 7: THỰÏC HIỆÄN MẠÏCH
LỌÏC SỐÁ
7.1. Dạng trực tiếp.
Xét một mạch lọc đơn giản có hàm truyền đạt như sau:
(7.1.1)
Ta có phương trình sai phân vào/ra
(7.1.2)
Cáùc biểåu diễn dẫ ïïng trựïc tiếáp làø sơ đồà khốái biểåu diễn ã
phương trình sai phân nâ øøy, đượïc minh họïa trong hình
7.1.1.
Dạng trực tiếp FIR của chương 4 có được từ một
trường hợp đặt biệt của dạng này khi cho các hệ số hồi
tiếp a1 = a2 = 0.
CHUƠNG 7: THỰÏC HIỆÄN MẠÏCH
LỌÏC SỐÁ
2
2
1
10
2
2
1
10
−−
−−
++
++==
zazaa
zbzbb
)z(D
)z(N)z(H
221102211 −−−− +++−−= nnnnùnn xbxbxbyayay
7.1. Dạng trực tiếp.
Hình 7.1.1 Cách thực hiện dạng trực tiếp của
mạch lọc IIR bậc 2.
Cách biểu diễn dạng trực tiếp có thể được tổng quát
hóa cho trường hợp các tử và mẫu thức bất kỳ.
(7.1.4)
CHUƠNG 7: THỰÏC HIỆÄN MẠÏCH
LỌÏC SỐÁ
M
M
L
L
zazazaa
zbzbzbb
)z(D
)z(N)z(H −−−
−−−
++++
++++== "
"
2
2
1
10
2
2
1
10
7.1. Dạng trực tiếp.
Có tử bậc N và mẫu bậc M. Phương trình sai phân
vào/ra tương ứng là:
(7.1.5)
Hình 7.1.2: Cáùch thựïc hiệän dạïng trựïc tiếáp củûa
mạïch lọïc IIR bậäc M
CHUƠNG 7: THỰÏC HIỆÄN MẠÏCH
LỌÏC SỐÁ
LnLnnnMnMnnn xbxbxbxbyayayay −−−−−− +++++−−−−= "" 221102211
7.1. Dạng trực tiếp.
Ví dụ 7.1.1: Vẽ cách thực hiện dạng trực tiếp của mạch
lọc sau vàø xáùc định cáùc phương
trình sai phân vâ øø thuậät toáùn xửû lýù mẫu. ã
Giảûi: Phương trình sai phân lâ øø:
Cáùc vector hệä sốá vàø trạïng tháùi trong ví dụï nàøy:
CHUƠNG 7: THỰÏC HIỆÄN MẠÏCH
LỌÏC SỐÁ
1 3
1 2 4
2 3 4( )
1 0.2 0.3 0.5
z zH z
z z z
− −
− − −
− += + − +
31421 432503020 −−−−− +−+−+−= nnnnnnn xxxyyyy ...
[ ] [ ]
[ ] [ ]
[ ] [ ]321043210
3210
43210
4032
500030201
vvvvvwwwwww
bbbbb
aaaaaa
,,,,,,,,
,,,,,,
.,.,.,.,,,,,
==
−==
−==
7.1. Dạng trực tiếp.
Hình 7.1.3
CHUƠNG 7: THỰÏC HIỆÄN MẠÏCH
LỌÏC SỐÁ
7.2. Dạng Canonical
Dạng biểu diễn canonical, hay là dạng trực tiếp II, các
hệ số recursive và các hệ số non-recursive, có nghĩa là:
Việc nhóm lại tương ứng với việc chia một bộ cộng lớn
của cách biểu diễn dạng trực tiếp của hình 7.1.1 thành
2 phần như trong hình 7.2.1.
Cũng chõ ính làø hàøm truyềàn đạït gốác đượïc cho trong
phương trình (7.1.1). Vềà mặët toáùn họïc, bậäc củûa cáùc hệä
sốá cascade cóù thểå đượïc thay đổåi sao cho
CHUƠNG 7: THỰÏC HIỆÄN MẠÏCH
LỌÏC SỐÁ
)yaya()xbxbxb(y nnnnnn 221122110 −−−− −−+++=
)z(N
)z(D
)z(H 1=
7.2. Dạng Canonical
Hình7.2.1
CHUƠNG 7: THỰÏC HIỆÄN MẠÏCH
LỌÏC SỐÁ
7.2. Dạng Canonical
Hình 7.2.2 Thay đổi N(z) và 1/D(z).
CHUƠNG 7: THỰÏC HIỆÄN MẠÏCH
LỌÏC SỐÁ
7.2. Dạng Canonical
Hình 7.2.3: Dạng chính tắc của
bộ lọc IIR bậc hai
CHUƠNG 7: THỰÏC HIỆÄN MẠÏCH
LỌÏC SỐÁ
7.2. Dạng Canonical
Hình 7.2.4: Thực hiện canonical
của mạch lọc IIR bậc M
CHUƠNG 7: THỰÏC HIỆÄN MẠÏCH
LỌÏC SỐÁ
7.2. Dạng Canonical
So sánh các hình 7.1.2 và 7.2.4, ta lưu ý rằng:
a) Dạng trực tiếp đòi hỏi lượng khâu trễ gấp đôi.
b) Cả hai đều có cùng các hệ số nhân.
c) Dạng trực tiếp chỉ có một bộ cộng mà đáp ứng của
nó là đáp ứng của hệ thống.
d) Dạng canonical có hai bộ cộng, một ở đầu vào và
một ở đầu ra.
Trong hai dạng này, dạng canonical được sử dụng rộng
rãi hơn trong thực tế.
CHUƠNG 7: THỰÏC HIỆÄN MẠÏCH
LỌÏC SỐÁ
7.2. Dạng Canonical
Lưu ý: đối với các mạch lọc FIR có đa thức mẫu D(z) =
1 và do đó các dạng trực tiếp và canocical tương tự với
dạng trực tiếp của chương 4.
CHUƠNG 7: THỰÏC HIỆÄN MẠÏCH
LỌÏC SỐÁ
7.3. Dạng Cascade
Dạïng biểåu diễn cascade cuã ûûa mộät hàøm truyềàn tổång quáùt
giảû sửû hàøm truyềàn làø tích cáùc phầàn bậäc hai như thếá:
(7.3.1)
Hàm truyền bất kỳ có dạng (7.1.4) có thể được phân
tích thành các thừa số bậc hai với các hệ số thực, nếu
phương trình (7.1.4) có các hệ số thực.
Để theo dõi các hệ số của các phần và các trạng thái
trong, ta xếp chúng thành các ma trận Kx3 có hàng
thứ I là các thông số tương ứng của phần thứ i. Ví dụ,
nếu K=4 như trong hình 7.3.1, ta định nghĩa:
CHUƠNG 7: THỰÏC HIỆÄN MẠÏCH
LỌÏC SỐÁ
∏ ∏−
=
−
= −−
−−
++
++==
1
0
1
0 21
210
21
21
1
K
i
K
i ii
iii
i zaza
zbzbb
)z(H)z(H
7.3. Dạng Cascade
Hình 7.3.1 Cascade củûa 2 khâu bâ ääc 2
CHUƠNG 7: THỰÏC HIỆÄN MẠÏCH
LỌÏC SỐÁ
7.3. Dạng Cascade
Hàøng thứù i củûa cáùc ma trậän nàøy làø cáùc vector hệä sốá 3
chiềàu vàø cáùc trạïng tháùi củûa phầàn thứù i, cóù nghĩa làø:
(7.3.4)
Ví dụï 7.3.1: Vẽ cã ùùc cáùch thựïc hiệän dạïng cascade vàø
canonical củûa cáùc mạïch lọïc sau:
CHUƠNG 7: THỰÏC HIỆÄN MẠÏCH
LỌÏC SỐÁ
⎥⎥
⎥⎥
⎦
⎤
⎢⎢
⎢⎢
⎣
⎡
=
⎥⎥
⎥⎥
⎦
⎤
⎢⎢
⎢⎢
⎣
⎡
=
⎥⎥
⎥⎥
⎦
⎤
⎢⎢
⎢⎢
⎣
⎡
=
323130
222120
121110
020100
323130
222120
121110
020100
3231
2221
1211
0201
1
1
1
1
www
www
www
www
W,
bbb
bbb
bbb
bbb
B,
aa
aa
aa
aa
A
[ ]
[ ]
[ ]210
210
21
110
1
iiii
iiii
iii
w,w,ww
K,,,ib,b,bb
a,a,a
=
−==
=
7.3. Dạng Cascade
Viếát phương trình sai phân I/O tâ ương ứùng vàø cáùc thuậät
toáùn xửû lýù mẫu.ã
Giảûi: Cáùc ma trậän trạïng tháùi vàø hệä sốá trong hàøm cas
trong trườøng hợïp nàøy làø:
Trong trườøng hợïp canonical, t cóù cáùc vector hệä sốá cho
tửû thứùc vàø mẫu thã ứùc làø:
CHUƠNG 7: THỰÏC HIỆÄN MẠÏCH
LỌÏC SỐÁ
42
42
1021
21
21
21
2508401
449
50401
243
50401
243
−−
−−
−−
−−
−−
−−
+−
+−=
=⎥⎦
⎤⎢⎣
⎡
++
++⎥⎦
⎤⎢⎣
⎡
+−
+−=
z.z.
zz
)z(H)z(H
z.z.
zz
z.z.
zz)z(H
⎥⎦
⎤⎢⎣
⎡=⎥⎦
⎤⎢⎣
⎡ −=⎥⎦
⎤⎢⎣
⎡ −=
121110
020100
243
243
50401
50401
www
www
W,B,
..
..
A
7.3. Dạng Cascade
Phương trình sai phân tại các bộ cộng đầu vào và đầu
ra của hình 7.3.3:
Tổng số trạng thái trong trong các cách thực hiện
dạng trực tiếp và canonical là giống nhau, đều bằng 4.
CHUƠNG 7: THỰÏC HIỆÄN MẠÏCH
LỌÏC SỐÁ
[ ] [ ]25000084000000140409 .,.,.,.,.a,,,,,b =−=
)n()n(w)n(w)n(y
)n(w.)n(w.)n(x)n(w
44249
42502840
−+−−=
−−−−=
7.3. Dạng Cascade
Hình 7.3.3 Cáùch thựïc hiệän dạïng
canonical củûa ví dụï 7.3.1.
CHUƠNG 7: THỰÏC HIỆÄN MẠÏCH
LỌÏC SỐÁ
7.4. Cascade sang canonical
Đểå chuyểån từø cáùch biểåu diễn trã ựïc tiếáp sang canonical,
phương trình (7.1.4), sang cáùch biểåu diễn cascade, ã
phương trình (7.3.1), đòøi hỏûi việäc phân tâ ích cáùc tửû thứùc
vàø mẫu thã ứùc thàønh cáùc thừøa sốá bậäc hai.
Điềàu nàøy cóù thểå đượïc thựïc hiệän bằèng cáùch tìm cáùc
nghiệäm củûa cáùc đa thứùc nàøy rồài nhóùm chúùng thàønh
từøng cặëp làø liên hơâ ïïp phứùc vớùi nhau.
Cáùc thừøa sốá nghiệäm củûa cáùc nghiệäm thựïc bấát kỳø cóù thểå
đượïc bỏû qua khi chúùng kếát hợïp thàønh từøng cặëp.
CHUƠNG 7: THỰÏC HIỆÄN MẠÏCH
LỌÏC SỐÁ
)zp()zp)(zp(
zazaza)z(D
M
M
M
11
2
1
1
2
2
1
1
111
1
−−−
−−−
−−−=
++++=
"
"
7.4. Cascade sang canonical
Ví dụï, khi cảû p1 vàø p2 đềàu làø thựïc, ta cóù thểå kếát hợïp
chúùng thàønh SOS vớùi cáùc hệä sốá thựïc:
Nếáu mộät nghiệäm nàøo đóù làø phứùc, chúùng phảûi làø mộät cặëp
liên hơâ ïïp phứùc, ví dụï, nếáu p1 làø mộät nghiệäm phứùc, thếá
thì p2 = p1* cũng phã ûûi làø mộät nghiệäm. Kếát hợïp cáùc thừøa
sốá nghiệäm củûa cáùc cặëp nghiệäm liên hơâ ïïp thàønh mộät SOS
vớùi cáùc hệä sốá thựïc, ví dụï:
CHUƠNG 7: THỰÏC HIỆÄN MẠÏCH
LỌÏC SỐÁ
2
21
1
21
1
2
1
1 111
−−−− ++−=−− zppz)pp()zp)(zp(
22
1
1
1
2
11
1
11
11
1
21
111
1
−−
−−−−
+−=
++−=−−
zpz)pRe(
zppz)pp()zp)(zp( ***
7.4. Cascade sang canonical
Cáùch nàøy cũng õ đã õ đượïc sửû dụïng trong chương 5. Dùøng
cáùch biểåu diễn sỗ áá phứùc trong tọïa độä cựïc , ta cóù
vàø , ta cóù thểå viếát lạïi phương trình
trên nhâ ư sau:
Khi cáùc tửû thứùc vàø mẫu thã ứùc đã õ đượïc phân tâ ích thàønh
cáùc thừøa sốá bậäc hai, mỗi thã ừøa sốá bậäc hai trên tâ ửû cóù thểå
đi cặëp vớùi mộät thừøa sốá bậäc hai dướùi mẫu ã đểå tạïo thàønh
mộät phầàn bậäc hai.
CHUƠNG 7: THỰÏC HIỆÄN MẠÏCH
LỌÏC SỐÁ
1
11
θjeRp =
111 θcosR)pRe( = 2121 Rp =
22
1
1
11
22
1
1
1
11
1
21
2111
1
−−
−−−−
+−=
+−=−−
zRz)cos(R
zpz)pRe()zp)(zp( *
θ
7.4. Cascade sang canonical
Việäc ghéùp cặëp cáùc thừøa sốá tửû thứùc vàø mẫu thã ứùc vàø việäc
sắép xếáp cáùc SOS không phâ ûûi làø duy nhấát, nhưng hàøm
truyềàn tổång sẽ giõ ááng nhau. Đốái vớùi cáùc đa thứùc bậäc cao,
ta phảûi sửû dụïng đếán cáùc hàøm tìm nghiệäm đượïc cho
trong cáùc package phầàn mềàm toáùn họïc như làø Matlab
hay Mathematica. Trong mộät vàøi trườøng hợïp đặëc biệät
củûa đa thứùc bậäc cao, ta cóù thểå tính toáùn đượïc nghiệäm
bằèng tay, như ví dụï sau
Ví dụï 7.4.1: Xáùc định dạïng thựïc hiệän cascade củûa mạïch
lọïc:
CHUƠNG 7: THỰÏC HIỆÄN MẠÏCH
LỌÏC SỐÁ
321
54321
520771221
5328093760330480511
−−−
−−−−−
+++
−+−+−=
z.z.z.
z.z.z.z.z.)z(H
7.4. Cascade sang canonical
Giảûi: Dùøng MATLAB, ta tìm đượïc 5 nghiệäm củûa tửû
thứùc: z = 0.9, z = -0.5 ± 0.7j, z = 0.8 ± 0.4j
Chúùng dẫn ã đếán cáùc thừøa sốá nghiệäm, theo cặëp liên hơâ ïïp
phứùc:
Tương tựï, ta tìm cáùc nghiệäm củûa mẫu thã ứùc:
p = -0.8, p = - 0.7 ± 0.4j cho ta cáùc thừøa sốá nghiệäm
Do đóù, tấát cảû cáùc cáùch ghéùp cặëp/xếáp thứù tựï củûa cáùc
khâu SOS cho H(z):â
CHUƠNG 7: THỰÏC HIỆÄN MẠÏCH
LỌÏC SỐÁ
( )( ) ( )( )( ) ( )2111
2111
1
806114050140801
74017050170501
901
−−−−
−−−−
−
+−=−−+−
++=−−−+−−
−
z.z.z)j..(z)j..(
z.zz)j..(z)j..(
)z.(
( )( ) ( )2111
1
6504114070140701
801
−−−−
−
++=−−−+−−
+
z.z.z)j..(z)j..(
)z.(
7.4. Cascade sang canonical
Cáùc ma trậän hệä sốá A vàø B cầàn thiếát cho việäc lậäp trình
cho mạïch lọïc nàøy bằèng hàøm cas sẽ lã øø:
Khâu bâ ääc nhấát củûa thểå đượïc xem như làø mộät trườøng
hợï[ đặëc biệät củûa mộät SOS cóù dạïng (7.1.1) vớùi hệä sốá z-2
bằèng zero, cóù nghĩa làø b2 = a2 =0. Tương tựï, thừøa sốá bậäc
hai cuốái cùøng làø trườøng hợïp đặëc biệät củûa mộät SOS FIR,
cóù nghĩa làø vớùi a1 = a2 = 0 (nhưng a0 = 1).
CHUƠNG 7: THỰÏC HIỆÄN MẠÏCH
LỌÏC SỐÁ
( )2121 2111 80611650411 7401801 901 −−−−
−−
−
−
+−++
++
+
−= z.z..
z.z.
z.z.
z.
z.)z(H
⎥⎥
⎥
⎦
⎤
⎢⎢
⎢
⎣
⎡
−
−
=
⎥⎥
⎥
⎦
⎤
⎢⎢
⎢
⎣
⎡
=
80611
74011
0901
001
650411
0801
..
.
.
B,..
.
A
7.4. Cascade sang canonical
Ví dụï 7.4.3: Mộät trườøng hợïp đặëc biệät kháùc, xáùc định
dạïng thựïc hiệän cascade củûa mạïch lọïc:
Giảûi: Nghiệäm củûa tửû thứùc làø 8 nghiệäm củûa phương trình
trong đóù k làø sốá tựï nhiên. Lâ ááy căn bă ääc 8 củûa 2 vếá
Ta cóù cáùc cặëp nghiệäm liên hơâ ïïp phứùc sau, như trong
hình 7.4.1.
Chúùng dẫn ã đếán cáùc thừøa sốá nghiệäm, theo cặëp liên hơâ ïïp
phứùc:
CHUƠNG 7: THỰÏC HIỆÄN MẠÏCH
LỌÏC SỐÁ
8
8
062501
1
−
−
−
−=
z.
z)z(H
ππππ )k(jjkjj eeeezz 12288 101 +−− ===−=⇒=+
710812 ,,,k,ez /)k(jk == + π
{ } { } { } { }43526170 z,z,z,z,z,z,z,z
7.4. Cascade sang canonical
Tương tựï, ta tìm cáùc nghiệäm củûa mẫu thã ứùc:
Lấáy căn bă ääc 8 hai vếá ta đượïc:
Trong cáùc nghiệäm đóù, làø thựïc vàø cóù thểå đượïc ghéùp cặëp
vớùi nhau thàønh mộät SOS. Cáùc nghiệäm còøn lạïi làø phứùc
vàø đượïc ghéùp thàønh từøng cặëp liên hơâ ïïp:
CHUƠNG 7: THỰÏC HIỆÄN MẠÏCH
LỌÏC SỐÁ
( )( )
( )( )
( )( )
( )( ) 21211413
21211
5
1
2
21211
6
1
1
21211
7
1
0
847811
8
72111
765401
8
52111
765401
8
32111
847811
8
2111
−−−−−−
−−−−−−
−−−−−−
−−−−−−
++=+⎟⎠
⎞⎜⎝
⎛−=−−
++=+⎟⎠
⎞⎜⎝
⎛−=−−
+−=+⎟⎠
⎞⎜⎝
⎛−=−−
+−=+⎟⎠
⎞⎜⎝
⎛−=−−
zz.zzcoszzzz
zz.zzcoszzzz
zz.zzcoszzzz
zz.zzcoszzzz
π
π
π
π
ππ )k(jjk e).(e..zz. 124288 5006250062500062501 +− ==−=⇒=−
71050 82 ,,,k,e.p /jkk == π
7.4. Cascade sang canonical
Chúùng dẫn ã đếán cáùc thừøa sốá nghiệäm bậäc 2:
Cuốái cùøng, ta cóù
CHUƠNG 7: THỰÏC HIỆÄN MẠÏCH
LỌÏC SỐÁ
{ } { } { } { }43526170 p,p,p,p,p,p,p,p
( )( ) ( )( )
( )( )
( )( )
( )( ) 21211413
2211
5
1
2
21211
6
1
1
2111
7
1
0
50150
8
62111
50150
8
42111
50150
8
22111
50150150111
−−−−−−
−−−−−
−−−−−−
−−−−−
++=+⎟⎠
⎞⎜⎝
⎛−=−−
+=+⎟⎠
⎞⎜⎝
⎛−=−−
+−=+⎟⎠
⎞⎜⎝
⎛−=−−
−=−−=−−
z.zz.zcoszpzp
z.z.zcoszpzp
z.zz.zcoszpzp
z.z.z.zpzp
π
π
π
.
z.z
zz..
z.
zz..
.
z.z
zz..
z.
zz.)z(H
⎥⎦
⎤⎢⎣
⎡
++
++⎥⎦
⎤⎢⎣
⎡
+
++
⎥⎦
⎤⎢⎣
⎡
+−
+−⎥⎦
⎤⎢⎣
⎡
−
+−=
−−
−−
−
−−
−−
−−
−
−−
21
21
2
21
21
21
2
21
501
847811
501
765401
501
765401
501
847811
7.4. Cascade sang canonical
Cáùc ma trậän hệä sốá A vàø B trong trườøng hợïp nàøy sẽ lã øø:
Mạïch lọïc nàøy đóùng vai tròø như mộät mạïch lọïc notch
/comb. Trong đóù cáùc dip zero đượïc dịch p/8 khi so sáùnh
vớùi cáùc đỉnh cựïc. Cáùc mẫu cã ựïc zero vàø đáùp ứùng biên â độä
| H(w) | đượïc cho trong hình 7.4.1.
Cáùc ví dụï nàøy chỉ nhằèm mụïc đích minh họïa quáù trình
phân tâ ích thàønh nhân tâ ửû. Cáùch thựïc hiệän dạïng
canonical kháù hiệäu quảû hơn cáùch cascade, vì nóù chỉ liên â
quan đếán mộä bộä nhân vâ øø mộät khây trễ 8â ã -fold
CHUƠNG 7: THỰÏC HIỆÄN MẠÏCH
LỌÏC SỐÁ
⎥⎥
⎥⎥
⎦
⎤
⎢⎢
⎢⎢
⎣
⎡
−
−
=
⎥⎥
⎥⎥
⎦
⎤
⎢⎢
⎢⎢
⎣
⎡
−
−
=
1847811
1765401
1765401
1847811
5011
5001
5011
5001
.
.
.
.
B,
.
.
.
.
A
7.4. Cascade sang canonical
Cáùc thựïc hiệän canonical vàø thuậät toáùn xửû lýù mẫu tã ương
ứùng đượïc cho trong hình 7.4.2. ởû đây, â w = [w0, w1, w2,
w3, w4, w5, w6, w7, w8] làø vector trạïng tháùi trong 9
chiềàu.
Hình 7.4.1 Mẫu cã ựïc/zero vàø đáùp ứùng biên â độä
củûa ví dụï 7.4.3
CHUƠNG 7: THỰÏC HIỆÄN MẠÏCH
LỌÏC SỐÁ
7.4. Cascade sang canonical
CHUƠNG 7: THỰÏC HIỆÄN MẠÏCH
LỌÏC SỐÁ
7.4. Cascade sang canonical
CHUƠNG 7: THỰÏC HIỆÄN MẠÏCH
LỌÏC SỐÁ
)w,(delay
wwy
w.xw
:dox sampleinputeachfor
0
0
8
06250
8
8
+=
+=
7.5. Cài đặt phần cứng và các bộ đệm vòng
Việc cài đặt phần cứng của các mạch lọc FIR với các
chip DSP đã được trình bày trong phần 4.2.4. Các mạch
lọc IIR cũng có thể được thiết kế một cách tương tự.
Xét SOS (7.1.1) được biểu diễn theo dạng canonical như
hình 7.2.3. Một cách thiết kế phần cứng bằng một chip
DSP điển hình được cho trong hình 7.5.1. Các hệ số
mạch lọc được chứa trong RAM hay ROM trên chip.
Các trạng thái trong được chứa trong RAM.
CHUƠNG 7: THỰÏC HIỆÄN MẠÏCH
LỌÏC SỐÁ
7.5. Cài đặt phần cứng và các bộ đệm vòng
Hình 7.5.1 Cáùch thựïc hiệän mộät khâu bâ ääc hai
bằèng chip DSP điểån hình.
CHUƠNG 7: THỰÏC HIỆÄN MẠÏCH
LỌÏC SỐÁ
7.5. Cài đặt phần cứng và các bộ đệm vòng
Như trong phần 4.2.4, thuật toán xử lý mẫu (7.2.2) có
thể được viết theo dạng mô phỏng các lệnh của một
chip DSP, như là các lệnh MAC và các lệnh dịch dữ
liệu: (7.5.1)
CHUƠNG 7: THỰÏC HIỆÄN MẠÏCH
LỌÏC SỐÁ
000
111
220
11
wby:y,w:w
wby:y,w:w
waw:w
wax:w
:dox sampleinput eachfor
1
2
0
0
+==
+==
−=
−=
7.5. Cài đặt phần cứng và các bộ đệm vòng
Trong chip DSP hiện đại, mỗi dòng trong thuật toán
trên có thể được cài đặt bằng một lệnh loại-MAC; do
đó, mỗi một SOS có thể được cài đặt với 5 dòng lệnh
cho mỗi mẫu vào.
Lưu ý: các trạng thái w1 và w2 không được cập nhật
cho đến khi nào w0 đã được tính toán xong. Các lệnh
MAC để tính w0 thực hiện theo chiều tới, có nghĩa là từ
hệ số ai thấp nhất đến cao nhất. Điều này là thuận tiện
bởi vì khi w0 vừa được tính xong, các lệnh dịch dữ
liệu/MAC kết hợp để tính y có thể bắt đầu, nhưng sẽ
thực hiện lùi từ hệ số bi cao nhất đền thấp nhất.
CHUƠNG 7: THỰÏC HIỆÄN MẠÏCH
LỌÏC SỐÁ
7.5. Cài đặt phần cứng và các bộ đệm vòng
Trong trường hợp tổng quát, ta có thể viết lại phương
trình (7.2.5) với giả sử L = M:
(7.5.2)
(7.5.3)
CHUƠNG 7: THỰÏC HIỆÄN MẠÏCH
LỌÏC SỐÁ
ii
i1i
MM
0
0
wby:y
w:w
:do ,1,,Mifor
wb:y
waw:w
:do M,1,2,ifor
x:w
:dox sampleinput eachfor
+=
=
−=
=
−=
=
=
+
1
110
M)bậc FIRlọcmạch(C)M(Ninstr ++= 1
7.5. Cài đặt phần cứng và các bộ đệm vòng
Thời gian tổng cần thiết cho một quá trình xử lý một
mẫu đầu vào sẽ là . (7.5.5)
Trong đó Tinstr là thời gian cho một lệnh cơ bản, như
MAC hay MACD. Cũng trong phần 4.2.4, Tinstr khoảng
30 ∏ 80 ns, tương ứng với lệnh có tốc độ finstr = 1/Tinstr =
12.5 ∏ 33.3 MIPS (Million Instructions Per Second). Thời
gian xử lý một mẫu áp đặt giới hạn trên của tốc độ lấy
mẫu mà mạch lọc có thể hoạt động được:
(7.5.6)
Trong đó 1/Tproc là tốc độ tính toán của chip, tức là số
mẫu có thể được xử lý trong 1s.
CHUƠNG 7: THỰÏC HIỆÄN MẠÏCH
LỌÏC SỐÁ
instrinstrproc TNT =
instr
instr
instrinstrproc
s N
f
TNT
f === 11
7.5. Cài đặt phần cứng và các bộ đệm vòng
Ta không thể tính toán số lệnh không phụ thuộc vào bộ
xử lý cho một mạch lọc cụ thể. Số lệnh cũng như thời
gian xử lý Tproc trong 1s tùy thuộc vào kiến trúc, tập
lệnh, cách truy xuất bộ nhớ của chip DSP.
Đối với một cascade của SOS, để tìm thời gian xử lý
tổng ta phải tính toán thời gian phải chi phí để xử lý
một SOS rồi nhân cho số lượng khâu. Theo phương
trình (7.5.1) ta thấy rằng cần khoảnh 5 lệnh cho một
SOS; do đó, thời gian xử lý cho một SOS có thể xấp xỉ
bằng (bỏ qua overhead).
CHUƠNG 7: THỰÏC HIỆÄN MẠÏCH
LỌÏC SỐÁ
7.5. Cài đặt phần cứng và các bộ đệm vòng
TSOS ª 5Tinstr (7.5.7)
Khi có K SOS được nối cascade hay song song, nhưng
đều được thiết kế với cùng một DSP, thì tổng số lệnh
sẽ là:
Ninstr = 5K + C (Mạch lọc IIR khâu K) (7.5.7)
Trong đó là overhead cho mạch lọc K-tầng. Do đó thời
gian xử lý tổng là:
Tproc = Tinstr(5K + C) = KTSOS + Ctinstr (7.59)
Bỏû qua hệä sốá overhead tương đốái nhỏû, ta tìm tốác độä lấáy
mẫu tỗ áái đa fs cho K khâu bâ ääc hai.
CHUƠNG 7: THỰÏC HIỆÄN MẠÏCH
LỌÏC SỐÁ
7.5. Cài đặt phần cứng và các bộ đệm vòng
(7.5.10)
Đối với các mạch song song (xem bài tập 5.18), ta có
thể nâng tốc độ thông lượng bằng cách dùng K chip
DSP khác nhau hoạt động song song, mỗi chip được
dùng để thực hiện phép lọc SOS trong TSOS giây. Trong
trường hợp này, thời gian xử lý tổng là TSOS vì tất cả
các DSP kết thúc đồng thời, và do đó, tốc độ thông
lượng sẽ nhanh hơn K lần trong trường hợp 1 DSP:
(7.5.11)
CHUƠNG 7: THỰÏC HIỆÄN MẠÏCH
LỌÏC SỐÁ
K
f
KTT
f instr
SOSproc
s 5
11 ===
SOSproc
sSOSproc TT
fTT 11 ==⇒=
7.5. Cài đặt phần cứng và các bộ đệm vòng
Đối với các mạch cascade, ta cũng có thể sử dụng K
chip DSP – mỗi chip cho một SOS – để tăng tốc độ xử
lý. Tuy nhiên, vì đầu ra của khâu này là đầu vào của
khâu kế tiếp nên không thể chạy K chip DSP đồng
thời. Mỗi DSP phải chờ TSOS giây cho DSP trước nó kết
thúc.
Một giải pháp là pipeline các phép lọc của các khâu
liên tiếp, do đó tất cả các DSP hoạt động với nhau,
nhưng mỗi DSP xử lý đầu vào từ thời điểm lấy mẫu
trước đó. Việc này có thể được thực hiện bằng cách
chèn các khâu trễ đơn vị giữa các DSP, như trong hình
7.5.2.
CHUƠNG 7: THỰÏC HIỆÄN MẠÏCH
LỌÏC SỐÁ
7.5. Cài đặt phần cứng và các bộ đệm vòng
Hình 7.5.2 Pipeline hoạt động của nhiều bộ xử lý DSP.
Tại thời điểm thứ n, khi DSP-1 đang xử lý mẫu đầu vào
hiện hành x(n), DSP-2 đang xử lý mẫu y1(n-1) được
DSP xuất vào thời điểm trước đó và được lưu trong
một thanh ghi chờ, và DSP-3 đang xử lý mẫu y2(n-1)
được DSP-2 tạo ra trước đó, Tác động của việc phát
sinh các thời gian trễ này chỉ là một thời gian trễ chung
trong đầu ra. Ví dụ, trong trường hợp được chỉ ra trong
hình 7.5.2, hàm truyền tổng hợp thay đổi từ H(z) =
H1(z) H2(z) H3(z) thành:
CHUƠNG 7: THỰÏC HIỆÄN MẠÏCH
LỌÏC SỐÁ
7.5. Cài đặt phần cứng và các bộ đệm vòng
H(z) = H1(z)z-1H2(z) z-1H3(z) = z-2H1(z)H2(z)H3(z)
tương ứng với việc làm trễ đầu ra 2 xung đơn vị. Đối
với K khâu, thời gian trễ tổng cộng là z-(K-1).
Ví dụï 7.5.1: Chip DSP dấáu chấám độäng AT&T DSP 32
cáùc [87,88]cóù thểå thựïc thi cáùc lệänh loạïi -MAC cơ bảûn
trong 4 chu kỳø xung nhịp, tứùc làø Tinstr = 4Tclock. Do đóù,
tầàn sốá lệänh củûa nóù làø finstr = fclock/4. Mộät lệänh MAC điểån
hình biểåu diễn 2 phễ ùùp toáùn dấáu chấám độäng: mộät phéùp
nhân vâ øø mộät phéùp cộäng. Do đóù, chip cóù tốác độä tính toáùn
làø fFlop = 2finstr = fclock/2.
CHUƠNG 7: THỰÏC HIỆÄN MẠÏCH
LỌÏC SỐÁ
7.5. Cài đặt phần cứng và các bộ đệm vòng
Ở tốc độ xung nhịp fClock = 50 MHz, nó có tốc độ lệnh là
finstr = fclock/4 = 12.5 MHz và tốc độ tính toán là fFlop =
fclock/2 = 25 MHz. Thời gian cho một lệnh là Tinstr = 1/
finstr = 80 ns.
Một mạch lọc FIR bậc M có thể được cài đặt với
Ninstr = (M + 1) + 11 = M + 12 (lệnh/mẫu)
Do đóù, thờøi gian xửû lýù 1 mẫu lẫ øø Tproc = (M + 12)Tinstr.
Đốái vớùi mộät mạïch lọïc FIR 100-tap (M=99) dùøng DSP 32
cáùc đang chạïy ởû tốác độä 50 MHz, ta cóù Tproc = (M +
12)Tinstr = (99 + 1)80 = 8.9 ms, cóù tốác độä thông lâ ượïng tốái
đa làø fs = 1/Tproc = 112.4 kHz.
CHUƠNG 7: THỰÏC HIỆÄN MẠÏCH
LỌÏC SỐÁ
7.5. Cài đặt phần cứng và các bộ đệm vòng
Một mạch lọc IIR K-khâu được cài đặt
Ninstr = 5K + 10 (Lệänh/mẫu)ã
Nó đòi hỏi số trạng thái chờ chu kỳ – máy là:
Nwait = 2K + 1 (Trạïng tháùi chờø/mẫu)ã
Do đó, thời gian xử lý tổng cho K khâu sẽ là:
Tproc = NinstrTinstr + NwaitTclock
Viếát Tinstr = 4Tclock = 4/fclock ta có
Tproc = (4Ninstr + Nwait)/fclock = (22K + 41)/fclock
Đốái vớùi mộät SOS, K=1, vàø xung nhịp 50 MHz, ta tìm
đượïc Tproc = 1.26 ms, hay tầàn sốá lấáy mẫu cã ựïc đạïi làø:
CHUƠNG 7: THỰÏC HIỆÄN MẠÏCH
LỌÏC SỐÁ
7.5. Cài đặt phần cứng và các bộ đệm vòng
fs = 1/Tproc = 793.6 kHz
Đối với một mạch lọc 5 khâu, K = 1, ta tìm được Tproc =
3.02 ms, hay tần số lấy mẫu cực đại là fs = 33.1 kHz. Và
cho một mạch lọc 10 khâu, K=10, ta có Tproc = 5.22 ms,
hay tần số lấy mẫu cực đại là fs = 191.6 kHz.
CHUƠNG 7: THỰÏC HIỆÄN MẠÏCH
LỌÏC SỐÁ
7.6. Các ảnh hưởng của quá trình lượng tử hóa
trong mạch lọc số
Có hai loại ảnh hưởng do lượng tử hóa trong các mạch
lọc số bên cạnh việc lượng tử hóa các tín hiệu đầu vào
và đầu ra: các sai số roundoff trong các phép tính
trong của mạch lọc và lượng tử hóa hệ số.
Lượng tử hóa hệ số thực hiện khi các hệ số mạch lọc
được làm tròn từ giá trị chính xác của nó đến một số
hữu hạn các chữ số (hay, các bit cho các cài đặt phần
cứng). Cách biểu diễn trực tiếp và canonical có xu
hướng rất nhạy với các việc làm tròn này, trong khi đó
cách biểu diễn cascade thì rất tốt.
CHUƠNG 7: THỰÏC HIỆÄN MẠÏCH
LỌÏC SỐÁ
7.6. Các ảnh hưởng của quá trình lượng tử hóa
trong mạch lọc số
Các mạch lọc bậc cao có các cực phân bố hẹp trong
mặt phẳng z, những thay đổi nhỏ trong các hệ số mẫu
thức có thể gây ra dịch lớn vị trí của các cực. Nếu bất
kỳ điểm cực nào di chuyển ra ngoài đường tròn đơn vị,
mạch lọc sẽ trở nên không ổn định, làm cho nó không
thể sử dụng được. Nhưng cho dù các điểm cực không di
chuyển ra ngoài, các khoảng dịch lớn có thể làm méo
dạng đáp ứng tần số của mạch lọc và do đó nó không
còn thõa mãn các thông số thiết kế.
Trong thực tế, ta phải luôn kiểm tra rằng tính ổn định
và các thông số của mạch lọc được bảo đảm khi các hệ
số được làm tròn.
CHUƠNG 7: THỰÏC HIỆÄN MẠÏCH
LỌÏC SỐÁ
7.6. Các ảnh hưởng của quá trình lượng tử hóa
trong mạch lọc số
Khi dùng các package phần mềm để thiết kế một mạch
lọc, ta phải luôn giữ các thông số thiết kế với số chữ số
bảo đảm cho các yêu cầu. Bài tập 7.20 và 7.21 khảo sát
các ảnh hưởng lượng tự hóa trên và một số nguy cơ
thường gặp.
Điều này cũng không có nghĩa là các dạng trực tiếp và
canonical không được sử dụng; thực tế, ta thấy trong ví
dụ 7.4.3 và 7.4.4, các dạng canonical đơn giản hơn
nhiều khi cài đặt so với các dạng cascade, và cũng rất
tốt trong lượng tử hóa hệ số.
CHUƠNG 7: THỰÏC HIỆÄN MẠÏCH
LỌÏC SỐÁ
7.6. Các ảnh hưởng của quá trình lượng tử hóa trong mạch
lọc số
Tóm lại, dạng cascade được khuyến cáo sử dụng trong
các kỹ thuật thiết kế các mạch lọc IIR thông thấp,
thông dải, thông cao, băng hẹp bậc cao, như là phương
pháp biến đổi song tuyến tính, cho các kết quả thiết kế
ở dạng cascade.
Có các dạng thực hiện khác, như là các khâu bậc 2
cascade trong dạng chuyển vị, các dạng song song, và
các dạng dàn, hoạt động rất tốt trong quá trình lượng
tử hóa
hệ số.
CHUƠNG 7: THỰÏC HIỆÄN MẠÏCH
LỌÏC SỐÁ
7.6. Các ảnh hưởng của quá trình lượng tử hóa
trong mạch lọc số
Sai số roundoff xảy ra trong các phép nhân và các
phép cộng trong, ví dụ y:=y + aw. Tích aw đòi hỏi hai
lần số bit của mỗi thừa số để có thể biểu diễn một cách
chính xác. Sai số roundoff sẽ xảy ra nếu tích này được
làm tròn đến kích thước ban đầu của hai thừa số. Các
sai số roundoff như thế có thể bị đưa vào các vòng hồi
tiếp của các mạch lọc recursive và có thể bị khuếch
đại, gây méo dạng rất lớn trong đáp ứng mong muốn.
Các thực hiện trạng thái đặc biệt và kỹ thuật của định
hình nhiễu lượng tử hóa (còn được gọi là định hình phổ
sai số – error spectrum shaping) có thể được sử dụng để
tối thiểu hóa tích lũy sai số roundoff.
CHUƠNG 7: THỰÏC HIỆÄN MẠÏCH
LỌÏC SỐÁ
7.6. Các ảnh hưởng của quá trình lượng tử hóa
trong mạch lọc số
Để không tràn các kết quả trung gian trong các phép
tính của mạch lọc, các hệ số định tỷ lệ thích hợp có thể
được đưa ra tại các điểm khác nhau trong các tầng lọc.
Các chip DSP hiện đại giải quyết vấn đề ảnh hưởng do
lượng tử hóa theo hai hướng: dùng các từ dài, như là 32
bit, để lưu trữ các hệ số, và dùng các bộ cộng dồn độ
chính xác-kép để thực hiện nhiều phép toán MAC mà
không bị sai số roundoff trước khi kết quả cuối cùng
được làm tròn.
CHUƠNG 7: THỰÏC HIỆÄN MẠÏCH
LỌÏC SỐÁ
Các file đính kèm theo tài liệu này:
- xu_ly_so_tin_hieuchuong_7_2358.pdf