FT & DFT 傅里叶变换
本文最后更新于2 天前,其中的信息可能已经过时,如有错误请留言

​傅里叶变换与傅里叶级数的联系

傅里叶级数是傅里叶变换在周期函数下的特例;傅里叶变换可以视为傅里叶级数在非周期信号上的推广

傅里叶级数用于周期函数离散频谱表示,而傅里叶变换用于非周期函数连续频谱表示。非周期信号可以看作不同频率的余弦分量叠加,其中频率分量可以是从0到无穷大任意频率,而不是像傅里叶级数一样由离散的谐波分量组成

两者都将时域信号转换到频域,反之亦然。这提供了分析和处理信号的新方法(似乎可以试着做个EQ)

傅里叶变换与前一章的傅里叶级数的相比,函数 f(x)不再受限于周期性,有如下两个变化:

  1. 积分界限现在是 [−∞,∞] 而不是 [−π,π],因为函数的“周期”现在是无限的——它是非周期性的。
  2. 复指数中的频率参数以前只取整数值 n,但现在必须取所有实数值 ω。

公式

符号 \(\hat{f}\) 表示 \(f(x)\) 的傅里叶变换结果。例如,若 \(f(x)\) 的傅里叶变换为 \(\hat{f}(\omega)\),傅里叶变换完记得更换自变量

时域和频域

  • 时域:横轴是时间 t,纵轴是信号的幅度
  • 频域:横轴是频率 ω 或 f,纵轴是信号的幅度

傅里叶变换将一个时域信号转换到频域,傅里叶变换的结果F(ω) 称为信号的频谱,表示信号在不同频率成分上的分布。使得可以分析信号的频率成分。卷积定理:时域中的卷积对应于频域中的乘积,这大大简化了信号处理中的卷积运算

非周期信号表达式

符号 \( F(\omega) \) 或 \( \mathcal{F}_{[f]}(\omega) \),称为“f(x)”在频率(或傅里叶)域中的表示,后者表示方式更加明确,显式表明了是对函数 f(x)的傅里叶变换,并傅里叶变换的算子符号 F

 \( F(\omega) = \int_{-\infty}^{\infty} f(t) e^{-i\omega t} dt \)

其中 F(ω) 是频域表示,称为频谱。f(t)是时域信号,ω 是角频率。

逆傅里叶变换可以将频域信号转换回时域,注意逆变换多了一个系数:

\begin{align*}
f(t) = \tfrac{1}{2\pi} \int_{-\infty}^{\infty} F(\omega) e^{i\omega t} d\omega
\end{align*}

分解为余弦和正弦部分
进一步展开复指数项:
\[
f(w) = \int_{-\infty}^{\infty} f(x) \left[ \cos(wx) – i \sin(wx) \right] \, dx
\]
定义函数 \( f(x) \) 的傅里叶余弦变换为:
\[
\hat{f}_c(w) = \int_{0}^{\infty} f(x) \cos(wx) \, dx
\]
定义函数 \( f(x) \) 的傅里叶正弦变换为:
\[
\hat{f}_s(w) = \int_{0}^{\infty} f(x) \sin(wx) \, dx
\]

傅里叶变换的前提条件

对一个周期/非周期函数或信号应用傅里叶变换需要满足以下条件(统称为狄利克雷条件):

1. 函数具有绝对可积性函数的绝对值的积分是有限的,如果你把这个函数在整个定义域(一般是负无穷到正无穷)上面做“面积计算”,那么这个面积就是要有限的,也就是说是一个可以被算出具体数值的数,而不是无穷大

$$\int_{-\infty}^{\infty} |f(x)| dx < \infty$$

2.有限个极值点:在任意有限区间内,函数的极大值或极小值点数量有限

3.有限个第一类间断点:函数在有限区间内只能有有限个第一类间断点(即左右极限存在但不相等)。

此时信号/函数的傅里叶变换存在且收敛

但是实际应用中对于不满足经典条件的函数(如周期信号、阶跃函数等),可通过赫维赛德函数Heaviside function或广义函数(如狄拉克δ函数)使其满足傅里叶变换的条件,在下面的例题有所介绍。

或者进一步我们可以使用更泛用的傅里叶变换版本 – Laplace Transform 拉普拉斯变换 – Skyshin34的博客

求傅里叶变换的例题:

常见函数的傅里叶变换和傅里叶逆变换

狄拉克δ函数

函数定义域为R,除x<|a|外值为0,其与坐标轴围成的面积始终是1,当a无限小时,函数变成一个无限高度且无高度的样子,一个冲激。此时变为除x=0外所有地方都是0,t=0处是无穷

赫维赛德函数Heaviside function

参数为负时值为0,参数为正时值为1。又称单位阶跃函数,用于限制信号在时间轴上的存在范围

f(x)=H(a |x|) whereH(x) is a heaviside function such that H(x) = 0 for x<0 and H(x) =1 for x>0.

标准高斯积分

核心公式:

推到思路:当积分的被积函数指数项是多项式时而不是只有单项,需要通过变量替换将其替换为单项

eg1:

定积分相乘的运算法则 – 计算高斯积分

eg2:

eg3:与(ax+b)和调制性质结合的例题

傅里叶变换的性质

F(0) = f(t)在图像下的面积

观察傅里叶变换的表达式,当w=0时指数项变为1。

线性性

\[
F_{[a f + b g]}(\omega) = a F_{[f]}(\omega) + b F_{[g]}(\omega)
\]时域中的信号乘上某个系数,频域中的信号也乘同样的系数。时域中的两个信号相加,频域中也要将两个信号相加

Even and odd real-valued functions 偶奇实函数

实函数f: R→R, 虚函数f: R→iR

如果 f 是偶实值函数,则其傅里叶变换 F 是偶且纯实值的。如果 f 是奇实值函数,则其傅里叶变换 F 是奇且纯虚数的

证明:

假设 f 是偶且实值的。则\[
F(\omega) = \frac{1}{2\pi} \int_{-\infty}^{\infty} f(x) e^{-i\omega x} dx
\]\[
= \frac{1}{2\pi} \int_{-\infty}^{\infty} f(x) \left[ \cos(\omega x) – i \sin(\omega x) \right] dx
\]\[
= \frac{1}{2\pi} \int_{-\infty}^{\infty} f(x) \cos(\omega x) dx\]

对称性

\[
F(-\omega) = \overline{F(\omega)}
\]\( \overline{F(\omega)} \) 表示 \( F(\omega) \) 的复共轭,F*也表示F的共轭函数

从证明很容易知道其因为实部的cos是偶函数,虚部的sin是奇函数。实值函数的傅里叶变换在其实部具有偶对称性,在其虚部具有奇对称性。在计算实值函数的傅里叶变换时,我们只需要考虑 ω 的正值,因为 F(ω) 通过共轭性决定了 F(−ω)

g(x)=f(ax+b)

$$
\mathcal{F}{[g]}(\omega) = \frac{1}{|a|} e^{i\omega b/a} \mathcal{F}{[f]} \left( \frac{\omega}{a} \right)
$$

由此推得
\[
\mathcal{F} [ f ( – x ) ] = \hat { f } ( – \omega )
\]

g(x)=xf(x)

\[ \mathcal{F}\{x f(x)\}(\omega) = i \frac{d}{d\omega} \hat{f}(\omega) \]

g(x)=f'(x)

调制性质(也称为频移性质)

对于 \( f \in G(\mathbb{R}) \) 且 \( c \in \mathbb{R} \),则

$$
\mathcal{F}{[e^{icx}f(x)]}(\omega) = \mathcal{F}{[f]}(\omega – c)
$$证明$$
\mathcal{F}{[e^{icx}f(x)]}(\omega) = \frac{1}{2\pi} \int{-\infty}^{\infty} e^{icx} f(x) e^{-i\omega x} dx
$$$$
= \frac{1}{2\pi} \int_{-\infty}^{\infty} f(x) e^{-i(\omega – c)x} dx
$$$$
= \mathcal{F}_{[f]}(\omega – c)
$$

注意最后两个性质之间的对称性(有时称为“对偶性”):f(x)的平移 b 会导致 \( \mathcal{F}{[f]}(\omega) \) 乘以 \( e^{i\omega b} \); 而将 f(x) 乘以 \( e^{icx} \) 会导致 \( \mathcal{F}{[f]}(\omega) \) 平移 c

卷积

卷积的公式看这里

时域卷积的傅里叶变换等于频域的乘积,频域卷积的逆傅里叶变换等于时域的乘积(系数)

所以当两个函数在时域做卷积很复杂时,可以将其转换到频域上,做更简单的乘积运算

设 \(\mathcal{F}[f_1(t)] = F_1(\omega)\),\(\mathcal{F}[f_2(t)] = F_2(\omega)\),则:
\[
\mathcal{F}[f_1(t) * f_2(t)] = F_1(\omega) F_2(\omega)
\]\[
\mathcal{F}^{-1}\{F(\omega) * G(\omega)\} = 2\pi \cdot f(t) \cdot g(t)
\]
时域乘积的傅里叶变换等于频域的卷积(系数),频域乘积的逆傅里叶变换等于时域卷积

设 \(\mathcal{F}[f_1(t)] = F_1(\omega)\),\(\mathcal{F}[f_2(t)] = F_2(\omega)\),则:
\[
\mathcal{F}[f_1(t) f_2(t)] = \frac{1}{2\pi} F_1(\omega) * F_2(\omega)
\]\[
\mathcal{F}^{-1}\{F(\omega) \cdot G(\omega)\} = f(t) * g(t)
\]

记巧:

  • 时域乘积的包含系数,含傅里叶变换而不是逆傅里叶变换的2Π在分母
  • 都是乘积和卷积各占一侧傅里叶逆变换/傅里叶变换只占一侧,逆变换的自变量一定是w

例题:

帕塞瓦尔定理(Parseval’s Theorem)

信号的总能量在时域和频域中守恒

\[ \int_{-\infty}^{\infty} |f(x)|^2 dx = \frac{1}{2\pi} \int_{-\infty}^{\infty} |F(\omega)|^2 d\omega \]

频率角度解释傅里叶变换:

将叠加后(声)波的图像缠绕到一个圆上,注意区分两个频率,一个是信号的频率,每s上下震荡3次

还有可以由我们设定的图像缠绕中心圆的频率,缠绕的频率决定了缠绕图像的样子

当缠绕频率和信号频率(每秒3次)相等时,所有高处的点恰好落在圆右侧,而所有的低处的点恰好落在圆左侧,我们要利用这点来建造一台频率分离机

可以观察缠绕频率质心X坐标(质心是所有点坐标的均值)的关系,质心的X坐标只是质心的实数部分。我们当然也可以画出缠绕频率与质点与原点的距离间的关系,虽然这可以更好的表示某个频率与原始信号的相关度,但是也就没有了线性性质,即不适用对有多个频率组成的原始信号进行分析

这幅图称为原信号的近傅立叶变换,该图可以告诉我们一个信号和某个单频率有多么匹配,即某个频率的强度越高,而这是通过质点的X坐标看出来的

在多个信号叠加时依然能有此特性,说明傅里叶变换是线性操作

波叠加特点

观察已知单一频率信号与任意单一频率信号的复合信号

X轴上方区域的面积正好等于X轴下方的面积,所以将两者在每个点相乘时(多项式相乘),计算得到的曲线和坐标轴围成的面积之和为0,只要考虑的时间段足够长对于大部分频率都是正确的

如果正弦波的频率是原信号原本的频率,两条波形在X方向就是耦合的,因此复合信号与X坐标轴围成的面积永远是正的,在信号由多种频率的正弦波组合而成时也适用。由此判断某个正弦波信号是否是叠加信号的一部分

复合信号与X坐标轴围成的面积大小就表示正弦波在信号中的相对大小,对所有频率的正弦波重复这个过程就能得到一个频谱图:

面积的大小反映该信号占多大比例,这样就能测量各个组成复合信号的不同频率子信号强度。

如果信号是余弦波,即使用一个频率完全相同的正弦波与之相乘,曲线与坐标轴围成的面积仍为0

所以我们需要将复合信号分别与正弦波和余弦波相乘,这样得到的两条频谱曲线

算出正弦波和余弦波在复合信号中各自的强度,这两个强度的比例就决定了信号的相位

也可以使用欧拉公式,只需要将复合信号和指数形式的项相乘,得到的复数的实部是余弦波的强度,虚部是正弦波的强度

还可以通过傅立叶逆变换推测出变换前的信号

公式复现

将之前缠绕复合信号所用的的圆放在复平面中,通过欧拉公式能很好的描述缠绕、旋转

在欧拉公式的讲解中,我们知道 i 在复平面中代表”令一个向量逆时针旋转90°”, 由此推导出e^{i \Theta }在复平面中的图像是单位圆,\Theta代表旋转角度

当t=1时为e^{2\pi i },可以解释为“单位向量1s绕单位圆旋转一圈的运动”,t表示经过的时间

通过添加一个f频率改变变化率,比如频率是1/10,该函数的变化就是10s转一圈傅里叶变换的语境里是顺时针旋转,因此在欧拉公式的指数项前加个负号

通过乘以一个描述信号强度和时间的关系的函数在旋转的基础上加一个幅度

综上,g(t) e^{-2\pi i ft}描述了单位向量以1/f时间旋转一圈,振幅符合g(t)的运动

对函数求定积分,积分区间就是信号的时间区间,即为绕好的图的质心

真傅里叶公式表示的是质心的倍增,如果原图持续了3秒,那就把质心乘上3。

从图的角度效果是如果某个频率持续了很长时间,这个频率的傅里叶变换的模长就被放得很大

时间越长,这个积分越大,得到的频率不确定度就越小。使得整个波里面持续时间长的分量有更大的对应值。

比如这个纯频率为每秒2beats(拍)的信号,以每秒2圈绕起来。质心无论持续时间多久位置都不变

但这个信号持续的越久,此频率的傅里叶变换值就越大,但实际由于持续时间越长缠绕图像就会越均匀所以并不会显著变大

 总结:

质心的横坐标结合我们可以决定的缠绕频率帮助我们找到原频率的主要频率

指数项决定了旋转,g(t)在旋转的基础上画波形图,复函数的积分是在为求质心的X坐标。

应用

滤波器

  • 滤波器的原理:在时域中不容易分析音频信号的在各频段的组成,对音频信号应用傅立叶变换后,可将特定的频率压下去(知道频率就能再做个与该高频信号X轴对称的同频信号加到原始信号上实现抵消),过滤指定频率的信号(带阻滤波器)

 声波(时域越宽,频域越窄

  • 观测时间长短与频率准确率之间的关系:观测时间越长,观测频率准确与否的把握就越高,想象一个音符,持续时间越短,就越难分辨其频率(音高),也可以说信号持续的时长越短,其可能对应的频率的范围就越大

当时域持续时间很长的时候,哪怕缠绕频率偏离真实频率一点点,对应图像也会有很大落差,因此我们能很精确地测量出哪个频率才是输入信号的主要频率,准确性提升

当时域很短的时候,信号并没有足够的时间均匀缠绕在圆上,导致当缠绕频率与真实频率大相径庭时,才会有很大落差

以上就是用数学描述不确定性原理,总结一下:

信号的持续时间越短,对应的傅里叶变换就越广,也就意味对应更宽范围的频率

信号持续时间越长,傅里叶变换结果越集中

积分区域越大(时间越长),傅里叶级数愈趋近原函数,所得的频域(傅里叶系数)越准确。

所以希望测量一个信号的频率准确,信号持续的时长就应该越长

不确定性原理

  • 量子力学中的海森堡不确定性原理:一个粒子的位置越确定,其动量就越不确定,反之亦然
  • 也是“两者不可兼得”much more genral trade-off规律的一个例子

多普勒雷达(信号间隔时间和持续时间导致位置和速度无法同时测准)

雷达通过发射无线电波脉冲,这些脉冲遇到物体会反射回来,有了信号的回波所需时间就可以推算物体和你的距离

要想计算速度,需要以一定频率发射脉冲,当脉冲遇到了一个朝你运动运动的物体并反射回来,那么波形就会压缩的更紧(如果是远离你就会变得更疏松),即接收到的回波频率会变高。通过傅里叶变换我们能知道原信号含有的频率,当脉冲信号持续时间很短,该频率有一定的宽度范围。又因为回波有着更高的频率,因此在频谱上会在原脉冲信号的基础上向右移,借助向外移动的相对幅度就可以推得物体移动速度

回波信号的持续时间和频率分别可以计算被探测物体的位置和速度

量子力学中的海森堡不确定性原理,越想确定物体的位置,就越不能确定物体的速度

想象持续发射一个长时间的脉冲(由很多持续时间很短的波组成),那反射回来的回波也具有一定时间的长度。现实中外界有各种物体所有的回波都会相互叠加,再加上噪音与误差,会使得多个物体的位置及其不明确

所以要得到这希望物体的精确位置,发射的脉冲一定要持续时间很短

但我们知道持续时间很短的脉冲所对应的傅里叶变换在频域的范围很广

对于多个物体不同速度的物体,多普勒频移的回波尽管在时域中被很好的分开了,但在频域中却还是重合在一起了

由于看到的是这些频率重合的和且单个曲线对应的频率范围很广,所以分解这些频率会很困难

通过傅里叶变换,我们知道不能同时准确测量两个量,不确定性原理是本质上的无法同时确定,而不是观测手段的限制,所以哪怕再加几个雷达也无济于事

总结:

信号的总长度越小,频域中频率的跨度就越大。信号的总长度越大,频率的范围跨度就越小(时域和频域不能同时精确的得到)

采样信号之间的间隔越大,能测量的最大频率就越小,因为采样点的频率无法捕捉其变频率更高的信号的变化。但是采样信号之间的间隔越短,就越难分辨相近的频率。(位置和速度不能同时精确的得到)

能够测量的等效最低非零频率其对应的周期等于信号的长度

Discrete Fourier Transform

Fourier Transform是理想的,因为其时域无限且采样点是连续的,得到的频谱也是无限长的

真实世界中的信号长度有限且因测量技术,总是存在不可分辨的最小单位,因此采样是离散的

所以其输出的频谱也是有限且离散的,频谱的频率范围size和数量number是采样数以及采样的间隔。

过程描述:

其公式与傅里叶变换相同,只是采样点不再连续(积分是连续求和,求和符号是离散求和)

 频率范围的总数等于信号中采样点的个数,如果信号由8个采样点组成,则变换后就得到8个频率的范围,分别是0-7倍的基频,第一个0倍的基频对应频率为0的信号,本质是测量信号是否偏离X轴

第二个频率范围对应着采样长度为周期的信号,本例中对应1Hz

每个数据点乘以这一频率的正弦波和余弦波,分别相加,对于正弦波结果为0,余弦波为4(所以时间复杂度是O(n^2),n个采样点得到n个频率范围,每个采样点都要和每个频率相乘

重复这个过程直到7Hz,就得到这组信号额离散傅里叶变换。唯一的问题就是计算量太大(以下为大二下补充)

公式

对于 \( x = (x_0, \cdots, x_{N-1}) \in \mathbb{C}^N \),内的每一个点,它的离散傅里叶变换
\[ \hat{x} = (\hat{x}_0, \cdots, \hat{x}_{N-1}) := \text{DFT}x \] 为 \[ \hat{x}_k = \sum_{j=0}^{N-1} x_j w_N^{jk} \]
其中 \( w_N = e^{\frac{-2\pi i}{N}} \) 逆变换为
\[ x_j = \frac{1}{N} \sum_{k=0}^{N-1} \hat{x}_k w_N^{-jk} \] DFT的复杂度为 \( O(n^2) \)

DFT 的周期性

Periodicity \(\hat{x} = \mathcal{F}x \in \mathbb{C}^N\), i.e. we have \(\hat{x}_k, k = 0, \ldots, N – 1\). What happens when we try to compute \(\hat{x}_{k+N}\) using the same formula?\[
\hat{x}_{k+N} = \sum_{j=0}^{N-1} x_j w_N^{j(k+N)}
\]\[
= \sum_{j=0}^{N-1} x_j w_N^{jk} \underbrace{w_N^{jN}}_{=(w_N^N)^j = 1^j = 1}
\]\[
= \sum_{j=0}^{N-1} x_j w_N^{jk} = \hat{x}_k
\]Why is \(w_N^N = 1\)?\[
w_N^N = (e^{-2\pi i/N})^N = e^{-2\pi i} = \cos(-2\pi) + i \sin(-2\pi) = 1
\]看上面例题的图,根本原因就在于\(e^{i\theta}\)作为旋转因子,其导数是一个周期函数,长不变,逆时针旋转\(\theta\)角度,Wn的N次旋转刚好完成一个完成周期(2\(\pai\))弧度,因此归零。

在FFT中周期性被用来减少重复计算。时域的循环卷积对应频域的乘积也是基于这种特性

离散傅里叶变换(DFT)与单位圆上的复数根

其实看上面例题的图就能明白了,但还是解释一下:

这与我们在上面所阐述的,在单位圆上的旋转向量 × 纵向的幅度向量的和作用共同构成傅里叶变换的效果是一样的,只是现在是离散FFT,/(theta/)并不能在单位圆上的每个点都取值,那一共能取几个值呢,取决于N。

旋转因子的几何意义:DFT中的旋转因子 \( w_N = e^{-2\pi i/N} \) 对应单位圆上的一个等分点。

  • \( N \) 个离散频率:DFT的频率分辨率由 \( N \) 决定, \(\theta = \frac{2\pi k}{N} \quad (k = 0, 1, \ldots, N – 1)\)对应单位圆上均匀分布的 \( N \) 个角度。
  • 有限取值:连续傅里叶变换的频域是连续的,而 DFT 的频域是离散的,仅能取 \( N \) 个点。
    \( z^N – 1 = 0 \) 的解

根的个数:方程 \( z^N – 1 = 0 \) 是 \( N \) 次多项式,恰有 \( N \) 个复数根,即单位圆的 \( N \) 等分点:

\[z_k = e^{-2\pi ik/N} = w_N^k \quad (k = 0, 1, \ldots, N – 1).\]验证周期性:\[z_k^N = \left( e^{-2\pi ik/N} \right)^N = e^{-2\pi ik} = 1.\]进一步可推出\(w_N^{k+N} = w_N^k\)(周期性)。

线性,时间反转性,时域共轭性

只要不是小写,无论是大写,粗体,还是有角标的都是变换后的变量
例题验证
验证时间反转性

傅里叶逆变换的另外3种表示方式

三角插值

离散变量的帕塞瓦尔定理(Parseval’s Theorem)

它说明了信号在时域(或空域)中的能量与频域中的能量是守恒的

圆周卷积

DFT也拥有时域卷积等于频域乘积的性质

学习笔记如有侵权,请提醒我,我会马上删除
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
下一篇