Biến đổi Fourier rời rạc

Bách khoa toàn thư mở Wikipedia
Bước tới: menu, tìm kiếm
Biến đổi Fourier
Biến đổi Fourier liên tục
Chuỗi Fourier
Biến đổi Fourier rời rạc
Biến đổi Fourier theo thời gian gián đoạn

Trong toán học, phép biến đổi Fourier rời rạc (DFT), đôi khi còn được gọi là biến đổi Fourier hữu hạn, là một biến đổi trong giải tích Fourier cho các tín hiệu thời gian rời rạc. Đầu vào của biến đổi này là một chuỗi hữu hạn các số thực hoặc số phức, làm biến đổi này là một công cụ lý tưởng để xử lý thông tin trên các máy tính. Đặc biệt, biến đổi này được sử dụng rộng rãi trong xử lý tín hiệu và các ngành liên quan đến phân tích tần số chứa trong trong một tín hiệu, để giải phương trình đạo hàm riêng, và để làm các phép như tích chập. Biến đổi này có thể được tính nhanh bởi thuật toán biến đổi Fourier nhanh (FFT).

Định nghĩa[sửa | sửa mã nguồn]

Dãy của N số phức:x_0,..., x_{N-1} được biến đổi thành chuỗi của N số phức X0,..., XN−1 bởi công thức sau đây:

X_k = \sum_{n=0}^{N-1} x_n e^{-\frac{2 \pi i}{N} k n} \quad \quad k = 0, \dots, N-1

với ecơ số của lôgarit tự nhiên, i\,đơn vị ảo (i^2=-1), và π là pi. Phép biến đổi đôi khi được kí hiệu bởi \mathcal{F}, như sau \mathbf{X} = \mathcal{F} \left \{ \mathbf{x} \right \} hoặc \mathcal{F} \left (\mathbf{x} \right) hoặc \mathcal{F} \mathbf{x}.

Phép biến đổi Fourier rời rạc ngược (IDFT) được cho bởi công thức sau

x_n = \frac{1}{N} \sum_{k=0}^{N-1} X_k e^{\frac{2\pi i}{N} k n} \quad \quad n = 0,\dots,N-1.

Những phương trình này có thể được mô tả đơn giản như sau: các số phức Xk đại diện cho biên độ và pha ở các bước sóng khác nhau của "tín hiệu vào" xn. Phép biến đổi DFT tính các giá trị Xk từ các giá trị xn, trong khi IDFT tính xn bằng tổng của các sóng thành phần \frac{1}{N} X_k e^{\frac{2\pi i}{N} k n} với tần số k / N. Khi viết các phương trình dưới dạng như trên, ta đã sử dụng công thức Euler để biểu diễn các hàm lượng giác dưới dạng lũy thừa số phức để biến đổi được dễ dàng. Khi viết Xk dưới dạng tọa độ cực, ta thu được biên độ Ak / N và pha φk từ modulus và argument của Xk:

A_k = |X_k| = \sqrt{\operatorname{Re}(X_k)^2 + \operatorname{Im}(X_k)^2},
\varphi_k = \arg(X_k) = \operatorname{atan2}\big(\operatorname{Im}(X_k), \operatorname{Re}(X_k) \big),

trong đó atan2 là dạng hai đối số của hàm arctan. Cần ghi chú rằng các thừa số chuẩn hóa của DFT và IDFT (ở đây là 1 và 1/N) và dấu của các số mũ chỉ là quy ước, và có thể khác nhau trong các tài liệu khác nhau. Điều kiện duy nhất cho các quy ước này là DFT và IDFT có dấu ngược nhau ở các số mũ và tích của hai thừa số chuẩn hóa phải là 1/N.

Các tính chất[sửa | sửa mã nguồn]

Đầy đủ[sửa | sửa mã nguồn]

Phép biến đổi Fourier rời rạc là một biến đổi tuyến tính khả nghịch

\mathcal{F}\colon\mathbb{C}^N \to \mathbb{C}^N

trong đó C kí hiệu tập các số phức. Nói cách khác, với mọi N > 0, mọi vectơ phức N chiều đều có một DFT và một IDFT, và chúng đều là các vectơ phức N chiều.

Trực giao[sửa | sửa mã nguồn]

Các vectơ e^{ \frac{2\pi i}{N} kn} tạo thành một cơ sở trực giao của tập các vectơ phức N chiều:

\sum_{n=0}^{N-1}\left(e^{ \frac{2\pi i}{N} kn}\right)\left(e^{-\frac{2\pi i}{N} k'n}\right)=N~\delta_{kk'}

trong đó \delta_{kk'} là hàm delta Kronecker. Có thể dùng điều kiện trực giao để suy ra công thức cho IDFT từ định nghĩa của DFT, và điều kiện này tương đương với điều kiện unita dưới đây.

Định lý Plancherel và định lý Parseval[sửa | sửa mã nguồn]

Nếu XkYk là các DFT của xnyn thì theo định lý Plancherel:

\sum_{n=0}^{N-1} x_n y^*_n = \frac{1}{N} \sum_{k=0}^{N-1} X_k Y^*_k

trong đó dấu sao kí hiệu số phức liên hợp. Định lý Parseval là một trường hợp đặc biệt của định lý Plancherel:

\sum_{n=0}^{N-1} |x_n|^2 = \frac{1}{N} \sum_{k=0}^{N-1} |X_k|^2.

Các định lý này tương đương với điều kiện unita dưới đây.

Tuần hoàn[sửa | sửa mã nguồn]

Nếu như ta tính biểu thức định nghĩa DFT tại mọi số nguyên k thay vì chỉ cho k=0,..., N-1, thì dãy số nhận được là một mở rộng tuần hoàn của DFT, và có chu kì N.

Tính tuần hoàn có được chứng minh trực tiếp từ định nghĩa:

X_{k+N} \ \stackrel{\mathrm{def}}{=} \ \sum_{n=0}^{N-1} x_n e^{-\frac{2\pi i}{N} (k+N) n} =\sum_{n=0}^{N-1} x_n e^{-\frac{2\pi i}{N} k n}  \underbrace{e^{-2 \pi i n}}_{1} = \sum_{n=0}^{N-1} x_n e^{-\frac{2\pi i}{N} k n} = X_k.

Tương tự như vậy, biểu thức của IDFT cũng cho một dãy mở rộng tuần hoàn.

Định lý dịch[sửa | sửa mã nguồn]

Việc nhân các số xn với một pha tuyến tính e^{\frac{2\pi i}{N}n m} (m là một số nguyên bất kì) tương ứng với việc dịch vòng tròn các số Xk: Xk được thay bằng Xk-m, trong đó các chỉ số được tính theo mô đun N. Tương tự như vậy, việc dịch vòng tròn các số xn tương ứng với việc nhân các số Xk với một pha tuyến tính. Dưới dạng công thức, nếu {xn} đại diện cho vectơ x thì

nếu \mathcal{F}(\{x_n\})_k=X_k
thì \mathcal{F}(\{ x_n\cdot e^{\frac{2\pi i}{N}n m} \})_k=X_{k-m}
\mathcal{F}(\{x_{n-m}\})_k=X_k\cdot e^{-\frac{2\pi i}{N}k m}

Unita[sửa | sửa mã nguồn]

Có thể nhận thấy theo mô tả ở trên, toán tử DFT có thể được biểu diễn dưới dạng một ma trận Vandermonde:

\mathbf{F} =\begin{bmatrix} \omega_N^{0 \cdot 0}     & \omega_N^{0 \cdot 1}     & \ldots & \omega_N^{0 \cdot (N-1)}     \\ \omega_N^{1 \cdot 0}     & \omega_N^{1 \cdot 1}     & \ldots & \omega_N^{1 \cdot (N-1)}     \\ \vdots                   & \vdots                   & \ddots & \vdots                       \\ \omega_N^{(N-1) \cdot 0} & \omega_N^{(N-1) \cdot 1} & \ldots & \omega_N^{(N-1) \cdot (N-1)} \\\end{bmatrix}

trong đó

\omega_N = e^{-2 \pi i/N}\,

là một căn nguyên thủy bậc N của đơn vị. Phép biến đổi ngược chính là ma trận nghịch đảo của ma trận trên:

\mathbf{F}^{-1}=\frac{1}{N}\mathbf{F}^*

Với hằng số chuẩn hóa unita 1/\sqrt{N}, DFT trở thành một biến đổi unita, định nghĩa bởi một ma trận unita:

\mathbf{U}=\mathbf{F}/\sqrt{N}
\mathbf{U}^{-1}=\mathbf{U}^*
|\det(\mathbf{U})|=1

trong đó det() là hàm tính định thức. Định thức là tích của các giá trị riêng (luôn là \pm 1 hoặc \pm i như mô tả dưới đây). Trong không gian vectơ thực, một biến đổi unita có thể xem là phép quay vật rắn của hệ tọa độ, và tất cả các tính chất của phép quay vật rắn đều đúng cho toán tử unita DFT.

Tính trực giao của DFT nay có thể viết dưới dạng điều kiện trực chuẩn:

\sum_{m=0}^{N-1}U_{km}U_{mn}^*=\delta_{kn}

Nếu X được định nghĩa là unita DFT của vectơ x thì

X_k=\sum_{n=0}^{N-1} U_{kn}x_n

định lý Plancherel có thể viết dưới dạng:

\sum_{n=0}^{N-1}x_n y_n^* = \sum_{k=0}^{N-1}X_k Y_k^*

Nếu ta coi DFT chỉ là một phép biến đổi tọa độ trong đó chỉ cần chỉ ra các thành phần của vectơ trong hệ tọa độ mới, thì mệnh đề trên chỉ nói rằng tích vô hướng của hai vectơ được giữ nguyên trong phép biến đổi unita DFT. Trong trường hợp đặc biệt khi x=y, điều này có nghĩa là độ dài vectơ cũng được giữ nguyên—đây chính là định lý Parseval:

\sum_{n=0}^{N-1}|x_n|^2 = \sum_{k=0}^{N-1}|X_k|^2

Ứng dụng[sửa | sửa mã nguồn]

DFT có nhiều ứng dụng rộng rãi trong nhiều ngành khác nhau. Ở đây chỉ mô tả một số ví dụ (tham khảo thêm các tài liệu ở cuối trang). Tất cả các ứng dụng của DFT đều dựa trên một tính chất quan trọng là DFT và IDFT đều có thể được tính nhanh chóng bằng thuật toán biến đổi Fourier nhanh.

Phân tích phổ[sửa | sửa mã nguồn]

Khi sử dụng DFT để phân tích phổ, dãy {x_n} thường đại diện cho một dãy hữu hạn các mẫu tại các thời điểm cách đều nhau của một tín hiệu x(t), trong đó t để chỉ thời gian. Việc chuyển từ thời gian liên tục sang mẫu (thời gian rời rạc) chuyển biến đổi Fourier liên tục của x(t) thành biến đổi Fourier thời gian rời rạc (DTFT), và thường gây ra hiệu ứng răng cưa. Việc chọn lựa tần số lấy mẫu thích hợp (xem tần số Nyquist) là vô cùng quan trọng cho việc giảm thiểu hiệu ứng này.

Một số cặp biến đổi Fourier rời rạc[sửa | sửa mã nguồn]

Một số cặp DFT
x_n = \frac{1}{N}\sum_{k=0}^{N-1}X_k  e^{i 2 \pi kn/N} X_k = \sum_{n=0}^{N-1}x_n  e^{-i 2 \pi kn/N} Ghi chú
x_n e^{i 2 \pi n\ell/N} \, X_{k-\ell}\, Định lý dịch
x_{n-\ell}\, X_k  e^{-i 2 \pi k\ell/N} \,
x_n \in \mathbb{R} X_k=X_{N-k}^*\, DFT cho số thực
a^n\, \left\{ \begin{matrix}
                   N & \mbox{if } a = e^{i 2 \pi k/N} \\
                   \frac{1-a^N}{1-a \, e^{-i 2 \pi k/N} } & \mbox{otherwise}
                \end{matrix} \right. từ công thức cấp số nhân
{N-1 \choose n}\, \left(1+e^{-i 2 \pi k/N} \right)^{N-1}\, từ định lý nhị thức
\left\{ \begin{matrix}
                        \frac{1}{W} & \mbox{if } 2n < W \mbox{ or } 2(N-n) < W \\
                        0 & \mbox{otherwise}
                      \end{matrix} \right. \left\{ \begin{matrix}
              1 & \mbox{if } k = 0 \\
              \frac{\sin\left(\frac{\pi W k}{N}\right)}
                   {W \sin\left(\frac{\pi k}{N}\right)} & \mbox{otherwise}
                      \end{matrix} \right. x_n là một hàm chữ nhật gồm W điểm quanh trung điểm n=0, trong đó W là một số nguyên lẻ, và X_k là một hàm tương tự hàm sinc(cụ thể hơn, X_k là một hàm hạt nhân Dirichlet)
\sum_{j\in\mathbb{Z}} \exp\left(-\frac{\pi}{cN}\cdot(n+N\cdot j)^2\right) cN \cdot \sum_{j\in\mathbb{Z}} \exp\left(-\frac{\pi c}{N}\cdot(k+N\cdot j)^2\right) Rời rạc hóatổng tuần hoàn của Hàm Gauss với c>0. Vì c hoặc \frac{1}{c} là lớn hơn một và do đó đảm bảo sự hội tụ nhanh chóng của một trong hai tổng, với c lớn, có thể tính phổ tần số và chuyển về miền thời gian bằng biến đổi Fourier rời rạc.

Tham khảo[sửa | sửa mã nguồn]

  • Brigham, E. Oran (1988). The fast Fourier transform and its applications. Englewood Cliffs, N.J.: Prentice Hall. ISBN 0-13-307505-2. 
  • Oppenheim, Alan V.; Schafer, R. W.; and Buck, J. R. (1999). Discrete-time signal processing. Upper Saddle River, N.J.: Prentice Hall. ISBN 0-13-754920-2. 
  • Smith, Steven W. (1997). The Scientist and Engineer's Guide to Digital Signal Processing. San Diego, Calif.: California Technical Publishing. ISBN 0-9660176-3-3. 
  • Cormen, Thomas H.; Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein (2001). “Chapter 30: Polynomials and the FFT”. Introduction to Algorithms . MIT Press and McGraw-Hill. tr. pp.822–848. ISBN 0-262-03293-7.  esp. section 30.2: The DFT and FFT, pp. 830–838.
  • P. Duhamel, B. Piron, and J. M. Etcheto (1988). “On computing the inverse DFT”. IEEE Trans. Acoust., Speech and Sig. Processing 36 (2): 285–286. 
  • J. H. McClellan and T. W. Parks (1972). “Eigenvalues and eigenvectors of the discrete Fourier transformation”. IEEE Trans. Audio Electroacoust. 20 (1): 66–74. 
  • Bradley W. Dickinson and Kenneth Steiglitz (1982). “Eigenvectors and functions of the discrete Fourier transform”. IEEE Trans. Acoust., Speech and Sig. Processing 30 (1): 25–31. 
  • F. A. Grünbaum (1982). “The eigenvectors of the discrete Fourier transform”. J. Math. Anal. Appl. 88 (2): 355–363. 
  • Natig M. Atakishiyev and Kurt Bernardo Wolf (1997). “Fractional Fourier-Kravchuk transform”. J. Opt. Soc. Am. A 14 (7): 1467–1477. 
  • C. Candan, M. A. Kutay and H. M.Ozaktas (2000). “The discrete fractional Fourier transform”. IEEE Trans. On Signal Processing 48 (5): 1329–1337. 
  • Magdy Tawfik Hanna, Nabila Philip Attalla Seif, and Waleed Abd El Maguid Ahmed (2004). “Hermite-Gaussian-like eigenvectors of the discrete Fourier transform matrix based on the singular-value decomposition of its orthogonal projection matrices”. IEEE Trans. Circ. Syst. I 51 (11): 2245–2254. 
  • Juan G. Vargas-Rubio and Balu Santhanam (2005). “On the multiangle centered discrete fractional Fourier transform”. IEEE Sig. Proc. Lett. 12 (4): 273–276. 
  • J. Cooley, P. Lewis, and P. Welch (1969). “The finite Fourier transform”. IEEE Trans. Audio Electroacoustics 17 (2): 77–85. 

Liên kết ngoài[sửa | sửa mã nguồn]