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

ppt 27 trang phuongnguyen 5090
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 - Chương 4: Lọc FIR và tích chập", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pptbai_giang_xu_ly_so_tin_hieu_chuong_4_loc_fir_va_tich_chap.ppt

Nội dung text: Bài giảng Xử lý số tín hiệu - Chương 4: Lọc FIR và tích chập

  1. Xử lý số tín hiệu Chương 4: Lọc FIR và tích chập
  2. 1. Các phương pháp xử lý khối ⚫ Khối vào gồm L mẫu: 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] x x x x y y y y y 0 1 2 L-1 H 0 1 2 3 4
  3. 1. Các phương pháp xử lý khối a. Tích chập (convolution) x x x x y y y y y 0 1 2 L-1 H 0 1 2 3 4 y(n) = h(m)x(n − m) =  x(m)h(n − m) m m y(n) = h(i)x( j) i, j i+ j=n
  4. 1. Các phương pháp xử lý khối b. Dạng trực tiếp (Direct form) Bộ lọc nhân quả FIR, bậc M: h = [h0 h1 h2 h3 hM] Tích chập: y(n) = h(m)x(n − m) với: m 0 ≤ m ≤ M 0 ≤ n – m ≤ L – 1 ➔ m ≤ n ≤ L – 1 + m Suy ra: 0 ≤ n ≤ L – 1 + M => y(n) = [y0 y1 y2 yL – 1 + M] Chiều dài Ly = L + M = Lx + Lh - 1
  5. 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: min(n,M ) y(n) = h(m)x(n − m) m=max( 0,n−L+1) với n = 0, 1, , L + M – 1
  6. 1. Các phương pháp xử lý khối c) Dạng bảng tích chập (convolution table) y(n) = h(i)x( j) i, j i+ j=n 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
  7. 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 y = [ 1 3 3 5 3 7 4 3 3 0 1]
  8. 1. Các phương pháp xử lý khối d) Dạng tuyến tính bất biến theo thời gian (LTI) y(n) =  x(m)h(n − m) m x = [x0 x1 x2 x3 x4 ] hay viết cách khác x(n) = x0.(n) + x1. (n–1) + x2.(n–2) + x3.(n–3) + x4.(n-4) Suy ra: y(n) = x0.h(n) + x1. h(n–1) + x2.h(n–2) + x3.h(n–3) + x4.h(n-4)
  9. 1. Các phương pháp xử lý khối x0` x1 x2 x3 x4 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
  10. 1. Các phương pháp xử lý khối Vẽ bảng: h0 h1 h2 h3 0 0 0 0 x0 x0h0 x0h1 x0h2 x0h3 x1 x0h0 x0h1 x0h2 x0h3 x2 x0h0 x0h1 x0h2 x0h3 x3 x0h0 x0h1 x0h2 x0h3 x4 x0h0 x0h1 x0h2 x0h3 yn y0 y1 y2 y3 y4 y5 y6 y6
  11. 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 yn 1 3 3 5 3 5 -1 2
  12. 1. Các phương pháp xử lý khối e. 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) h0 0 0 0 0 + Dễ dàng thấy h h 0 0 0 1 0 h2 h1 h0 0 0 h h h h 0 H = 3 2 1 0 0 h h h h 3 2 1 0 0 0 h3 h2 h1 0 0 0 h h 3 2 0 0 0 0 h3
  13. 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: x0 0 0 0 x x 0 0 1 0 x2 x1 x0 0 x x x x X = 3 2 1 0 x x x x 4 3 2 1 0 x4 x3 x2 0 0 x x 4 3 0 0 0 x4
  14. 1. Các phương pháp xử lý khối f. Dạng lật và trượt yn = h0xn + h1xn-1 + + hMxn-M h3 h23 hh123 hh012 h01 h0 h3 h2 h1 h0 h3 h2 h1 h0 xn-3 xn-2 xn-1 xn xL-1 0 0 0 x0 x1 x2 0 0 0 y0 y1 y2 yn yL-1+M
  15. 1. Các phương pháp xử lý khối g. Trạng thái tức thời và trạng thái tĩnh y(n) = h0x(n) + h1x(n-1) + h2x(n-2) + + hMx(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) = h0x(M-1) + h1x(M-2) + + hM-1x(0) => khoảng thời gian [0; M-1]: trạng thái mở tức thời
  16. 1. Các phương pháp xử lý khối y(M) = h0x(M) + h1x(M-1) + + hM-1x(1) + hMx(0) y(M+1) = h0x(M+1) + h1x(M) + + hM-1x(2) + hMx(1) y(L-1) = h0x(L-1) + h1x(L-2) + + hMx(L-1-M) => khoảng thời gian [M; L-1]: trạng thái tĩnh (xác lập) y(L) = h1x(L-1) + h2x(L-2) + + hMx(L-M) y(M+L-1) = hMx(L-1) => khoảng thời gian [L; M+ L-1]: trạng thái tắt dần
  17. 1. Các phương pháp xử lý khối h. 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. L x = Khối x0 Khối x1 Khối x2 ytemp y0 = L + M y1 = L + M y2 = L + M n = 0 n = L n = 2L n = 3L
  18. 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ỏ: x =[ 1, 1, 2, 1, 2, 2, 1, 1, 0 ] Chập từng khối nhỏ với h, ở đây sử dụng bảng tích chập.
  19. 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
  20. 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: x1(n) x1(n) + x2(n) x2(n) ▪ Khối nhân: a x(n) ax(n) ▪ Khối làm trễ x(n) z-1 x(n-1)
  21. 2. Phương pháp xử lý mẫu a. Pure Delay x(n) z-1 x(n-1) 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)
  22. 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
  23. 2. Phương pháp xử lý mẫu b. 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) = h0x(n) + h1x(n – 1) + hMx(n – M) Với đáp ứng xung h = [h0, h1, , hM] ⚫ Ví dụ thực hiện bộ lọc bậc 3 dạng trực tiếp như sau: h0 x(n) y(n) h1 z-1 x(n – 1) h2 z-1 x(n – 2) h3 z-1
  24. 2. Phương pháp xử lý mẫu ⚫ Đặt các trạng thái nội: x(n) h0 y(n) ω (n) 0 h z-1 1 ω (n) 1 h z-1 2 ω (n) 2 h z-1 3 ω3(n) ⚫ Giải thuật xử lý mẫu: với mỗi mẫu vào x(n): ω0 = x y = h0ω0 + h1ω1 + h2ω2 + h3ω3 ω3 = ω2 ω2 = ω1 ω1 = ω0
  25. 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).
  26. 2. Phương pháp xử lý mẫu ⚫ Sơ đồ và thuật toán xử lý mẫu: x y(n) ω0 2 z-1 ω 1 -1 z-1 ω2 z-1 ω3 ⚫ Đối với mỗi mẫu vào x: ω0 = x y = ω0 + 2ω1 – ω2 + ω3 ω3 = ω2 ω2 = ω1 ω1 = ω0
  27. 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