Dạng CascadeDạng biểu diễn cascade củ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
Trang 1BÀI GIẢNG
Biên soạn: PGS.TS LÊ TIẾN THƯỜNG
Tp.HCM, 02-2005
Trang 27.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ố.
LỌC SỐ
Trang 3Cá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 a 1 = a 2 = 0.
LỌC SỐ
2 2
1 1 0
2 2
1 1 0
+ +
=
=
z a z
a a
z b z
b
b ) z ( D
) z ( N )
z ( H
2 2
1 1 0
2 2
Trang 47.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)
LỌC SỐ
M M
L L
z a z
a z
a a
z b z
b z
b
b )
z ( D
) z (
N )
z (
+ +
+ +
+ +
2 2
1 1 0
Trang 57.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
LỌC SỐ
L n L n
n n
M n M n
n
n a y a y a y b x b x b x b x
y =−1 −1− 2 −2− − − + 0 + 1 −1+ 2 −2+ + −
Trang 67.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:
4 2
4 0 3 2
5 0 0 0 3 0 2 0 1
v v v v v
w w
w w
w w
b b b b b
a a a a a a
, , , ,
, ,
, ,
, , , ,
, ,
, , , , ,
, , ,
Trang 77.1 Dạng trực tiếp.
Hình 7.1.3
LỌC SỐ
Trang 8LỌC SỐ
) y
a y
a ( ) x
b x
b x
b (
yn = 0 n + 1 n−1 + 2 n−2 + − 1 n−1 − 2 n−2
) z (
N ) z ( D
) z (
Trang 97.2 Dạng Canonical
Hình7.2.1
LỌC SỐ
Trang 107.2 Dạng Canonical
Hình 7.2.2 Thay đổi N(z) và 1/D(z).
LỌC SỐ
Trang 117.2 Dạng Canonical
Hình 7.2.3: Dạng chính tắc của
bộ lọc IIR bậc hai
LỌC SỐ
Trang 127.2 Dạng Canonical
Hình 7.2.4: Thực hiện canonical
của mạch lọc IIR bậc M
LỌC SỐ
Trang 137.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ế.
LỌC SỐ
Trang 147.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.
LỌC SỐ
Trang 157.3 Dạng Cascade
Dạng biểu diễn cascade củ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:
0
2 1
2 1
1
K i
K
i i
i i
z a z
a
z b z
b
b )
z ( H )
z ( H
Trang 167.3 Dạng Cascade
Hình 7.3.1 Cascade của 2 khâu bậc 2
LỌC SỐ
Trang 177.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:
30
22 21
20
12 11
10
02 01
00
32 31
30
22 21
20
12 11
10
02 01
00
32 31
22 21
12 11
02 01
1 1 1 1
w w
w
w w
w
w w
w
w w
w W
, b b
b
b b
b
b b
b
b b
b B
, a a
a a
a a
a a
11
01
i i
i i
i i i
i
i i i
w , w , w w
K , , , i
b , b , b b
a , a , a
Trang 187.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à:
LỌC SỐ
4 2
4 2
1 0
2 1
2 1
2 1
2 1
25 0 84
0 1
4 4
9
5 0 4
0 1
2 4
3 5
0 4
0 1
2 4
.
z z
) z ( H ) z (
H z
z
.
z
z z
z
.
z z
) z ( H
10
02 01
00 2
4 3
2 4 3
5 0 4 0 1
5 0 4 0
1
w w
w
w w
w W
, B
,
.
A
Trang 19( )
n ( w )
n ( w )
n ( y
) n
( w
) n
( w
) n ( x )
n (
w
4 4
2 4
9
4 25
0 2
84
0
− +
Trang 207.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.
LỌC SỐ
Trang 217.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
LỌC SỐ
) z p (
) z p )(
z p (
z a z
a z
a )
z ( D
M
M M
1 1
2
1 1
2 2
1 1
1 1
+ +
=
Trang 227.4 Cascade sang canonical
Ví dụ, khi cả p 1 và p 2 đề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 o đó là phức, chúng phải là một cặp
liên hợp phức, ví dụ, nếu p 1 là một nghiệm phức, thế thì p 2 = p 1 * 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ụ:
LỌC SỐ
2 2
1
1 2
1
1 2
1 1
2 1 1
1 1
1
1 1
1
2 1
1 1
) p Re(
z p p z
) p p
( )
z p )(
z p
Trang 237.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.
LỌC SỐ
1
1 1
θ
j
e R
p =
1 1
1 1 1
2 2 1
1 1
1 1
1
2 1
2 1 1
) cos(
R
z p z
) p Re(
) z p )(
z p
θ
Trang 247.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:
LỌC SỐ
3 2
1
5 4
3 2
1
52 0 77
1 2
2 1
5328 0
9376 0
33 0 48
0 5
+
− +
− +
−
=
z z
z
.
z
z
z z
z
)
z ( H
Trang 257.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):
LỌC SỐ
2 1
1 1
1
8 0 6
1 1 4
0 5 0 1 4
0 8 0 1
74 0 1
7 0 5 0 1
7 0 5 0 1
9 0 1
−
+ +
=
−
−
− +
−
−
−
z z
z
) j
( z
) j
(
z z
z ) j
( z
) j
(
) z (
( 1)( 1) ( 1 2)
1
65 0 4
1 1 4
0 7 0 1
4 0 7 0 1
8 0
=
−
−
− +
−
−
+
z z
z
)j
( z
)j
(
) z (
Trang 267.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à b 2 = a 2 =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 a 1 = a 2 = 0 (nhưng a 0 = 1).
LỌC SỐ
( 1 2)
2 1
2 1
1
1
8 0 6
1
1 65
0 4
1 1
74 0 1
8 0 1
9 0
+
+
+ +
−
z z
.
z
z
z
z
)
z ( H
1 1
74 0 1 1
0 9
0 1
0 0
1
65 0 4 1 1
0 8
0 1
.
.
B
,
A
Trang 277.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:
LỌC SỐ
8
8
0625 0
z )
z ( H
π π
π
e z
1 0
1 + − = ⇒ − = − = = = +
7 1
0
8 1
Trang 287.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:
2 1
2 1
1 5
1 2
2 1
2 1
1 6
1 1
2 1
2 1
1 7
1 0
8478 1
1 8
7 2
1 1
1
7654 0
1 8
5 2
1 1
1
7654 0
1 8
3 2
1 1
1
8478 1
1 8
2 1 1
= +
= +
z
z cos
z z z
z
z z
z
z cos
z z z
z
z z
z
z cos
z z z
z
z z
z
z cos
z z z
z
π π π π
π
πjk ( ) e j ( k )
e
z
z
500625
006250
00625
0
7 1
0 5
0 e2 8 , k , , ,
Trang 297.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ó
2 2
1 1
5
1 2
2 1
2 1
1 6
1 1
2 1
1 1
7
1 0
5 0 1
5 0 8
6 2
1 1
1
5 0 1 5
0 8
4 2
1 1
1
5 0 1
5 0 8
2 2
1 1
1
5 0 1 5
0 1 5
0 1 1
= +
z z
cos z
p z
p
z z
z
cos z
p z
p
z z
z z
cos z
p z
p
z z
z
z
p z
p
π π π
z
z
z z
z
.
z z
.
z
z
z z
z
.
z z
) z ( H
+ +
2 1 2
2 1
2 1
2 1 2
2 1
5 0 1
8478 1
1 5
0 1
7654 0
1
5 0 1
7654 0
1 5
0 1
8478 1
1
Trang 307.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
1
1 7654 0
1
1 7654 0
1
1 8478 1
1
5 0 1 1
5 0 0 1
5 0 1 1
5 0 0 1
.
B
, A
Trang 317.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 = [w 0 , w 1 , w 2 ,
w 3 , w 4 , w 5 , w 6 , w 7 , w 8] là vector trạng thái trong 9 chiều.
LỌC SỐ
Trang 327.4 Cascade sang canonical
LỌC SỐ
Trang 337.4 Cascade sang canonical
LỌC SỐ
) w ,
( delay
w w
y
w
x w
: do x
sample input
each for
0 0
8
0625 0
8
8 +
=
+
=
Trang 347.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.
LỌC SỐ
Trang 357.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.
LỌC SỐ
Trang 367.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)
LỌC SỐ
0 0 0
1 1 1
2 2 0
1 1
w b y
: y ,
w :
w
w b y
: y ,
w :
w
w a
w :
w
w a x
: w
: do
x sample input
each for
1 2 0 0
Trang 377.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 w 1 và w 2 không được cập nhật
cho đến khi nào w 0 đã được tính toán xong Các lệnh
MAC để tính w 0 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 w 0 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
LỌC SỐ
Trang 387.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:
i 1
i
M M
0 0
w b y
: y
w :
w
: do ,1 ,
, M
i for
w b
: y
w a w
: w
: do M
, 1,2,
i for
x :
w
: do
x sample
input each
M) bậc FIR
lọc mạch (
C ) M
(
Trang 397.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 đó T instr là thời gian cho một lệnh cơ bản, như MAC hay MACD Cũng trong phần 4.2.4, T instr khoảng
30 ∏ 80 ns, tương ứng với lệnh có tốc độ f instr = 1/T instr =
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/T proc là tốc độ tính toán của chip, tức là số
mẫu có thể được xử lý trong 1s.
LỌC SỐ
instr instr
T =
instr
instr instr
instr proc
f T
N T
Trang 407.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ý T proc 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).
LỌC SỐ
Trang 417.5 Cài đặt phần cứng và các bộ đệm vòng
T SOS ª 5T instr (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à:
N instr = 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à :
T proc = T instr (5K + C) = KT SOS + Ct instr (7.59)
Bỏ qua hệ số overhead tương đối nhỏ, ta tìm tốc độ lấy mẫu tối đa f s cho K khâu bậc hai.
LỌC SỐ
Trang 427.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 T SOS giây Trong trường hợp này, thời gian xử lý tổng là T SOS 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:
T
SOS proc
s
5
1 1
=
=
=
SOS proc
s SOS
T = ⇒ = 1 = 1
Trang 437.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ờ T SOS 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.
LỌC SỐ
Trang 447.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 y 1 (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 y 2 (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) =
H 1 (z) H 2 (z) H 3 (z) thành:
LỌC SỐ
Trang 457.5 Cài đặt phần cứng và các bộ đệm vòng
H(z) = H 1 (z)z -1 H 2 (z) z -1 H 3 (z) = z -2 H 1 (z)H 2 (z)H 3 (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à T instr = 4T clock Do đó,
tần số lệnh của nó là f instr = f clock /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à f Flop = 2f instr = f clock /2.
LỌC SỐ