Bài giảng Xử lý số tín hiệu (Digital Signal Processing) - Chương 4: Lọc FIR và tích chập

1. Các phương pháp xử lý khối

Dạng ma trận

+ x là vector chiều dài L

 y là vector chiều dài L + M

+ Dạng ma trận: y = Hx với H: ma trận (M+L) x L, xác định từ đáp ứng xung h(n)

+ Dễ dàng thấy

ppt 27 trang phuongnguyen 5180
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Xử lý số tín hiệu (Digital Signal Processing) - Chương 4: Lọc FIR và tích chập", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Bài giảng Xử lý số tín hiệu (Digital Signal Processing) - Chương 4: Lọc FIR và tích chập

Bài giảng Xử lý số tín hiệu (Digital Signal Processing) - Chương 4: Lọc FIR và tích chập
Xử lý số tín hiệu  
Chương 4: Lọc FIR và tích chập 
1. Các phương pháp xử lý khối 
Khối vào gồm L mẫu:	x = [x 0 x 1 x 2 x 3  x L-1 ] 
Đáp ứng xung có chiều dài M+1: (bộ lọc FIR bậc M)	h = [h 0 h 1 h 2 h 3  h M ] 
H 
x 0 
x 1 
x 2 
... 
x L-1 
y 0 
y 1 
y 2 
y 3 
y 4 
1. Các phương pháp xử lý khối 
Tích chập (convolution) 
H 
x 0 
x 1 
x 2 
... 
x L-1 
y 0 
y 1 
y 2 
y 3 
y 4 
1. Các phương pháp xử lý khối 
Dạng trực tiếp (Direct form) 
	Bộ lọc nhân quả FIR, bậc M: h = [h 0 h 1 h 2 h 3  h M ] 
	Tích chập: 
	với: 
	0 ≤ m ≤ M 
	0 ≤ n – m ≤ L – 1 m ≤ n ≤ L – 1 + m 
 Suy ra: 
	0 ≤ n ≤ L – 1 + M 
 => y(n) = [y 0 y 1 y 2  y L – 1 + M ]	 
	Chiều dài L y = L + M = L x + L h - 1 
1. Các phương pháp xử lý khối 
	0 ≤ m ≤ M	 	(1) 
	0 ≤ n – m ≤ L – 1 n – L + 1 ≤ m ≤ n	(2) 
	(1) & (2) 
 	=> max(0, n – L + 1) ≤ m ≤ min(n,M) 
	Công thức tích chập trực tiếp: 
	với n = 0, 1, , L + M – 1 
1. Các phương pháp xử lý khối 
Dạng bảng tích chập (convolution table) 
x 0 
x 1 
x 2 
x 3 
x 4 
h 0 
h 0 x 0 
h 0 x 1 
h 0 x 2 
h 0 x 3 
h 0 x 4 
h 1 
h 1 x 0 
h 1 x 1 
h 1 x 2 
h 1 x 3 
h 1 x 4 
h 2 
h 2 x 0 
h 2 x 1 
h 2 x 2 
h 2 x 3 
h 2 x 4 
h 3 
h 3 x 0 
h 3 x 1 
h 3 x 2 
h 3 x 3 
h 3 x 4 
1. Các phương pháp xử lý khối 
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 
1 
1 
2 
1 
2 
2 
1 
1 
2 
2 
2 
4 
2 
4 
4 
2 
2 
-1 
-1 
-1 
-2 
-1 
-2 
-2 
-1 
-1 
1 
1 
1 
2 
1 
2 
2 
1 
1 
h x 
1 
1 
2 
1 
2 
2 
1 
1 
1 
1 
2 
1 
2 
2 
1 
1 
2 
2 
2 
4 
2 
4 
4 
2 
2 
-1 
-1 
-1 
-2 
-1 
-2 
-2 
-1 
-1 
1 
1 
1 
2 
1 
2 
2 
1 
1 
h x 
1 
1 
2 
1 
2 
2 
1 
1 
1 
2 
1 
2 
2 
1 
1 
2 
2 
4 
2 
4 
4 
2 
2 
-1 
-1 
-1 
-2 
-1 
-2 
-2 
-1 
-1 
1 
1 
1 
2 
1 
2 
2 
1 
1 
h x 
1 
1 
2 
1 
2 
2 
1 
1 
1 
1 
2 
2 
1 
1 
2 
4 
2 
4 
4 
2 
2 
-1 
-1 
-2 
-1 
-2 
-2 
-1 
-1 
1 
1 
1 
2 
1 
2 
2 
1 
1 
h x 
1 
1 
2 
1 
2 
2 
1 
1 
1 
2 
2 
1 
1 
2 
2 
4 
4 
2 
2 
-1 
-2 
-1 
-2 
-2 
-1 
-1 
1 
1 
2 
1 
2 
2 
1 
1 
h x 
1 
1 
2 
1 
2 
2 
1 
1 
1 
2 
1 
1 
2 
4 
4 
2 
2 
-1 
-1 
-2 
-2 
-1 
-1 
1 
2 
1 
2 
2 
1 
1 
h x 
1 
1 
2 
1 
2 
2 
1 
1 
1 
1 
1 
2 
4 
2 
2 
-1 
-2 
-2 
-1 
-1 
1 
1 
2 
2 
1 
1 
h x 
1 
1 
2 
1 
2 
2 
1 
1 
1 
1 
2 
2 
2 
-1 
-2 
-1 
-1 
1 
2 
2 
1 
1 
h x 
1 
1 
2 
1 
2 
2 
1 
1 
1 
2 
2 
-1 
-1 
-1 
1 
2 
1 
1 
h x 
1 
1 
2 
1 
2 
2 
1 
1 
1 
2 
-1 
-1 
1 
1 
1 
h x 
1 
1 
2 
1 
2 
2 
1 
1 
1 
2 
-1 
1 
1 
y = [ 
1 
3 
3 
5 
3 
7 
4 
3 
3 
0 
1] 
1. Các phương pháp xử lý khối 
Dạng tuyến tính bất biến theo thời gian (LTI) 
x = [x 0 x 1 x 2 x 3 x 4 ] 
hay viết cách khác 
x(n) = x 0 . (n) + x 1 . (n–1) + x 2 .(n–2) + x 3 .(n–3) + x 4 .(n-4) 
Suy ra: 
y(n) = x 0 . h(n) + x 1 . h(n–1) + x 2 .h(n–2) + x 3 .h(n–3) + x 4 .h(n-4) 
1. Các phương pháp xử lý khối 
h 0` 
h 1 
h 2 
h 3 
h 4 
x 0 .h 0 
x 0 .h 1 
x 0 .h 2 
x 0 .h 3 
x 0 .h 4 
x 1 .h 0 
x 1 .h 1 
x 1 .h 2 
x 1 .h 3 
x 1 .h 4 
x 2 .h 0 
x 2 .h 1 
x 2 .h 2 
x 2 .h 3 
x 2 .h 4 
x 3 .h 0 
x 3 .h 1 
x 3 .h 2 
x 3 .h 3 
x 3 .h 4 
x 4 .h 0 
x 4 .h 1 
x 4 .h 2 
x 4 .h 3 
x 4 .h 4 
1. Các phương pháp xử lý khối 
Vẽ bảng: 
h 0 
h 1 
h 2 
h 3 
0 
0 
0 
0 
x 0 
x 0 h 0 
x 0 h 1 
x 0 h 2 
x 0 h 3 
x 1 
x 1 h 0 
x 1 h 1 
x 1 h 2 
x 1 h 3 
x 2 
x 2 h 0 
x 2 h 1 
x 2 h 2 
x 2 h 3 
x 3 
x 3 h 0 
x 3 h 1 
x 3 h 2 
x 3 h 3 
x 4 
x 4 h 0 
x 4 h 1 
x 4 h 2 
x 4 h 3 
y n 
y 0 
y 1 
y 2 
y 3 
y 4 
y 5 
y 6 
y 6 
1. Các phương pháp xử lý khối 
Ví dụ: tính tích chập của 
h = [1, 2, -1, 1] và x = [1, 1, 2, 1, 2] 
1 
2 
-1 
1 
0 
0 
0 
0 
1 
1 
2 
-1 
1 
1 
1 
2 
-1 
1 
2 
2 
4 
-2 
2 
1 
1 
2 
-1 
1 
2 
2 
4 
-2 
2 
y n 
1 
3 
3 
5 
3 
5 
-1 
2 
1. Các phương pháp xử lý khối 
Dạng ma trận 
+ x là vector chiều dài L 
 y là vector chiều dài L + M 
+ Dạng ma trận: y = Hx với H: ma trận (M+L) x L, xác định từ đáp ứng xung h(n) 
+ Dễ dàng thấy 
1. Các phương pháp xử lý khối 
+ Cũng có thể viết: 
	y = X.h với X là ma trận xác định từ x như sau: 
1. Các phương pháp xử lý khối 
Dạng lật và trượt 
	yn = h 0 x n + h 1 x n-1 +  + h M x n-M 
0 
0 
0 
x 0 
x 1 
x 2 
x n-3 
x n-2 
x n-1 
x n 
x L-1 
0 
0 
0 
h 3 
h 2 
h 1 
h 0 
h 3 
h 2 
h 1 
h 0 
h 3 
h 2 
h 1 
h 0 
h 3 
h 2 
h 1 
h 0 
h 3 
h 2 
h 1 
h 0 
y 0 
y 1 
y n 
y L-1+M 
y 2 
1. Các phương pháp xử lý khối 
Trạng thái tức thời và trạng thái tĩnh 
	y(n) = h 0 x(n) + h 1 x(n-1) + h 2 x(n-2) +  + h M x(n-M) 
	 x(n) bắt đầu từ n = 0 đến n = L – 1 
	y(0) = h0x(0) 
	y(1) = h0x(1) + h1x(0) 
	y(M-1) = h 0 x(M-1) + h 1 x(M-2) +  + h M-1 x(0) 
	=> khoảng thời gian [0; M-1]: trạng thái mở tức thời 
1. Các phương pháp xử lý khối 
	 y(M) = h 0 x(M) + h 1 x(M-1) +  + h M-1 x(1) + h M x(0) 
	 y(M+1) = h 0 x(M+1) + h 1 x(M) +  + h M-1 x(2) + h M x(1) 
	 y(L-1) = h 0 x(L-1) + h 1 x(L-2) +  + h M x(L-1-M) 
	=> khoảng thời gian [M; L-1]: trạng thái tĩnh (xác lập) 
	 y(L) = h 1 x(L-1) + h 2 x(L-2) + 	 + h M x(L-M) 
	 y(M+L-1) = h M x(L-1) 
	=> khoảng thời gian [L; M+ L-1]: trạng thái tắt dần 
1. Các phương pháp xử lý khối 
Dạng khối cộng 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. 
Khối x 0 
Khối x 1 
Khối x 2 
L + M 
L + M 
L + M 
y temp 
L 
x = 
y 0 = 
y 1 = 
y 2 = 
n = 0 
n = L 
n = 2L 
n = 3L 
1. Các phương pháp xử lý khối 
Ví dụ : 
Tính tích chập x = [1, 1, 2, 1, 2, 2, 1, 1] với h = [1, 2, -1, 1] bằng pp cộng dồn khối, chọn L = 3 
Giải : 
Chia ngõ vào thành các khối nhỏ: 
Chập từng khối nhỏ với h, ở đây sử dụng bảng tích chập. 
x =[ 
1, 1, 2, 
1, 2, 2, 
1, 1, 0 ] 
1. Các phương pháp xử lý khối 
Block 0 
Block 1 
Block 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 
1 
n 
0 
1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
y0 
1 
3 
3 
4 
-1 
2 
y1 
1 
4 
5 
3 
0 
2 
y2 
1 
3 
1 
0 
1 
y 
1 
3 
3 
5 
3 
7 
4 
3 
3 
0 
1 
2. Phương pháp xử lý mẫu 
Các khối cơ bản của hệ thống DSP 
Khối cộng: 
Khối nhân: 
Khối làm trễ 
x 1 (n) + x 2 (n) 
x 1 (n) 
x 2 (n) 
x(n) 
ax(n) 
a 
z -1 
x(n) 
x(n-1) 
2. Phương pháp xử lý mẫu 
Pure Delay 
 Thực hiện bằng cách dùng 1 thanh ghi nội. Tại thời điểm n: 
Đưa mẫu đã lưu trong thanh ghi ra ngõ ra (x(n-1)) 
Nhận mẫu vào x(n) và đưa lên thanh ghi. Mẫu này sẽ được đưa ra ở thời điểm n+1. 
	Xem thanh ghi là trạng thái nội của bộ lọc, 	 ω 1 (n) = x(n-1) 
z -1 
x(n) 
x(n-1) 
2. Phương pháp xử lý mẫu 
- Đối với bộ làm trễ bậc cao hơn: dùng nhiều biến trạng thái nội (thanh ghi hơn). 
Tổng quát, khi trễ D đơn vị, nội dung các thanh ghi là ω i (n), i = 1, 2, , D. Ký hiệu ngõ vào ω 0 (n) 
Phương trình I/O của bộ trễ D đơn vị: 	 
	y(n) = ω D (n) 
	 ω 0 (n) = x(n) 
	 	 ω i (n+1) = ω i-1 (n), i = D, D -1, , 2, 1 
Bộ lọc FIR dạng trực tiếp 
Pt tích chập trực tiếp của bộ lọc FIR bậc M: 
	y(n) = h 0 x(n) + h 1 x(n – 1) +  h M x(n – M) 
Với đáp ứng xung h = [h 0 , h 1 ,  , h M ] 
Ví dụ thực hiện bộ lọc bậc 3 dạng trực tiếp như sau: 
h 0 
h 1 
h 2 
h 3 
z - 1 
z - 1 
z - 1 
x(n – 2) 
x(n) 
x(n – 1) 
y(n) 
2. Phương pháp xử lý mẫu 
Đặt các trạng thái nội: 
Giải thuật xử lý mẫu: với mỗi mẫu vào x(n): 
	 ω 0 = x 
	y = h 0 ω 0 + h 1 ω 1 + h 2 ω 2 + h 3 ω 3 
	 ω 3 = ω 2 
	 ω 2 = ω 1 
	 ω 1 = ω 0 
h 0 
h 1 
h 2 
h 3 
z - 1 
z - 1 
z - 1 
x(n) 
ω 1 (n) 
ω 2 (n) 
y(n) 
ω 0 (n) 
ω 3 (n) 
2. Phương pháp xử lý mẫu 
2. Phương pháp xử lý mẫu 
Ví dụ: Xác định thuật toán sử lý mẫu trực tiếp, với 
	h = [1, 2, -1, 1] 
 x = [1, 1, 2, 1, 2, 2, 1, 1] 
Sử dụng thuật toán để tính đáp ứng ngõ ra. 
Giải: 
Phương trình I/O của bộ lọc: 
	y(n) = x(n) + 2x(n – 1) – x(n – 2) + x(n – 3) 
Với trạng thái nội ω i (n) = x(n – 1), i = 1, 2, 3 và đặt ω 0 (n) = x(n). 
2. Phương pháp xử lý mẫu 
Sơ đồ và thuật toán xử lý mẫu: 
Đối với mỗi mẫu vào x: 
	 ω 0 = x 
	y = ω 0 + 2 ω 1 – ω 2 + ω 3 
	 ω 3 = ω 2 
	 ω 2 = ω 1 
	 ω 1 = ω 0 
2 
-1 
z - 1 
z - 1 
z - 1 
x 
ω 1 
ω 2 
y(n) 
ω 0 
ω 3 
2. Phương pháp xử lý mẫu 
Thuật toán xử lý mẫu trực tiếp cho ngõ ra như sau: 
n 
x 
ω 0 
ω 1 
ω 2 
ω 3 
y = ω 0 + ω 1 – ω 2 + ω 3 
0 
1 
1 
0 
0 
0 
1 
1 
1 
1 
1 
0 
0 
3 
2 
2 
2 
1 
1 
0 
3 
3 
1 
1 
2 
1 
1 
5 
4 
2 
2 
1 
2 
1 
3 
5 
2 
2 
2 
1 
2 
7 
6 
1 
1 
2 
2 
1 
4 
7 
1 
1 
1 
2 
2 
3 
8 
0 
0 
1 
1 
2 
3 
9 
0 
0 
0 
1 
1 
0 
10 
0 
0 
0 
0 
1 
1 

File đính kèm:

  • pptbai_giang_xu_ly_so_tin_hieu_digital_signal_processing_chuong.ppt