1、理解傅里叶变换
如果是理工科的学生 ,在高等数学和信号处理的课程中应该就已经学习过Fourier变换 ,但是这里还是进行一个简单的基本学习和理解,为时域转频域提供一个基础理论概念。
1、什么是傅里叶级数
周期函数的fourier级数是由正弦函数和余弦函数组成的三角级数。这里首先说结论周期为T的任意周期性函数f(t),若满足以下迪利克雷条件:
- 在一个周期内只有有限个不连续点;
- 爱一个周期内只有有限个极大和极小值
- 积分$\int_{-\frac{-T}{2}}^{\frac{T}{2}}|f(t)| d t$存在,则f(t)可展开为如下傅里叶级数
$$
f(x)=\frac{a_{0}}{2}+\sum_{k=1}^{\infty}\left(a_{k} \cos k x+b_{k} \sin k x\right)
$$
其中
$$
\begin{aligned} a_{n} &=\frac{1}{\pi} \int_{-\pi}^{\pi} f(x) \cos n x \mathrm{d} x \quad(n=0,1,2,3, \cdots) \\ b_{n} &=\frac{1}{\pi} \int_{-\pi}^{\pi} f(x) \sin n x \mathrm{d} x \quad(n=1,2,3, \cdots) \end{aligned}
$$
式中的$w=\frac{2 \pi}{T}$称为角频率。
为了便于理解,这里先给出几个傅里叶变换拟合周期函数的示例图(关于这个图如何绘制,不是本文重点,可以查看参考资料):
2、傅里叶级数的提出及理论依据
在早先,拉格朗日等数学家发现某些周期函数可以由三角函数的和来表示,比如下图中,黑色的斜线就是周期为的函数,而红色的曲线是三角函数之和,可以看出两者确实近似:
基于此,傅里叶提出了任意周期函数都可以写成三角函数之和的猜测,其公式提出思想基本如下:
- 首先,根据周期函数的定义,常数函数是周期函数,周期为任意实数。所以,分解里面得有一个常数项。
-
任意函数可以分解和奇偶函数之和,$f(x)=\frac{f(x)+f(-x)}{2}+\frac{f(x)-f(-x)}{2}=f_{\text { even }}+f_{\text { odd }}$,由正余弦函数分别为奇偶函数,且其为周期性函数,而且还具有正交的特性,所以分解里面需要由正余弦函数sin和cos
- 如下图所示,对于$\sin (n x), n \in \mathbb{N}$,虽然最小周期是$\frac{\pi}{n}$,但是其周期中都有一个周期为2$\pi$,则对于周期为T的函数,可以知道角频率$w=\frac{2 \pi}{T}$,将这些函数进行加减(这里用级数表示),就保证了得到的函数的周期也为 T。
- 又因为正余弦函数的值域只有[-1,1],而需要表示的函数的至于变化显然不止[-1,1],为了适应函数的值域,正余弦级数必然会有各自不同的系数an和bn
至此,我们就得到了傅里叶级数的猜想式,即
$$
f(x)=\frac{a_{0}}{2}+\sum_{n=1}^{\infty}\left(a_{n} \cos \left(\frac{2 \pi n}{T} x\right)+b_{n} \sin \left(\frac{2 \pi n}{T} x\right)\right), \frac{a_{0}}{2} \in \mathbb{R}
$$
3、傅里叶级数的系数计算
在前面我们已经提出了傅里叶级数的猜想式
$$
f(x)=\frac{a_{0}}{2}+\sum_{n=1}^{\infty}\left(a_{n} \cos \left(\frac{2 \pi n}{T} x\right)+b_{n} \sin \left(\frac{2 \pi n}{T} x\right)\right), \frac{a_{0}}{2} \in \mathbb{R}
$$
但是我们还不知道系数C,an,bn和f(x)之间的关系。
为了求解系数域函数之间的关系,这里我们进一步对假设级数进行逐步积分
- 首先,对猜想式两端在$[-\pi, \pi]$上进行积分,并在等式的右端逐项积分,利用三角函数的正交性有
$$
\int_{-\pi}^{\pi} f(x) d x=\int_{-\pi}^{\pi} \frac{a_{0}}{2} d x+\sum_{n=1}^{\infty}\left(a_{n} \int_{-\pi}^{\pi} \cos n x d x+b_{n} \int_{-\pi}^{\pi} \sin n x d x\right)=a_{0} \pi
$$
于是有:
$$
a_{0}=\frac{1}{ \pi} \int_{-\pi}^{\pi} f(x) d x
$$
- 将猜想式两端同乘cos nx,再用同样的方法求积分,利用三角函数系的正交性有:
$$
\int_{-\pi}^{\pi} f(x) \cos m x d x=\int_{-\pi}^{\pi} \frac{a_{0}}{2} \cos m x d x+\sum_{n=1}^{\infty}\left(a_{n} \int_{-\pi}^{\pi} \cos n x \cos n x d x+b_{n} \int_{-\pi}^{\pi} \cos m x \sin n x d x\right)=\int_{-\pi}^{\pi} a_{n} \cos ^{2} n x=a_{n} \pi
$$
所以我们可以得出
$$
a_{n}=\frac{1}{\pi} \int_{-\pi}^{\pi} f(x) \cos n x d x
$$
- 同理将猜想式两端同乘sin nx,再用同样的方法求积分,可以得出
$$
b_{n}=\frac{1}{\pi} \int_{-\pi}^{\pi} f(x) \sin n x d x
$$
3、傅里叶级数的指数形式
结合欧拉公式
$$
e^{i t}=\cos (t)+i \sin (t)
$$
我们有
$$
\begin{aligned} \sin \theta &=\frac{e^{i \theta}-e^{-i \theta}}{2 i} \\ \cos \theta &=\frac{e^{i \theta}+e^{-i \theta}}{2} \end{aligned}
$$
根据上式,我们可以写出傅立叶级数的另外一种形式:
$$
f(x)=\sum_{n=-\infty}^{\infty} c_{n} \cdot e^{i \frac{2 \pi n x}{T}}
$$
其中
$$
c_{n}=\frac{1}{T} \int_{x_{0}}^{x_{0}+T} f(x) \cdot e^{-i \frac{2 \pi n x}{T}} d x
$$
4、由傅里叶级数拓展到傅里叶变换
我们已经知道了周期性函数只要满足迪利克雷条件就可以转换成傅里叶级数。对于非周期函数,因为其周期T趋于无穷大,我们不能将其用傅里叶级数展开,而需要做某些修改。
若f(t)为非周期函数,则可视它为周期无限大,角频率趋于0的周期函数。此时,各个相邻的谐波频率之差$\Delta \omega=(n+1) \omega_{0}-n \omega_{0}=\omega_{0}$很小,谐波频率$n \omega_{0}$需用一个变量\(\omega\)代替(此时的\(\omega\)不同于之前的角频率)。这样傅里叶级数的指数形式即可改写为
$$
\begin{array}{l}{f(t)=\sum_{\omega=-\infty}^{\infty} a_{\omega} e^{-j w t} d t} \\ {a_{w}=\frac{\Delta \omega}{2 \pi} \int_{-\frac{T}{2}}^{\frac{T}{2}} f(t) e^{-j \omega t} d t}\end{array}
$$
两式合并有:
$$
f(t)=\sum_{\omega=-\infty}^{\infty}\left[\frac{\Delta \omega}{2 \pi} \int_{-\frac{T}{2}}^{\frac{T}{2}} f(t) e^{-j \omega t} d t\right] e^{j w t}=\frac{1}{2 \pi} \sum_{\omega=-\infty}^{\infty}\left[\int_{-\frac{T}{2}}^{\frac{T}{2}} f(t) e^{-j \omega t} d t\right] e^{j w t} \Delta \omega
$$
当T趋近于无穷时,$\Delta \omega$趋近于$d \omega$,求和式变为积分式,上面的公式可以写成
$$
f(t)=\frac{1}{2 \pi} \int_{-\infty}^{\infty}\left[\int_{-\infty}^{\infty} f(t) e^{-j \omega t} d t\right] e^{j \omega t} d t
$$
则此公式即为非周期函数的傅里叶积分形式之一。
若令
$$
F(\omega)=\int_{-\infty}^{\infty} f(t) e^{-j \omega t} d t
$$
$$
f(t)=\frac{1}{2 \pi} \int_{-\infty}^{\infty} F(\omega) e^{j \omega t} d t
$$
则我们称这两个公司为傅里叶变换对,F(w)称为f(t)的傅里叶变换,而f(t)称为傅里叶反变换。
5、傅里叶变换的离散化——单变量的离散傅里叶变换(DFT)
由于计算机处理的都是离散的变量,所以连续函数必须转换为离散值序列。这是用取样和量化来完成的。对于一个连续函数f(t),我们希望以自变量t的均匀间隔取样,由信号与系统可知,我们可以用一个单位间隔的脉冲响应作为取样函数乘以f(t),即
$$
\tilde{f}(t)=f(t) s_{\Delta T}(t)=\sum_{n=-\infty}^{\infty} f(t) \sigma\left(t-n_{\Delta} T\right)
$$
用图像表示为:
由图可知,序列中的任意取样值$f_{k}$可用如下式子表示:
$$
f_{k}=\int_{-\infty}^{\infty} f(t) \delta(t-k \Delta T) \mathrm{d} t=f(k \Delta T)
$$
取样后的函数的傅里叶变换$\tilde{F}(\mu)$是
$$
\tilde{F}(\mu)=\mathfrak{J}\{\tilde{f}(t)\}=\mathcal{J}\left\{f(t) S_{\Delta T}(t)\right\}=\mathrm{F}(\mu) \otimes S(\mu)
$$
对于脉冲串$S_{\Delta T}(t)$是周期为$\Delta T$的周期函数,则由傅里叶级数定理有
$$
s_{\Delta T}(t)=\sum_{n=-\infty}^{\infty} c_{n} \mathrm{e}^{\mathrm{j} \frac{2 \pi n}{\Delta T} t}
$$