DTMWiki 登录
WIKI ENTRY

傅里叶变换

傅里叶变换是将信号从时域变换为频域的工具

IAMMRGODIE更新于 2026-07-21
章节目录3展开收起

傅里叶变换

傅里叶变换是将信号从时域变换为频域的工具。直观来说,傅里叶变换可以提取一段音频的频率信息。

定义

傅里叶变换一般定义如下,设有模拟信号 f(t)f(t),则其傅里叶变换为:

F{f}(ω)=F(ω)=∫−∞+∞f(t)e−iωtdt\mathcal{F}\{f\}(\omega) = F(\omega) = \int_{-\infty}^{+\infty}f(t)e^{-i \omega t} \mathrm{d}t

这一过程看作 L2L^2 空间上将 f(t)f(t) 投影到正交基底 e−iωte^{-i \omega t} 上的过程。而因为 e−iωt=cos⁡ωt−isin⁡ωte^{-i\omega t} = \cos \omega t - i \sin \omega t,从而我们可以认为傅里叶变换提取了频率为 f=ω2πf = \frac{\omega}{2\pi} 的频率分量. ∣F{f}(ω)∣|\mathcal{F}\{f\}(\omega)| 表示频率为 ff 的分量的“音量”大小,arg⁡F{f}(ω)\arg \mathcal{F}\{f\}(\omega) 则表示频率为 ff 的分量的相位。

这一过程因为基函数正交且完备,故可逆。其逆变换为:

F−1{F}(t)=12π∫−∞+∞F(ω)e−iωtdω\mathcal{F}^{-1}\{F\}(t) = \frac{1}{2\pi} \int_{-\infty}^{+\infty}F(\omega)e^{-i \omega t} \mathrm{d}\omega

这一过程可以理解为从正交基底重建原函数的过程。

离散傅里叶变换

在实践过程中,因为数字音频流是离散的,一般使用傅里叶变换的离散版替代 (Discrete Fourier Transform, 简称 DFT),即离散傅里叶变换。假设原始信号是 x[n]x[n],则定义其离散傅里叶变换为

DFT⁡(x)[k]=X[k]=∑n=0N−1x[n]e−i2πNkn\operatorname{DFT}(x)[k] = X[k] = \sum\limits_{n=0} ^ {N - 1} x[n] e^{-i\frac{2\pi}{N} kn}

其中 NN 为原始信号的采样点个数,其具体意义与连续傅里叶变换一致。但因为信号离散的缘故,频率计算与采样率 fsf_s 与指标 kk 有关,具体计算方式为 kfsNk\frac{f_s}{N}。

同理,这一过程同样可逆,其逆变换即为离散傅里叶变换逆变换 (Inverse Discrete Fourier Transform, 简称 IDFT)

IDFT⁡(X)[n]=x[n]=1N∑k=0N−1X[k]e−i2πNkn\operatorname{IDFT}(X)[n] =x[n] = \frac{1}{N}\sum\limits_{k=0} ^ {N - 1} X[k] e^{-i\frac{2\pi}{N} kn}

快速傅里叶变换

在实践中,不难发现按照原定义计算 DFT 的时间复杂度为 o(N2)o(N^2),这在实时计算中显然效率偏低,因此实践中一般使用分治方式进行优化,即为快速傅里叶变换 (Fast Fourier Transform, 简称 FFT)。以正向傅里叶变换为例(反向同理),其过程如下

首先写出离散傅里叶变换定义式

X[k]=∑n=0N−1x[n]e−i2πNknX[k] = \sum\limits_{n=0} ^ {N - 1} x[n] e^{-i\frac{2\pi}{N} kn}

将其按照奇偶项分离有

X[k]=∑n=0N2−1x2ne−2k(2n)πNi+∑n=0N2−1x2n+1e−2k(2n+1)πNiX[k] = \sum\limits_{n=0} ^ {\frac{N}{2} - 1} x_{2n} e^{-\frac{2k(2n)\pi}{N}i} + \sum\limits_{n=0} ^ {\frac{N}{2} - 1} x_{2n + 1} e^{-\frac{2k(2n+ 1)\pi}{N}i}

即

X[k]=∑n=0N2−1x2ne−2knπN/2i+e−2kπNi∑n=0N2−1x2n+1e−2knπN/2iX[k] = \sum\limits_{n=0} ^ {\frac{N}{2} - 1} x_{2n} e^{-\frac{2kn\pi}{N/2}i} + e^{\frac{-2k\pi}{N}i} \sum\limits_{n=0} ^ {\frac{N}{2} - 1} x_{2n + 1} e^{-\frac{2kn\pi}{N/2}i}

而 ∑n=0N2−1x2ne−2knπN/2i\sum\limits_{n=0} ^ {\frac{N}{2} - 1} x_{2n} e^{-\frac{2kn\pi}{N/2}i} 和 ∑n=0N2−1x2n+1e−2knπN/2i\sum\limits_{n=0} ^ {\frac{N}{2} - 1} x_{2n + 1} e^{-\frac{2kn\pi}{N/2}i} 是采样点为 N2\frac{N}{2} 的傅里叶变换。从而当 NN 为 22 的幂次时,可以对原问题进行分治,其时间复杂度为 o(Nlog⁡N)o(N\log N).

【

条目讨论

0 条
还没有评论。
登录后参与评论 前往登录