Khác biệt giữa bản sửa đổi của “Biến đổi Fourier nhanh”

Nội dung được xóa Nội dung được thêm vào
Huynl (thảo luận | đóng góp)
Trang mới: “Một '''biến đổi Fourier nhanh (FFT)''' là một thuật toán hiệu quả để tính biến đổi Fourier rời rạc (DFT) và biến đổi ngư…”
(Không có sự khác biệt)

Phiên bản lúc 05:26, ngày 25 tháng 8 năm 2011

Một biến đổi Fourier nhanh (FFT) là một thuật toán hiệu quả để tính biến đổi Fourier rời rạc (DFT) và biến đổi ngược. Có nhiều thuật toán FFT khác nhau sử dụng kiến thức từ nhiều mảng khác nhau của toán học, từ số phức tới lý thuyết nhómlý thuyết số. Bài này chỉ giới thiệu tổng quan các kĩ thuật và một số tính chất tổng quát. Các thuật toán cụ thể được mô tả chi tiết hơn trong các bài khác được liên kết ở dưới.

Phép biến đổi DFT phân tích một dãy các số thành các thành phần ở các tần số khác nhau. Nó được sử dụng trong nhiều lĩnh vực khác nhau (xem các tính chất và ứng dụng ở biến đổi Fourier rời rạc) nhưng tính toán trực tiếp từ định nghĩa thường quá chậm trong thực tế. FFT là một cách để đạt được cùng kết quả đó nhưng nhanh hơn nhiều: tính DFT của N điểm trực tiếp theo định nghĩa đòi hỏi O(N2) phép tính, trong khi FFT tính ra cùng kết quả đó trong O(N log N) phép tính.

Định nghĩa và tốc độ

Giả sử x0, x1, ..., xn là các số phức. DFT được định nghĩa bởi công thức sau:

 

Tính trực tiếp từ định nghĩa trên đòi hỏi O(N2) phép tính: có N số Xk cần tính, để tính mỗi số cần tính một tổng N số hạng. Một FFT là một phương pháp để tính cùng kết quả đó trong O(N log N) phép tính.

Các thuật toán

Thuật toán Cooley–Tukey

Thuật toán FFT phổ biến nhất là thuật toán FFT Cooley-Tukey[1]. Đây là một thuật toán chia để trị dùng đệ quy để chia bài toán tính DFT có kích thước hợp số N=N1N2, thành nhiều bài toán tính DFT nhỏ hơn có kích thước N1N2, cùng với O(N) phép nhân với căn của đơn vị, thường được gọi là thừa số xoay (theo Gentleman và Sande, 1966)[2].

Các vấn đề tính toán

  Vấn đề mở trong khoa học máy tính:
Chặn dưới của độ phức tạp tính toán của biến đổi Fourier nhanh là gì? Liệu nó có thể nhanh hơn Θ(N log N) hay không?
(các vấn đề mở khác trong khoa học máy tính)

Một bài toán mở quan trọng về mặt lý thuyết là chứng minh chặn dưới cho độ phức tạp tính toán và số phép tính của biến đổi Fourier nhanh.

Ghi chú

  1. ^ Cooley, James W.; Tukey, John W. (1965). “An algorithm for the machine calculation of complex Fourier series”. Math. Comput. 19 (90): 297–301. doi:10.1090/S0025-5718-1965-0178586-1.
  2. ^ W. M. Gentleman, G. Sande (1966). Fast Fourier Transforms: for fun and profit. ACM, New York, NY, USA. tr. 563–578. doi:10.1145/1464291.1464352. Đã bỏ qua tham số không rõ |booktitle= (trợ giúp)