XỬ LÝ SỐ TÍN HIỆU
DSP (DIGITAL SIGNAL
PROCESSING)
ThS. Đặng Ngọc Hạnh
Chương 4:
BỘ LỌC ĐÁP ỨNG XUNG HỮU HẠN
CHƯƠNG 4:
BỘ LỌC ĐÁP ỨNG XUNG HỮU HẠN
23-Mar-10
Các phương pháp DSP trong thực tế:
Phương pháp xử lý khối: dữ liệu vào được thu
thập và xử lý theo từng khối
Phương pháp xử lý mẫu: dữ liệu được xử lý từng
mẫu ở từng thời điểm qua giải thuật DSP để cho
các mẫu ở ngõ ra
3
CHƯƠNG 4:
BỘ LỌC ĐÁP ỨNG XUNG HỮU HẠN
23-Mar-10
Phương pháp xử lý khối:
Khối vào gồm L mẫu: L = TL f s
TL: tổng thời gian thu dữ liệu
fs: tốc độ lấy mẫu
L mẫu lưu lại trong x(n), với n=0,1,…,L-1:
x = [x0 x1 x2 x3 … xL-1]
Đáp ứng xung có chiều dài M+1: (bộ lọc FIR bậc M)
h = [h0 h1 h2 h3 … hM]
x0
x1
x2
...
xL-1
H
y0
y1
y2
y3
y4
4
CHƯƠNG 4:
BỘ LỌC ĐÁP ỨNG XUNG HỮU HẠN
23-Mar-10
Phương pháp xử lý khối:
Tích chập
Dạng trực tiếp
Dạng tuyến tính bất biến theo thời gian LTI
Dạng ma trận
Dạng lật và trượt
Trạng thái tức thời & trạng thái tĩnh
Tích chập đối với chuỗi không xác định chiều dài
5
CHƯƠNG 4:
BỘ LỌC ĐÁP ỨNG XUNG HỮU HẠN
23-Mar-10
1. Tích chập:
Công thức tích chập dạng trực tiếp hoặc dạng LTI:
x0
x1
x2
...
xL-1
H
y0
y1
y2
y3
y4
y (n) = ∑ h(m )x(n − m ) = ∑ x(m )h(n − m )
m
y ( n) =
m
∑ h(i) x( j )
i, j
i + j =n
6
CHƯƠNG 4:
BỘ LỌC ĐÁP ỨNG XUNG HỮU HẠN
23-Mar-10
2. Dạng trực tiếp:
Xét bộ lọc nhân quả FIR bậc M:
h = [h0 , h1 ,..., hM ]
Lh = M + 1
Với tín hiệu vào x chiều dài L, dạng trực tiếp:
y( n ) = ∑ h( m )x( n − m )
m
[h] 0 ≤ m ≤ M
⇒ 0 ≤ n ≤ L − 1 + M [y]
[ x ] 0 ≤ n − m ≤ L − 1
Ngõ ra y(n) = [y0 y1 y2 … yL – 1 + M]
có chiều dài Ly=L+M =Lx + Lh - 1
7
CHƯƠNG 4:
BỘ LỌC ĐÁP ỨNG XUNG HỮU HẠN
23-Mar-10
Điều kiện của m:
0≤m≤M
⇒ max(0, n − L + 1) ≤ m ≤ min( n, M )
n − L + 1 ≤ m ≤ n
Bộ lọc FIR bậc M, ngõ vào dữ liệu chiều dài L
min( n , M )
y( n) =
∑
h( m )x( n − m)
m =max( 0 , n − L +1)
n = 0,1,..., L + M − 1
8
CHƯƠNG 4:
BỘ LỌC ĐÁP ỨNG XUNG HỮU HẠN
23-Mar-10
VD: Xét bộ lọc bậc 3, chiều dài tín hiệu đầu vào là 5
Các khối ngõ vào, bộ lọc, ngõ ra:
x = [ x0 , x1 , x2 , x3 , x4 ]
h = [h0 , h1 , h2 , h3 ]
y = h * x = [ y0 , y1 , y2 , y3 , y4 , y5 , y6 , y7 ]
Ngõ ra y:
yn =
min( n ,3 )
∑
m =max( 0 , n − 4 )
hm xn−m
9
CHƯƠNG 4:
BỘ LỌC ĐÁP ỨNG XUNG HỮU HẠN
y0 = h0 x0
max(0,1 − 4) ≤ m ≤ min(1, 3) ⇒ m = 0,1
max(0, 2 − 4) ≤ m ≤ min( 2, 3) ⇒ m = 0,1, 2
y2 = h0 x2 + h1 x1 + h2 x0
23-Mar-10
max(0, 0 − 4) ≤ m ≤ min(0, 3) ⇒ m = 0
y1 = h0 x1 + h1 x0
max(0, 3 − 4) ≤ m ≤ min(3, 3) ⇒ m = 0,1, 2, 3 y3 = h0 x3 + h1 x2 + h2 x1 + h3 x0
max(0, 4 − 4) ≤ m ≤ min( 4, 3) ⇒ m = 0,1, 2, 3 y4 = h0 x4 + h1 x3 + h2 x2 + h3 x1
max(0, 5 − 4) ≤ m ≤ min(5, 3) ⇒ m = 1, 2, 3 y5 = h1 x4 + h2 x3 + h3 x2
max(0, 6 − 4) ≤ m ≤ min(6, 3) ⇒ m = 2, 3
max(0, 7 − 4) ≤ m ≤ min(7, 3) ⇒ m = 3
y6 = h2 x4 + h3 x3
y7 = h3 x4
y=[y0,y1,y2,y3,y4,y5,y6,y7,y8]
10
CHƯƠNG 4:
BỘ LỌC ĐÁP ỨNG XUNG HỮU HẠN
23-Mar-10
3. Bảng tích chập:
yn =
∑ hx
i
j
i, j
i + j =n
j
i
x0
x1
x2
x3
x4
h0
h0x0
h0x1
h0x2
h0x3
h0x4
h1
h1x0
h1x1
h1x2
h1x3
h1x4
h2
h2x0
h2x1
h2x2
h2x3
h2x4
h3
h3x0
h3x1
h3x2
h3x3
h3x4
11
CHƯƠNG 4:
BỘ LỌC ĐÁP ỨNG XUNG HỮU HẠN
23-Mar-10
3. Bảng tích chập:
Ví dụ: tính tích chập của
h = [1, 2, -1, 1] và x = [1, 1, 2, 1, 2, 2, 1, 1]
h
x
1
1
2
1
2
2
1
1
1
2
-1
1
y = [1
1
3
3
5
3
7
4
3
3
0 1]
12
CHƯƠNG 4:
BỘ LỌC ĐÁP ỨNG XUNG HỮU HẠN
23-Mar-10
4. Dạng tuyến tính bất biến theo thời gian LTI:
x = [ x0 , x1 , x2 , x3 , x4 ]
h = [h0 , h1 , h2 , h3 ]
x = x0 [1, 0, 0, 0, 0] + x1[0,1, 0, 0, 0] + x2 [0, 0,1, 0, 0] + x3[0, 0, 0,1, 0] + x4 [0, 0, 0, 0,1]
x( n ) = x0δ ( n ) + x1δ ( n − 1) + x2δ ( n − 2) + x3δ ( n − 3) + x4δ ( n − 4)
Tác động của bộ lọc là thay thế xung bị trễ bởi
đáp ứng xung bị trễ
y( n ) = x0 h( n ) + x1h( n − 1) + x2 h( n − 2) + x3h( n − 3) + x4 h( n − 4)
13
CHƯƠNG 4:
BỘ LỌC ĐÁP ỨNG XUNG HỮU HẠN
23-Mar-10
Mô tả khối dữ liệu ngõ vào, ngõ ra:
x0 [1, 0, 0, 0, 0]
x0 [h0 , h1 , h2 , h3 , 0, 0, 0, 0]
x1[0,1, 0, 0, 0]
x1[0, h0 , h1 , h2 , h3 , 0, 0, 0]
H
x2 [0, 0,1, 0, 0]
→ x2 [0, 0, h0 , h1 , h2 , h3 , 0, 0]
x3[0, 0, 0,1, 0]
x3[0, 0, 0, h0 , h1 , h2 , h3 , 0]
x4 [0, 0, 0, 0,1]
x4 [0, 0, 0, 0, h0 , h1 , h2 , h3 ]
y = [h0 x0 , h0 x1 + h1 x0 , h0 x2 + h1 x1 + h2 x0 ,..., h2 x4 + h3 x3 , h3 x4 ]
14
CHƯƠNG 4:
BỘ LỌC ĐÁP ỨNG XUNG HỮU HẠN
23-Mar-10
h0`
h1
h2
h3
h4
x0.h0
x0.h1
x0.h2
x0.h3
x0.h4
x1.h0
x1.h1
x1.h2
x1.h3
x1.h4
x2.h0
x2.h1
x2.h2
x2.h3
x2.h4
x3.h0
x3.h1
x3.h2
x3.h3
x3.h4
x4.h0
x4.h1
x4.h2
x4.h3
x4.h4
15
CHƯƠNG 4:
BỘ LỌC ĐÁP ỨNG XUNG HỮU HẠN
23-Mar-10
Dạng tuyến tính LTI của tích chập
x0
h0
h1
h2
h3
x0h0
x0h1
x0h2
x0h3
x1h0
x1h1
x1h2
x1h3
x2h0
x2h1
x2h2
x2h3
x3h0
x3h1
x3h2
x3h3
x4h0
x4h1
x4h2
x4h3
y4
y5
y6
y6
x1
x2
x3
x4
yn
y0
y1
y2
y3
0
0
0
0
16
CHƯƠNG 4:
BỘ LỌC ĐÁP ỨNG XUNG HỮU HẠN
23-Mar-10
5. Dạng ma trận:
x: vector chiều dài L
H: ma trận (M+L) x L, xác định từ đáp ứng xung h(n)
y = Hx là vector chiều dài L + M
y0 h 0 0 0
y1 h1 h 0 0
y2 h 2 h 1 h 0
y3 h 3 h 2 h1
y= =
y
0 h3 h 2
4
y5 0 0 h 3
y6 0 0 0
y 0 0 0
7
0
0
0
h0
h1
h2
h3
0
0
0
x0
0
x1
0
x2 = Hx
h0
x3
h1
x4
h2
h 3
17
CHƯƠNG 4:
BỘ LỌC ĐÁP ỨNG XUNG HỮU HẠN
Chuỗi dữ liệu vào được mở rộng thêm M giá trị
zero ở đầu và cuối
Bộ lọc h(n) được lật ngược và trượt trên trên chuỗi
dữ liệu vào
Tại mỗi thời điểm, mẫu ngõ ra được tính bởi tất cả
các điểm mà h(n) trượt với M+1 giá trị ngõ vào
23-Mar-10
6. Dạng lật và trượt:
18
CHƯƠNG 4:
BỘ LỌC ĐÁP ỨNG XUNG HỮU HẠN
23-Mar-10
6. Dạng lật và trượt:
yn = h0xn + h1xn-1 +
+ hMxn-M
h3
h23
h123
h012
h01
h0
h3
h2
h1
h0
h3
h2
h1
h0
0
0
0
x0
x1
x2
xn-3
xn-2
xn-1
xn
xL-1
0
0
0
y0
y1
y2
yn
yL-1+M
19
CHƯƠNG 4:
BỘ LỌC ĐÁP ỨNG XUNG HỮU HẠN
23-Mar-10
0≤n
M ≤n ≤L-1: trạng thái tĩnh
L-1
n
∑ hm xn−m 0 ≤ n < M
m =0
M
yn = ∑ hm xn−m M ≤ n ≤ L − 1
m =0
M
∑ hm xn−m L - 1 < n ≤ L − 1 + M
m=n− L +1
Nếu M+1≥L thì trạng thái tĩnh không tồn tại
20
CHƯƠNG 4:
BỘ LỌC ĐÁP ỨNG XUNG HỮU HẠN
23-Mar-10
7. Tích chập với chuỗi chiều dài không xác định:
min( n , M )
yn =
∑
hm xn− m
m =max( 0 , n − L +1)
Bộ lọc vô hạn, ngõ vào hữu hạn: M=∞, L< ∞
Bộ lọc hữu hạn, ngõ vào vô hạn: M<∞, L= ∞
Bộ lọc vô hạn, ngõ vào vô hạn: M=∞, L= ∞
21
CHƯƠNG 4:
BỘ LỌC ĐÁP ỨNG XUNG HỮU HẠN
n
hm xn −m M = ∞, L < ∞
∑
m=max( 0 ,n− L +1)
min( n ,M )
yn = ∑ hm xn− m M < ∞, L = ∞
m =0
n
∑ hm xn− m M = ∞, L = ∞
m=0
23-Mar-10
Khi M ∞: min(n.M)=n
Khi L ∞: max(0,n-L+1)=0
22
CHƯƠNG 4:
BỘ LỌC ĐÁP ỨNG XUNG HỮU HẠN
m =0
23-Mar-10
VD: Bộ lọc IIR h(n)=(0.75)nu(n). Tìm ngõ ra khi ngõ
vào:
a, x(n)=u(n)
b, x(n) = nu(n)-u(n-25)
n
y( n ) = ∑ h( m) x( n − m) = ∑ (0.75)m u ( m )u ( n − m)
m =0
n +1
1
−
0
.
75
m
n
= ∑ (0.75) =
= 4 − 3.(0.75) → 4( n → ∞ )
1 − 0.75
m =0
n
y( n) =
n
∑
m =max( 0 , n − L +1)
hm xn− m =
n
∑
m =max( 0 , n − 24 )
(0.75)m
23
CHƯƠNG 4:
BỘ LỌC ĐÁP ỨNG XUNG HỮU HẠN
23-Mar-10
8. Dạng khối chồng lấp:
Khối dữ liệu vào x được chia thành các khối có chiều dài L.
L
x=
Khối x0
Khối x1
Khối x2
ytemp
y0 =
L+M
y1 =
L+M
y2 =
L+M
24
n=0
n=L
n = 2L
n = 3L
CHƯƠNG 4:
BỘ LỌC ĐÁP ỨNG XUNG HỮU HẠN
Khối 1
23-Mar-10
Khối 0
Khối 2
h|x
1
1
2
1
2
2
1
1
0
1
1
1
2
1
2
2
1
1
0
2
2
2
4
2
4
4
2
2
0
-1
-1
-1
-2
-1
-2
-2
-1
-1
0
1
1
1
2
1
2
2
1
1
0
n
0
1
2
3
4
5
6
7
8
9
10
y0
1
3
3
4
-1
2
1
4
5
3
0
2
1
3
1
0
1
4
3
3
0
1
y1
y2
y
1
3
3
5
3
7
25