Kỹ Thuật - Công Nghệ - Công Nghệ Thông Tin, it, phầm mềm, website, web, mobile app, trí tuệ nhân tạo, blockchain, AI, machine learning - Điện - Điện tử - Viễn thông Bài giảng: Xử lý số tín hiệu 5222010 1 Chương 7 BIẾN ĐỔI FOURIER RỜI RẠ C (DFT) VÀ GIẢI THUẬT BIẾN ĐỔI FOURIER NHANH (FFT) Nộ i dung: 7.1 Biến đổi Fourier rời rạ c DFT 7.1.1 Định nghĩ a 7.1.2 Các tính chất củ a DFT 7.1.3 Lọc tuyến tính dự a trên DFT 7.1.4 Phân tích phổ tín hiệ u dùng DFT 7.2 Giải thuật biến đổ i Fourier nhanh FFT 7.2.1 FFT cơ số 2 phân chia theo thờ i gian 7.2.2 FFT cơ số 2 phân chia theo tần số Bài tập Bài giảng: Xử lý số tín hiệu 2 Chương 7 BIẾN ĐỔI DFT VÀ GIẢI THUẬ T FFT 7.1 Biến đổi Fourier rời rạc DFT (Discrete Fourier Transform): 7.1.1 Định nghĩa: DTFT được sử dụng rộng rãi khi nghiên cứu tín hiệu ở dạng giả i tích. Tuy nhiên, nó có 2 hạn chế: ¾ Độ dài tín hiệu là vô cùng >< thực tế là hữu hạn. ¾ Biến Ω là liên tục >< yêu cầu xử lý (trên máy tính,..) là rời rạc. Giả sử x(n) là tín hiệu rời rạc có chiều dài hữu hạn L. Công thức biến đổi DFT N điểm (N≥L) củ a x(n) là: (DFT) (IDFT) DFT đóng vai trò quan trọng trong xử lý số tín hiệu (ví dụ: phân tích phổ, lọ c tín hiệu,..) do tồn tại các cách tính DFT hiệu quả (chẳng hạn như giải thuật FFT). 5222010 1 2 0 ( ) ( ) ; 0,..., 1 N j kn N n X k x n e k N π − − = = = −∑ 1 2 0 1 ( ) ( ) ; 0 , ..., 1 N j k n N k x n X k e n N N π − = = = −∑ Giải pháp đưa ra: DFT Bài giảng: Xử lý số tín hiệu 3 Chương 7 BIẾN ĐỔI DFT VÀ GIẢI THUẬT FFT(tt) 5222010 Ví dụ 1: Cho tín hiệ u: a. Xác định và vẽ phổ tín hiệu X(Ω ). b. Xác định và vẽ DFT N điểm (N≥L). Lời giải: a. Dùng biến đổi DTFT: 1 , 0 1 ( ) 0 , : n L x n n elsewhere ≤ ≤ − ⎧ = ⎨ ⎩ 1 ( 1) 2 0 1 sin 2 ( ) ( ) 1. 1 sin 2 sin 2 ( ) ; ( ) ( 1) 2 sin 2 jn L L j n j n j L j n n n e L X x n e e e e L X X L − Ω∞ − − Ω − Ω − Ω − − Ω = −∞ = − Ω Ω = = = = − Ω Ω ⇒ Ω = ∠ Ω = −Ω − Ω ∑ ∑ Bài giảng: Xử lý số tín hiệu 4 Chương 7 BIẾN ĐỔI DFT VÀ GIẢI THUẬT FFT(tt) 5222010 b. Dùng công thức DFT N điểm: 2 1 1 2 2 ( 1) 2 0 0 1 sin ( ) ( ) 1 sin j kL NN L j kn N j kn N j k L N j k N n n e kL N X k x n e e e e k N π π π π π π π −− − − − − − − = = − = = = = − ∑ ∑ Bài giảng: Xử lý số tín hiệu 5 Chương 7 BIẾN ĐỔI DFT VÀ GIẢI THUẬT FFT(tt) 5222010 Biểu diễn dạng ma trận: ¾ Đặt : W N = e -j2πN, lúc đ ó: ; ; ¾ Công thức DFT và IDFT được viết lại như sau: (DFT) (IDFT) Æ Cho X(k) tìm x(n) dùng DFT ???? N N NX W x= 1 N N Nx W X N = 1 0 ( ) ( ) ; 0, ..., 1 N kn N n X k x n W k N − = = = −∑ 1 0 1 ( ) ( ) ; 0,..., 1 N kn N k x n X k W n N N − − = = = −∑ Bài giảng: Xử lý số tín hiệu 6 Chương 7 BIẾN ĐỔI DFT VÀ GIẢI THUẬT FFT(tt) 5222010 Ví dụ 2: Cho tín hiệu: x(n) = {0,1,2,3}. Tìm DFT 4 điểm ? Lời giải: ¾ Dùng trực tiếp định nghĩa: ¾ Dùng dạng ma trận: 0 0 0 0 4 4 4 4 1 2 30 1 2 3 4 4 44 4 4 4 4 2 0 20 2 4 6 4 4 44 4 4 4 3 2 10 3 6 9 4 4 44 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 2 1 1 3 w w w w w w w j jw w w w W w w ww w w w w w w j jw w w w j j X W x j j ⎡ ⎤ ⎡ ⎤ ⎡ ⎤ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥− −⎢ ⎥ ⎢ ⎥ ⎢ ⎥= = = ⎢ ⎥ ⎢ ⎥ ⎢ ⎥− − ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ − −⎢ ⎥ ⎣ ⎦⎣ ⎦⎣ ⎦ ⎡ ⎤ ⎡ ⎢ ⎥ ⎢− −⎢ ⎥ ⎢= = × ⎢ ⎥ ⎢− − ⎢ ⎥ ⎢ − −⎣ ⎦ ⎣ 6 2 2 2 2 2 ( ) {6; 2 2 ; 2; 2 2 } j j X k j j ⎤ ⎡ ⎤ ⎥ ⎢ ⎥− +⎥ ⎢ ⎥ = ⎥ ⎢ ⎥ − ⎥ ⎢ ⎥ − −⎦ ⎣ ⎦ ⇒ = − + − − − 2 k N k N N k N k N N W W W W + + = = − Bài giảng: Xử lý số tín hiệu 7 Chương 7 BIẾN ĐỔI DFT VÀ GIẢI THUẬ T FFT (tt) 7.1.2 Các tính chất của DFT: a. Tuần hoàn: ¾ X(k) tuần hoàn với chu kỳ N, nghĩa là: X(k+N) = X(k), ∀k b. Tuyế n tính: c. Dịch vòng: Khái niệm dịch vòng: x’(n) = x((n-n 0)) N = x(n - n 0)modN 5222010 1 1 1 1 2 2 1 1 2 2 1 2 2 2 ( ) ( ) ( ) ( ) ( ) ( ), , ( ) ( ) DFT DFT DFT x n X k a x n a x n a X k a X k a a x n X k ⎫←⎯⎯→ ⇒ + ←⎯⎯→ + ∀ ⎬ ←⎯⎯→ ⎭ 0 0 2 0 2 0 (( )) ( ) ( ) ( ) ( ) (( )) j kn N D FT D FT N j k n N D FT N x n n X k e x n X k x n e X k k π π − ⎧ − ←⎯ ⎯→ ⎪ ←⎯ ⎯→ ⇒ ⎨ ←⎯ ⎯→ −⎪⎩ Bài giảng: Xử lý số tín hiệu 8 Chương 7 BIẾN ĐỔI DFT VÀ GIẢI THUẬ T FFT (tt) 7.1.2 Các tính chất của DFT: d. Tích chập vòng: ¾ Tích 2 DFT ∼ tích chập vòng trong miền thời gian. 5222010 ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) DFT DFT DFT x n X k z n x n y n Z k X k Y k y n Y k ⎫←⎯ ⎯→ ⇒ = ⊗ ←⎯ ⎯→ = ⎬ ←⎯ ⎯→ ⎭ X x(n) X(k) Y(k)y(n) DFT N điểm DFT N điểm IDFT N điểm z(n)=x(n) y(n) Khái niệm tích chập vòng: 1 0 ( ) ( ) ( ) ( ) m o d N m x n y n x m y n m N − = ⊗ = −∑ Bài giảng: Xử lý số tín hiệu 9 Chương 7 BIẾN ĐỔI DFT VÀ GIẢI THUẬ T FFT (tt) 7.1.3 Lọc tuyến tính dựa vào DFT: ¾ Ngõ ra hệ thống LTI: tích chập thông thường giữa tín hiệu vào và đáp ứ ng xung Tích 2 DFT tích chập vòng trong miền thời gian. Æ dùng DFT để tính đáp ứng ngõ ra của hệ thống LTI ????? ¾ Xét bộ lọc FIR có đáp ứng xung h(n), chiề u dài M. Tín hiệu ngõ vào x(n), chiề u dài L. Khi đó, tín hiệu ngõ ra y(n) có chiều dài L+M-1. Số mẫu cần để biểu diễn phổ Y(Ω) là: N≥L+ M – 1 Æ cần lấy DFT N điểm. Lấy DFT N điểm cho 2 chuỗi x(n) và h(n). 5222010 Hệ thố ng rời rạc Tín hiệu ra x(n) y(n)=h(n)x(n) Tín hiệu vào X(Ω) Y(Ω)=X(Ω)H(Ω) Bài giảng: Xử lý số tín hiệu 10 Chương 7 BIẾN ĐỔI DFT VÀ GIẢI THUẬ T FFT (tt) 7.1.3 Lọc tuyến tính dựa vào DFT (tt): ¾ Sơ đồ thực hiện: Chèn zeros vào 2 chuỗi x(n) và h(n) để có chiều dài N. ¾ Bằng cách tăng chiều dài từng chuỗi (thêm zeros), tích chập vòng sẽ cho kế t quả tương tự tích chập tuyến tính, hay nói cách khác, DFT có thể được dùng để lọc tuyến tính (tính đáp ứng ngõ ra của hệ thống tuyến tính). ¾ Trường hợp, tín hiệu ngõ vào dài, dùng phương pháp cộng chồng lấ p. Việc tính toán cho từng khối sẽ thực hiện như trên. 5222010 X x(n) X(k) H(k)h(n) DFT N điểm IDFT N điểm y(n)=x(n)y(n) Chèn M-1 zeros DFT N điểm Chèn L-1 zeros Bài giảng: Xử lý số tín hiệu 11 Chương 7 BIẾN ĐỔI DFT VÀ GIẢI THUẬ T FFT (tt) 7.1.4 Phân tích phổ tín hiệu dùng DFT: ¾ Xét chuỗi tín hiệu cần phân tích x(n), -∞ ≤ n ≤ ∞. ¾ Quan sát tín hiệu trong L mẫu, nghĩa là 0 ≤ n ≤ L-1.Tín hiệu quan sát lúc đó: Hiện tượng rò phổ: ¾ Giả sử x(n) = cos Ω0 n, -∞ ≤ n ≤ ∞. Lúc đó, xx(n) = cos Ω0n, 0 ≤ n ≤ L-1. Phổ của tín hiệu (biểu thức giả i tích) dùng DTFT: trong đó, W(Ω) là biến đổi DTFT của hàm cửa sổ w(n). 5222010 1 , 0 1 ( ) ( ) ( ), ( ) 0 , n L xx n x n w n w n otherwise ≤ ≤ − ⎧ = = ⎨ ⎩ ( 1) 2sin 2 ( ) sin 2 j L L W e − Ω −Ω Ω = Ω 0 0 0 0 ( ) ( ) ( ) 1 ( ) ( ) ( ) 2 X XX W W π δ πδΩ = Ω − Ω + Ω + Ω Ω = Ω − Ω + Ω + Ω 2πL-2π L W(Ω) Bài giảng: Xử lý số tín hiệu 12 Chương 7 BIẾN ĐỔI DFT VÀ GIẢI THUẬ T FFT (tt) 7.1.4 Phân tích phổ tín hiệu dùng DFT (tt): Phổ của tín hiệu dùng DFT: dán thêm N-L zeros vào x(n) rồi lấy DFT N điểmÆ phổ XX(k). 5222010 X(Ω) 0 Ω0- Ω0 π Nhận xét: ¾ Phổ XX(Ω) không nằm tại một vị trí như X(Ω) mà bị trả i ra trong miền tần số do đặc tính của cửa số w(n)Æ hiện tượng rò phổ. ¾ Như vậy, việc cửa sồ hóa (cắt cụt tín hiệu) sẽ làm sai lệch kết quả ước lượng phổ. XX(Ω) Bài giảng: Xử lý số tín hiệu 13 Chương 7 BIẾN ĐỔI DFT VÀ GIẢI THUẬT FFT (tt) Độ phân giải tần số: ¾ Xét tín hiệu gồm 2 thành phần tần số: x(n) = cos Ω1n + cos Ω2n, -∞ ≤ n ≤ ∞ . Lúc đó, xx(n) = x(n)w(n) = cos Ω1n + cos Ω2n, 0 ...
Bài giảng: Xử lý số tín hiệu Chương 7 BIẾN ĐỔI FOURIER RỜI RẠC (DFT) VÀ GIẢI THUẬT BIẾN ĐỔI FOURIER NHANH (FFT) Nội dung: 7.1 Biến đổi Fourier rời rạc DFT 7.1.1 Định nghĩa 7.1.2 Các tính chất của DFT 7.1.3 Lọc tuyến tính dựa trên DFT 7.1.4 Phân tích phổ tín hiệu dùng DFT 7.2 Giải thuật biến đổi Fourier nhanh FFT 7.2.1 FFT cơ số 2 phân chia theo thời gian 7.2.2 FFT cơ số 2 phân chia theo tần số Bài tập 1 5/22/2010 Bài giảng: Xử lý số tín hiệu Chương 7 BIẾN ĐỔI DFT VÀ GIẢI THUẬT FFT 7.1 Biến đổi Fourier rời rạc DFT (Discrete Fourier Transform): 7.1.1 Định nghĩa: DTFT được sử dụng rộng rãi khi nghiên cứu tín hiệu ở dạng giải tích Tuy nhiên, nó có 2 hạn chế: Giải pháp ¾ Độ dài tín hiệu là vô cùng >< thực tế là hữu hạn đưa ra: DFT ¾ Biến Ω là liên tục >< yêu cầu xử lý (trên máy tính, ) là rời rạc Giả sử x(n) là tín hiệu rời rạc có chiều dài hữu hạn L Công thức biến đổi DFT N điểm (N≥L) của x(n) là: N −1 (DFT) X (k ) = ∑ x(n)e− j2π kn/N ; k = 0, , N −1 n=0 x ( n ) = 1 ∑ X ( k ) e j 2 N −1 π kn / N ; (IDFT) N k=0 n = 0, , N − 1 DFT đóng vai trò quan trọng trong xử lý số tín hiệu (ví dụ: phân tích phổ, lọc tín hiệu, ) do tồn tại các cách tính DFT hiệu quả (chẳng hạn như giải thuật FFT) 2 5/22/2010 Bài giảng: Xử lý số tín hiệu Chương 7 BIẾN ĐỔI DFT VÀ GIẢI THUẬT FFT(tt) Ví dụ 1: Cho tín hiệu: ⎧1 ,0 ≤ n ≤ L −1 x(n) = ⎨ , n : elsewhere a Xác định và vẽ phổ tín hiệu X(Ω) ⎩0 b Xác định và vẽ DFT N điểm (N≥L) Lời giải: a Dùng biến đổi DTFT: − jΩn − jΩn ∞ L−1 1 − e− jnΩL sin ΩL / 2 − jΩ ( L−1)/ 2 X (Ω) = ∑ x(n)e = ∑ 1.e = − jΩn = e 1− e sin Ω / 2 n=−∞ n=0 ⇒| X (Ω) |= sin ΩL / 2 ; ∠X (Ω) = −Ω(L − 1) / 2 sin Ω / 2 3 5/22/2010 Bài giảng: Xử lý số tín hiệu Chương 7 BIẾN ĐỔI DFT VÀ GIẢI THUẬT FFT(tt) b Dùng công thức DFT N điểm: ∑ ∑ − j 2 N −1 π kn/ N − j 2 L−1 π kn/ N 1 − e− j 2π kL/ N sin π kL / N − jπ k ( L−1)/ N X (k) = x(n)e =e = 1− e − j2π k / N = sin π k / N e n=0 n=0 4 5/22/2010 Bài giảng: Xử lý số tín hiệu Chương 7 BIẾN ĐỔI DFT VÀ GIẢI THUẬT FFT(tt) Biểu diễn dạng ma trận: N −1 ¾ Đặt : WN = e-j2π/N, lúc đó: X (k ) = ∑ x (n )W Nkn ; k = 0, , N − 1 n=0 1 − kn N −1 n = 0, , N −1 x(n) = ∑ X (k )WN ; N k=0 ; ; ¾ Công thức DFT và IDFT được viết lại như sau: (DFT) X N = WN xN x N = 1 W N* X N (IDFT) N Æ Cho X(k) tìm x(n) dùng DFT ???? 5 5/22/2010 Bài giảng: Xử lý số tín hiệu Chương 7 BIẾN ĐỔI DFT VÀ GIẢI THUẬT FFT(tt) Ví dụ 2: Cho tín hiệu: x(n) = {0,1,2,3} Tìm DFT 4 điểm ? Lời giải: W Nk + N = W Nk ¾ Dùng trực tiếp định nghĩa: ¾ Dùng dạng ma trận: W Nk + N / 2 = − W Nk ⎡ w04 w04 w04 w04 ⎤ ⎡1 1 1 1 ⎤ ⎡1 1 1 1 ⎤ ⎢0 3⎥ ⎢ 3⎥ ⎢ ⎥ ⎢w4 w4 w4 w4 ⎥ ⎢1 w4 w4 w4 ⎥ ⎢1 − j −1 j ⎥1212 W4 = ⎢ w0 w2 w4 w6 ⎥ = ⎢1 w2 w0 w2 ⎥ = ⎢1 −1 1 −1⎥ ⎢ 0 3 6 9 4 4 4 4 ⎥ ⎢ 3 2 1 4 4 4 ⎥ ⎢ ⎥ ⎢⎣w4 w4 w4 w4 ⎥⎦ ⎣1 w4 w4 w4 ⎦ ⎣1 j −1 − j ⎦ ⎡1 1 1 1 ⎤ ⎡0⎤ ⎡ 6 ⎤ ⎢1 − j −1 j ⎥ ⎢1⎥ ⎢−2 + 2 j ⎥ X 4 = W4 x4 = ⎢ ⎥×⎢ ⎥ = ⎢ ⎥ ⎢1 −1 1 −1⎥ ⎢2⎥ ⎢ −2 ⎥ ⎢ ⎥ ⎢⎥ ⎢ ⎥ ⎣1 j −1 − j ⎦ ⎣3⎦ ⎣−2 − 2 j ⎦ ⇒ X (k ) = {6; −2 + 2 j; −2; −2 − 2 j} 6 5/22/2010 Bài giảng: Xử lý số tín hiệu Chương 7 BIẾN ĐỔI DFT VÀ GIẢI THUẬT FFT (tt) 7.1.2 Các tính chất của DFT: a Tuần hoàn: ¾ X(k) tuần hoàn với chu kỳ N, nghĩa là: X(k+N) = X(k), ∀k b Tuyến tính: x1 (n) DFT X 1 (k ) ⎫ DFT ⎬ ⇒ a1x1(n) + a2 x2 (n) ←⎯⎯→ a1X1(k ) + a2 X 2 (k), ∀a1, a2 ←⎯⎯→ DFT x2 (n) ←⎯⎯→ X 2 (k)⎭ c Dịch vòng: ⎧ DFT − j 2π kn0 / N DFT ⎪ x ((n − n0 )) N ←⎯ ⎯→ X (k )e x(n) ←⎯ ⎯→ X (k ) ⇒ ⎨ j 2π k0n/ N DFT ⎪⎩ x(n)e ←⎯ ⎯→ X ((k − k0 )) N Khái niệm dịch vòng: x’(n) = x((n-n0))N = x[(n - n0)modN] 7 5/22/2010 Bài giảng: Xử lý số tín hiệu Chương 7 BIẾN ĐỔI DFT VÀ GIẢI THUẬT FFT (tt) 7.1.2 Các tính chất của DFT: d Tích chập vòng: x(n) DFT X (k )⎫ DFT ⎬ ⇒ z(n) = x(n) ⊗ y(n) ←⎯ ⎯→ Z (k ) = X (k )Y (k ) ←⎯ ⎯→ DFT y(n) ←⎯ ⎯→ Y (k ) ⎭ x(n) DFT X(k) N điểm X IDFT z(n)=x(n) y(n) DFT N điểm y(n) N điểm Y(k) ¾ Tích 2 DFT ∼ tích chập vòng trong miền thời gian Khái niệm tích chập vòng: N −1 x(n ) ⊗ y (n ) = ∑ x(m )y[(n − m ) m od N ] m =0 8 5/22/2010 Bài giảng: Xử lý số tín hiệu Chương 7 BIẾN ĐỔI DFT VÀ GIẢI THUẬT FFT (tt) 7.1.3 Lọc tuyến tính dựa vào DFT: ¾ Ngõ ra hệ thống LTI: tích chập thông thường giữa tín hiệu vào và đáp ứng xung Tích 2 DFT tích chập vòng trong miền thời gian Æ dùng DFT để tính đáp ứng ngõ ra của hệ thống LTI ????? ¾ Xét bộ lọc FIR có đáp ứng xung h(n), chiều dài M Tín hiệu ngõ vào x(n), chiều dài L Khi đó, tín hiệu ngõ ra y(n) có chiều dài L+M-1 Tín hiệu vào Hệ thống Tín hiệu ra x(n) rời rạc y(n)=h(n)*x(n) X(Ω) Y(Ω)=X(Ω)H(Ω) Số mẫu cần để biểu diễn phổ Y(Ω) là: N≥L+ M – 1 Æ cần lấy DFT N điểm Lấy DFT N điểm cho 2 chuỗi x(n) và h(n) 9 5/22/2010 Bài giảng: Xử lý số tín hiệu Chương 7 BIẾN ĐỔI DFT VÀ GIẢI THUẬT FFT (tt) 7.1.3 Lọc tuyến tính dựa vào DFT (tt): ¾ Sơ đồ thực hiện: Chèn zeros vào 2 chuỗi x(n) và h(n) để có chiều dài N x(n) Chèn M-1 DFT X(k) N điểm zeros X IDFT y(n)=x(n)*y(n) N điểm Chèn L-1 DFT N điểm h(n) zeros H(k) ¾ Bằng cách tăng chiều dài từng chuỗi (thêm zeros), tích chập vòng sẽ cho kết quả tương tự tích chập tuyến tính, hay nói cách khác, DFT có thể được dùng để lọc tuyến tính (tính đáp ứng ngõ ra của hệ thống tuyến tính) ¾ Trường hợp, tín hiệu ngõ vào dài, dùng phương pháp cộng chồng lấp Việc tính toán cho từng khối sẽ thực hiện như trên 10 5/22/2010 Bài giảng: Xử lý số tín hiệu Chương 7 BIẾN ĐỔI DFT VÀ GIẢI THUẬT FFT (tt) Độ phân giải tần số: ¾ Xét tín hiệu gồm 2 thành phần tần số: x(n) = cos Ω1n + cos Ω2n, -∞ ≤ n ≤ ∞ Lúc đó, xx(n) = x(n)w(n) = cos Ω1n + cos Ω2n, 0 ≤ n ≤ L-1 ¾ Phổ của tín hiệu (biểu thức giải tích) dùng DTFT: X (Ω) = πδ (Ω − Ω1) + πδ (Ω + Ω1) + πδ (Ω − Ω2 ) + πδ (Ω + Ω2 ) XX (Ω) = 1 [W (Ω − Ω1) +W (Ω + Ω1) + W (Ω − Ω2 ) + W (Ω + Ω2 )] 2 |X(Ω)| π -Ω2 -Ω1 0 Ω1 Ω2 W(Ω - Ω1) và W(Ω - Ω2) sẽ chồng lấn lên nhau Æ không phân biệt được 2 vạch phổ ¾ Nếu: | Ω1 − Ω2 |< 2π : W(Ω - Ω1) và W(Ω - Ω2) được hiển thị tách biệt ¾ Nếu: nhauÆ phân biệt được 2 vạch phổ L 5/22/2010 13 | Ω1 − Ω2 |≥ 2π : L Bài giảng: Xử lý số tín hiệu Chương 7 BIẾN ĐỔI DFT VÀ GIẢI THUẬT FFT (tt) ¾ Giá trị : ΔΩ = 2π được gọi là độ phân giải phổ Như vậy, hàm của sổ có chiều L dài L chỉ phân biệt được các thành phần tần số cách nhau một đoạn ít nhất là: ΔΩ = 2π L ¾ Phổ tín hiệu dùng DFT: (Ω1 = 0.2π; Ω2 = 0.22π) Ảnh hưởng của đặc tính cửa sổ: ¾ Độ cao búp phụ: ảnh hưởng đến mức rò phổ Muốn giảm rò phổ, chọn loại của sổ có búp phụ thấp ¾ Độ rộng búp chính: ảnh hưởng đến độ phân giải Muốn tăng độ phân giải, chọn loại của sổ có độ rộng búp chính hẹp 14 5/22/2010 Bài giảng: Xử lý số tín hiệu Chương 7 BIẾN ĐỔI DFT VÀ GIẢI THUẬT FFT (tt) Quan hệ giữa tần số tương tự và tần số số: ¾ Các biểu thức liên quan đến quá trình lấy mẫu: Tín hiệu tương tự x(t) được lấy mẫu ở tốc độ fs trong khoảng thời gian T0 và số mẫu thu được là N Lúc đó: x(t) T0 T0 = N ×TS = N fS = 1 N = T0 fS fS TS 0 Ts 2Ts 3Ts …… t ¾ Quan hệ tần số: Xét tín hiệu tương tự: x(t) = Acos ωt = Acos 2πft Tần số tương Lấy mẫu tín hiệu này: x(nTs)= Acos ωnTs = Acos ωn/Ts tự (rad/s) Dạng tín hiệu rời rạc: x(n) = AcosΩn = Acos2πFn Ω= ω Đồng nhất hai biểu thức, ta được: Ω = ω T S hay: fS Tần số số (rad/mẫu) 15 5/22/2010 Bài giảng: Xử lý số tín hiệu Chương 7 BIẾN ĐỔI DFT VÀ GIẢI THUẬT FFT (tt) 7.1.4 Phân tích phổ tín hiệu dùng DFT (tt): Ví dụ 3: Cho tín hiệu sau: x(t) = sin2πt + sin3πt + sin5πt + sin5.5πt (t:ms) Tín hiệu này được lấy mẫu ở tốc độ fs = 10Khz Để việc phân tích phổ dùng DFT cho 4 đỉnh tách biệt thì thời gian lấy mẫu là bao lâu T0? Lời giải: ¾ Các thành phần tần số: f1 =1 Khz; f2 =1.5 Khz; f3 =2.5 Khz; f4 =2.75 Khz ¾ Khoảng cách tần số nhỏ nhất cần được phân biệt: Δf = 2.75 – 2.5 = 0.25 Khz ΔΩ ≥ 2π ¾ Số mẫu tối thiểu cần phải lấy: N N ≥ fS = 10Khz = 40 Ω= ω Δf 0.25Khz fS ¾ Thời gian lấy mẫu: ⇒ N ≥ fs T0 = N ×TS = N = 40 = 4 (ms) Δf fS 10000 16 5/22/2010 Bài giảng: Xử lý số tín hiệu Chương 7 BIẾN ĐỔI DFT VÀ GIẢI THUẬT FFT (tt) 7.1.4 Phân tích phổ tín hiệu dùng DFT (tt): Ví dụ 4: Cho tín hiệu sau: x(t) = sin2πt + sin4πt + sin2πf3t ; 1Khz≤f3≤3Khz (t:ms) Tín hiệu này được lấy mẫu ở tốc độ fs = 10Khz trong khoảng thời gian 20 ms Tín hiệu sau đó được phân tích phổ dùng DFT Xác định tầm giá trị của f3 để kết quả cho 3 đỉnh tách biệt? Lời giải: ¾ Các thành phần tần số: f1 =1 Khz; f2 =2 Khz; f3 Khz ¾ Số mẫu dữ liệu thu được: N = fS ×T0 = 10×103 × 20×10−3 = 200 ¾ Khoảng cách tần số nhỏ nhất có thể phân biệt được: Δf = fS = 10Khz = 0.05Khz N 200 ¾ Tầm giá trị của f3: f3 ∈[ f1 +Δf ; f2 −Δf ] =[1+0.05;2−0.05] =[1.05Khz;1.95Khz] 17 5/22/2010 Bài giảng: Xử lý số tín hiệu Chương 7 BIẾN ĐỔI DFT VÀ GIẢI THUẬT FFT (tt) 7.2 Giải thuật biến đổi Fourier nhanh FFT (Fast Fourier Transform) ¾ FFT là thuật toán cho phép tính DFT một cách hiệu quả (giảm độ phức tạp/ thời gian tính toán) 7.2.1 FFT cơ số 2 phân chia theo thời gian: ¾ Giả sử tín hiệu x(n) có chiều dài N = 2v ¾ Chia x(n) thành hai chuỗi con: g(n) = x(2n): gồm các mẫu ở vị trí chẵn h(n) = x(2n+1): gồm các mẫu ở vị trí lẻ ¾ Lấy DFT N điểm: N −1 N −1 N −1 X ( k ) = ∑ x ( n )W Nkn = ∑ x ( n )W Nkn + ∑ x ( n )W Nkn n=0 n=0; n=0 n=2l n = 2l +1 ∑ ∑ N / 2 −1N / 2 −1 = g ( l )W N2 kl + h ( l )W N( 2 l +1) k l=0 l=0 N / 2 −1 N / 2 −1 = ∑ g ( l )W N / 2 kl + W Nk ∑ h (l )W N / 2 lk = G ( k ) + W Nk H ( k ) l=0 l=0 18 5/22/2010 Bài giảng: Xử lý số tín hiệu Chương 7 BIẾN ĐỔI DFT VÀ GIẢI THUẬT FFT (tt) 7.2.1 FFT cơ số 2 phân chia theo thời gian (tt): Trong đó: G(k): biến đổi DFT N/2 điểm của chuỗi g(l) H(k): biến đổi DFT N/2 điểm của chuỗi h(l) Æ Như vậy, X(k) có thể được tính từ các DFT N/2 điểm G(k) và H(k) Cụ thể là: X(0) = G(0) + W80H(0); WNk + N = WNk X(1) = G(1) + W81H(1); WNk + N /2 = −WNk …… X(4) = G(0) + W84H(0)= G(0) - W80H(0); X(5) = G(1) + W85H(1)= G(1) - W81H(1); ……… G(k) và H(k): N/2 điểm Tính X(k) đòi hỏi N điểm ÆDùng tính chất tuần hoàn: G(k+N/2) = G(k) H(k+N/2) = H(k) 19 5/22/2010 Bài giảng: Xử lý số tín hiệu Chương 7 BIẾN ĐỔI DFT VÀ GIẢI THUẬT FFT (tt) 7.2.1 FFT cơ số 2 phân chia theo thời gian (tt): ¾ Sơ đồ thực hiện (N = 8) ¾ Tiếp tục thực hiện cho g(l) và h(l) như x(n) cho đến khi chỉ còn tính DFT 2 điểm Æ cần log2N lần chia 20 5/22/2010