Transcript Document
1 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 5.3 BIẾN ĐỔI FOURIER NHANH-FFT 5.4 PHỤ CHƯƠNG 5.1 20 20 Biến đổi Fourier nhanh(FFT) • Có thể giảm thiểu đáng kể số lượng các tính toán cần cho DFT. • Thuật toán này được gọi là biến đổi Fourier nhanh (FFT: Fast Fourier Transform) • Giảm số lượng tính toán từ bậc N02 thành N0logN0. 21 21 22 23 Biến đổi Fourier nhanh(FFT) • Thuật toán có thể chia thành hai nhóm chính: decimation theo thời gian và decimation theo tần số • Để đơn giản hóa ta chọn N0 theo lủy thừa bậc 2 24 24 Biến đổi Fourier nhanh(FFT) • Định nghĩa: W N Sao cho 0 e ( j 2 / N 0 ) e j 0 N 0 1 Fr k 0 fr 1 N0 kr f rW N 0 N 0 1 FW r r 0 kr N0 0 r N0 1 fr 1 N0 N 0 1 r 0 (5.1a) kr Fr W N 0 (5.1b) 25 Biến đổi Fourier nhanh(FFT) *) Thuật toán decimation theo thời gian • Ở đây ta chia chuỗi dữ liệu N0 điểm fk thành hai chuỗi (N0/2) điểm bao gồm các mẩu có số thứ tự lần lượt chẵn và lẻ, như sau: f 0 , f 2 , f 4 , , f N 0 1 f 1 , f 3 , f 5 , , f N 0 1 chuôi gk chuôi hk 26 Biến đổi Fourier nhanh(FFT) • Vậy từ 5.1 ta được: N0 Fr N0 1 2 k 0 f 2 kW 2 kr N0 1 2 k 0 f 2 k 1W ( 2 k 1 ) r N0 27 Biến đổi Fourier nhanh(FFT) • Vì: W N0 W 2 N0 2 • Ta có: N0 Fr N0 1 2 k 0 f 2 kW N 0 W N 0 kr 2 r 1 2 k 0 f 2 k 1W N 0 G r W N 0 H r kr r (5.2) 2 0 r N0 1 Gr và Hr là các DFT (N0/2) điểm của các chuỗi số chẵn và số lẻ lần lượt là gk và hk 28 Biến đổi Fourier nhanh(FFT) • Gr và Hr đã là DFT (N0/2) điểm, cũng là tuần hoàn (N0/2). Do đó G Hơn nữa N r 0 2 Gr W N r 0 2 N0 H N r 0 2 N0 W N 02 W N 0 e r Hr j (5.3) W N 0 W N 0 r r (5.4) Từ phương trình (5.2), (5.3) và (5.4), ta có F N r 0 2 Gr W r N0 Hr (5.5) 29 Biến ___ đổi___ Fourier ______ nhanh(FFT) _____ • Đặc tính này có thể dùng để giảm thiểu số lượng tính toán. Ta có thể tính (N0/2) điểm đầu tiên (0 n (N0/2) – 1) của Fr dùng phương trình (5.2) và tính (N0/2) điểm cuối dùng phương trình (5.5) là: Fr G r W N 0 H r 0r G r W N0 H r 0r r F r N r 0 2 N0 2 N0 2 1 (5.6a) 1 (5.6b) 30 30 Vậy ta tính DFT N0 điểm bằng cách tính DFT (N0/2) điểm, như pt (5.6). Các phương trình này được biểu diễn thuận tiện bằng cách dùng graph tín hiệu như hình 5.19. 31 Thiết lập pt 5.3 cho N0=8 32 Thiết lập pt 5.3 cho N0=8 33 Biến đổi Fourier nhanh(FFT) • Bước kế tiếp là tính các DFT (N0/2) điểm Gr và Hr. Ta lặp lại các bước này bằng cách chia gk và hk thành hai chuỗi (N0/2) điểm tương ứng với các mẩu thứ tự chẵn và lẻ. Tiếp đến ta tiếp tục các bước này cho đến khi có được DFT một điểm. Các hình 5.20a, 5.20b, và 5.20c cho thấy là các DFT hai điểm thì không cần phép nhân. 34 Biến đổi Fourier nhanh(FFT) • Để đếm số phép tính cần có trong bước đầu tiên, giả sử ta đã biết Gr và Hr. Phương trình (5.42) chỉ rõ là để tính tất cả N0 điểm của Fr, ta cần N0 phép cộng phức tạp và (N0/2) phép nhân phức tạp (tương ứng với ). • Trong bước thứ hai, để tiếp tục tính DFT (N0/2) điểm Gr từ DFT (N0/4), ta cần (N0/2) phép cộng phức tạp và (N0/4) phép nhân phức tạp. Ta cần cùng số lượng tính toán cho Hr. • Do đó, trong bước thứ hai, ta có N0 phép cộng phức tạp và (N0/2) phép nhân phức tạp. Số lượng tính toán cần thiết trong mỗi bước là giống nhau. Do cần có tổng là log2N0 bước để đạt được DFT một điểm, ta cần có tổng là N0log2N0 phép cộng phức tạp và (N0/2)log2N0 phép nhân phức tạo, để tính được DFT N0 điểm. 35 Biến đổi Fourier nhanh(FFT) • Phương pháp tìm IDFT giống hệt như khi tìm DFT trừ việc dùng thay vì (ngoài ra, bộ nhân là 1/N0). Một thuật toán FFT khác, là thuật toán decimation theo tần số, tương tự như thuật toán decimation theo thời gian. Chỉ có một khác biệt là thay vì chia fk thành hai chuỗi thứ tự chẵn và lẻ, ta chia fk thành thành hai chuỗi tạo từ (N0/2) số đầu và (N0/2) số cuối, xử lý với cùng phương pháp cho đến khi một điểm đơn DFT đạt cá bước log2N0. Tổng số phép tính trong thuật toán này giống như trường hợp decimataion theo thời gian. 36 Biến đổi Fourier nhanh(FFT) • Đối ngẫu của định lý lấy mẩu cho rằng các tín hiệu có thời gian giới hạn giây thì có thể khôi phục phổ F() của chúng từ các mẩu của F() lấy tại các khoảng đồng đều không lớn hơn 1/ Hz. Nói cách khác, phổ có thể được lấy mẩu với tốc độ không nhỏ hơn mẩu/Hz. 37 PHỤ CHƯƠNG 5.1 N 0 1 • Ta chứng minh: e k 0 jm 0 k N 0 0 m 0, N 0 , 2 N 0 , otherwise (5.7) Nhắc lại 0N0 = 2: e jm 0 k 1 với m = 0, N0, 2N0, . . ., sao cho N 0 1 k 0 e jm 0 k N 0 1 1 k 0 N0 với m = 0, N0, 2N0, . . ., 38 PHỤ CHƯƠNG 5.1 • Để tính tổng của các giá trị khác của m, ta chú ý là tổng của vế trái của phương jm e trình (5.43) là chuỗi hình học với công Do đó sai(xem là phần B.7-4): N 0 1 e jm 0 k k 0 (e jm 0 N 0 e jm 0 N 0 e jm 0 e 1 1 j 2 m 0 0 1) 39