写在前面
傅里叶变换这个东东是一块心病,记得刚接触计算机视觉那会儿,最先看的是冈萨雷斯的《数字图像处理》。当看到频率域滤波那章节的时候,首先就是傅里叶变换,当时看了两三遍愣是没懂。无奈之下,去问老师,而后被一句话“你只需要知道怎么用,现在不需要知道原理”打发了,好吧!我确实也放弃没在去纠结原理啥的,只知道怎么用code变换,然后进行滤波。后来某段时间又想起来,所以又去看了看,直到今天也不敢说是真正理解了,只是写下一些自己看到的、感受到的一些零碎东西。后面有新的领悟时,会再更新到这里吧!
傅里叶级数
如果要研究傅里叶变换,要对傅里叶级数或者说傅里叶展开有一些认识。所以,我们就从傅里叶级数开始这个恶心的东西吧!首先,我们对两个基本概念进行认识。
周期函数
现在有一个周期为T的函数f(x),显然该函数是满足:
f(x)=f(x+T)(1)
T为一正常数。周期的定义便是:
(a).满足式(1)最小的正数;
(b).一个常数满足任意正数为周期。
三角函数系
一个基本的三角函数系长得像这样:
1,cosπlx,sinπlx,cos2πlx,sin2πlx...cosnπlx,sinnπlx(2)
这些函数都有自己的周期,例如
cosnπlx,sinnπlx的周期为
2ln,且整个函数系的周期为
2l。这些函数系中任意几项相加便能构成更复杂的函数。那么任意周期函数和三角函数系之间有什么联系呢?这个时候有大神站出来说了:“
任意的周期函数f(x)都能展开成正弦及余弦的无穷级数”。这个大神就是傅里叶,不过起先很多人都以为他吹逼的,这其中就有拉格朗日这些神一样存在的人物。好的,现在我们假设式(2)中的
l=1,那么式(2)就变成:
1,cosx,sinx,cos2x,sin2x...cosnx,sinnx(3)
该三角函数系的周期显然是
2π,取
[−π,π]区间为一个周期,那么可以得出一个结论:
三角函数系中任意两个不同的函数的积在一个周期上的积分为0,这就是所谓的三角函数系的正交性。下面是一个简单的证明过程:

OK!为了简化讨论,我们在上面假设了
l=1,排除这个假设,可以得到一样的结果,大家可以自己动手试一试。到这里我们就可以正式开始说傅里叶级数或者说一个函数的傅里叶展开了,假设前面说的周期函数
f(x)能写成:
f(x)=a02+∑k=1∞(akcoskx+bksinkx)(4)
上式叫做
f(x)的傅里叶级数或者叫做傅里叶展开,展开为三角函数系的又叫狭义的傅里叶展开,展开为非三角函数系的又叫做广义的傅里叶展开(不关注)。
a0,a1,b1...ak,bk是展开后的系数(傅里叶系数),右边第一项中的
12完全是为了后面系数的统一性。怎么确定这些系数呢?这便要利用前面说的正交性,下面推导一下前面的系数:




那么,这样的展开对原周期函数
f(x)还有什么其它限制没?这就是狄利克雷条件:
(1). 在一个周期内连续或只有有限个第一类间断点;
(2). 在一个周期内只有有限个极值点。
也就是说
f(x)在一个周期内没有无限次数的跳动,在连续点出,收敛于
f(x),在间断点处收敛于间断点左右极限的均值。形式话来说就是:
1. 当
x是连续点时
S(x)=a02+∑k=1∞(akcoskx+bksinkx)=f(x)
(2). 当
x是间断点时
S(x)=12(f(x−0)+f(x+0))
然而一般的周期函数都满足这些条件,按照这种分解方式,我们可以看几幅分解图:




想想一下,如果是无线多个正弦函数叠加,最后的样子该是怎么样?对的,就是一个阶梯形函数
注意:上面的正弦波为看得清楚只画了一个周期的图像,下面的方形波是在整个坐标轴上,包含几个周期。
现在,我们用更一般的形式来说明傅里叶展开,对周期为
T的函数
f(x),基波频率为
w=2πT,满足狄利克雷条件时可以展开为如下形式:
f(x)=a02+∑k=1∞(akcos(kwx)+bksin(kwx))
上面的例子中,基波频率为
2π,所以
w=1。傅里叶展开的系数为:
a0=2T∫t0+Tt0f(x)dx
an=2T∫t0+Tt0f(x)cos(nwx)dx
bn=2T∫t0+Tt0f(x)sin(nwx)dx
对照上面,那里的
T=2π,积分的上下限要在一个周期内,如果令
t0=−π便和上面推导过程一致,这里
a0又叫做直流分量,
an叫做余弦分量的幅度,
bn叫做正弦分量的幅度。当然,如果根据三角函数的关系,上面的展开形式可以只含正弦或者只含余弦。
余弦形式:
f(x)=c0+∑k=1∞cncos(nwx+θn)
其中的系数和原来的系数关系是:
c0=a02cn=(a2n+b2n)12
an=cncosθnbn=−cnsinθnθn=arctan−bnan
c0叫做直流分量,
cn叫做
n次谐波的幅度,
θn叫做
n次谐波的相位。所谓的幅度频谱、相位频谱就是将
cn、θn随着各分量的
nw变化而变化的图像形式(这个理解不知道是不是严谨)。同理也可以化成正弦形式:
f(x)=d0+∑k=1∞dnsin(nwx+θ^n)
复指数
复指数正交函数集ejnwx,n=0,+1,−1,+2,−2...。如果要进行傅里叶展开成:
f(x)=a0+∑n=1∞(ancos(nwx)+bnsin(nwx))
这里我们省略了
a0中的
12,其实是一样的,只为下面的表述更为方便,复指数进行这种转换的情况似乎更为明朗,为什么呢?因为有欧拉公式:
ejnwx=cos(nwx)+jsin(nwx)
所以展开形式中:
cos(nwx)=12(ejnwx+e−jnwx)
sin(nwx)=12j(ejnwx−e−jnwx)
代入上式进行整理有:
f(x)=a0+∑n=1∞{an−jbn2ejnwx+an+jbn2e−jnwx}
令:
F(nw)=an−jbn2
由前面推导处的系数
an和
bn可知,
an是偶函数,
bn是奇函数可得:
F(−nw)=an+jbn2
并且有:
∑n=1∞F(−nw)e−jnwx=∑n=−1−∞F(nw)ejnwx
令
F(0)=a0,那么有:
f(x)=∑−∞∞F(nw)ejnwx=∑−∞∞Fnejnwx
其中:
Fn=an−jbn2
将前面的推导出的系数带入得:
Fn=1T∫t0+Tt0f(x)(cosnwx−jsinnwx)dx
因为对复指数我们省略了
a0中的
12,所以最后推导出的系数应该都乘以
12,实在不理解,就用笔在纸上按照上面的推导过程走一遍,更具欧拉公式得:
Fn=1T∫t0+Tt0f(x)e−jnwxdx
所以周期函数也可以分解为
[−∞,∞]上复指数
ejnwx的线性组合,各分量的频率为
nw,系数为
Fn。按照上面对幅度频谱和相位频谱的定义,我们同样可以定义复指数分解的幅度频谱和相位频谱分别是:
|Fn|=12(a2n+b2n)12θn=arctan−bnan
三角函数系和复指数系分解对比
我们在对周期函数f(x)的分解进行研究时,分解为三角函数系,倒也好理解。然后引入复指数时引入了复数,这岂不是把问题更复杂化了吗?是的,但是三角函数系的分解结果和复指数系有不同的性质:
(1). 分解成三角函数系后,其幅度频谱和相位频谱都是[0,∞)范围上的,而分解成复指数后是(−∞,∞)的,再某些情况下,双边的谱似乎更利于分析;
(2). 复指数的幅度频谱是关于w偶函数,相位谱则是关于w的奇函数,对于一维周期函数展开后的谱,幅度谱关于y轴对称,而相位谱是关于原点对称的。
一个例子
原周期函数f(t)=1+sinwt+2coswt+cos(2wt+π4)进行傅里叶展开。
按三角函数系展开:
f(t)=1+5√cos(wt−0.15π)+cos(2wt+π4)
得到幅度和相位:
c0=1θ0=0;c1=5√θ1=−0.15π;c2=1θ2=0.25π
表现在图像上是:

按照复指数形式展开有:
f(t)=1+12j(ejwt−e−jwt)+(ejwt+e−jwt)+12{e(2jwt+π4)+e(2jwt+π4)}
整理得:
f(t)=1+(1+12j)ejwt+(1−12j)e−jwt+12ejπ4ej2wt+12e−jπ4e−j2wt
有:
F(0)=1F(w)=(1+12j)=1.12e−j0.15πF(−w)=(1−12j)=1.12ej0.15π
F(2w)=12ejπ4F(−2w)=12e−jπ4
幅度和相位分别是:
F0=1,θ0=0;F1=F−1=1.12,θ1=−0.15π,θ−1=0.15π;F2=F−2=0.5,θ2=0.25π,θ−2=−0.25π
显示在图像上是:
离散情形
上面所述的函数或者说是信号f(x)都是指的连续并且是周期的函数,如果是信号不是连续而是离散的呢?离散和连续有一个重要的区别在于,连续信号需要无穷多项谐波来逼近原始信号(这一点可以想一下积分的定义),而离散的周期信号则不用,它只需要有限项的谐波就能逼近,既然有限,也就不存在所谓的收敛性质。除了这一点离散和连续之间傅里叶级数无多大区别,离散周期的傅里叶级数为:
f(x)=∑k=<T>akejkwn
其中
<T>表示在一个周期内,可以是
[0,T]也可以是
[n,n+T],总之在一个周期内。傅里叶系数
ak为:
ak=1T∑k=<T>f(x)e−jkwn
。至于严格的推导请自行参考书籍《信号于系统》。
一些性质
(1). 偶函数信号(波形关于y轴对称)的傅里叶级数只含直流项和余弦项,不含正弦项,如果是复指数形式,F(nw)为实函数;
(2). 奇函数信号(波形关于原点对称)的傅里叶级数只含正弦项,不含直流项和余弦项,如果是复指数形式,F(nw)为虚函数;
(3). 奇谐函数信号(波形移动半个周期后是原波形关于时间(x)轴的倒影)的傅里叶级数的偶次谐波为0;
(3). 偶谐函数信号(波形移动半个周期后与原波形重合)的傅里叶级数的奇次谐波为0。
傅里叶变换
这个“高级”的东西其实就是针对一个信号进行傅里叶级数展开,但前面所说的都是离散连续并且是周期的信号(周期函数的傅里叶级数上面已经说得比较详细了),如果不是周期信号呢?这就需要一点想象力了。
连续(非周期)信号的傅里叶变换(FT)
对于连续非周期的信号,周期表达的是是重复出现,如果一个原始信号并非周期,我们把它复制成n个然后平行放置在空间上,是不是就是周期信号了?对这个复制过后的信号进行傅里叶变换后,再截取原始信号区间的一段,而这一段就是原始信号的傅里叶变换了。大神们就是这样搞的,是不是很有想想力?所以改变世界的人总是少数几个人!!!
这个例子,上面是原始信号f(x),连续但并非周期,下面是复制后的连续周期信号f^(x)(图中为x(t)、x^(t)),根据前面的知识,f^(x)展开为:
f^(x)=∑−∞∞akejkwx
系数
ak是:
ak=1T∫T2−T2f^(x)e−jkwxdx
由于
f(x)在
[−T2,T2]上于
f^(x)相同,在该区间之外为0,所以:
ak=1T∫T2−T2f^(x)e−jkwxdx=1T∫∞−∞f(x)e−jkwxdx
令
F(jw)=∫∞−∞f(x)e−jwxdx
则有:
ak=1TF(jkw)
将这个系数代回复制信号的傅里叶展开中:
f^(x)=1T∑−∞∞F(jkw)ejkwx
又因为
w=2πT,所以:
f^(x)=12π∑−∞∞F(jkw)ejkwxw
而上述这个式子可看成一个对
w的积分,至此,完整的傅里叶变换对是:
f(x)=12π∑−∞∞F(jw)ejwxdw
F(jw)=∫∞−∞f(x)e−jwxdx
至于收敛性请参考上述提及的书籍。
离散(非周期)信号的傅里叶变换(DFT)
仿照上面连续非周期信号的推导,其实完全可以写出离散非周期信号的变换对,值得注意的还是一点,离散并非是无限的项,而连续是无限,这里直接仿照前面的内容写出DFT的变换对,具体内容还是得参考书籍。
f^(k)=∑0N−1f(n)e−j2πNnk,k=0,1...N−1
f(n)=1N∑k=0N−1f^(k)ej2πNnk,n=0,1,2...N−1
其中N是信号的长度。
总结
这上面的仅仅是傅里叶中的一个大致过程和结果,傅里叶变换在某种程度上就是傅里叶展开,虽然这个说法很不严谨,但这样初略的理解是没有问题的。傅里叶变换家族很是庞大,但理论依据还是很相似,上述的一些内容还存在很多问题,并没像书上说的那么严谨,书中在讲述时运用了信号冲击这个东西,但这里并未提及,还有卷积定理、采样定理等很多内容也没有提及,本文只算是抛砖引书吧。看完本文对傅里叶级数和傅里叶变换应该有个初略的认识,再结合书上内容,相信理解傅里叶变换不会怎么难懂。文中大量表述不够严谨,内容也不够紧密,难为各位看官了。祝大家进步!!!!