傅立叶变换(图
- 格式:docx
- 大小:72.90 KB
- 文档页数:4
信号:我们人类得到的从自己感知中得到消息,并通过大脑分析得出我们要的信息。
而其中消息的传递就需要信号,信号可以是图像、声音还有其他感觉,但是所有信号都是以波的形式在介质中传播。
而机械中的消息则是通过电信号的形式而传播。
最基本的波:正弦波,因为只有一个周期;而理论证明所有的波,都可以用正弦波叠加而成。
我们把这种周期性的波的周期倒数称为频率,这样我们就可以不用在时间上分析波的形态而可以在频率上做研究来分析波的性质。
而不同的信号形式把分解成正弦波的方法不同。
模拟频率f :每秒经历多少个周期,单位Hz ,即1/s ;周期:经过2*pi 需多长时间,单位s 。
模拟角频率Ω:每秒经历多少弧度,单位rad/s ; 数字频率w :每个采样点间隔之间的弧度,单位rad ;周期:经过2*pi 需多少个点,单位1。
关系:Ω=2pi*f ;w = Ω*T = 2π/N 。
(T 为采样间隔时间,N 为一个周期的采样点) 各种函数的关系FS (离散非周期函数)通过Ω = 2πf 将时域信号联系到频域中,它是研究连续周期信号在n Ω角频率处的分量的大小(频谱) FT (连续非周期函数)通过Ω = 2πf 将时域信号联系到频域中,它是研究连续非周期信号在各个角频率处的分量的大小(频谱)的密度函数(因为离散信号是连续信号的取样而成,这导致频谱周期性搬移,所以离散信号的频谱是周 期函数,如果信号时周期信号,因为这相当于我们把一个周期内信号进行搬移,也就是我 们在频域中进行采样,所以频谱是离散的)DFS (离散周期函数) 通过w = Ω*T (T 为采样间隔时间),它是研究离散周期信号,在nw 数字角频率处的分量的大小(频谱)(周期:s ω=2π/T)DTFT (连续周期函数)通过w = Ω*T (T 为采样间隔时间),它是研究离散非周期信号,在各个数字角频率处的分量的大小(频谱)的密度函数(周期:s ω=2π/T)(为了方便计算机运算,引入运算DFT )DFT (离散函数) 通过在DFS 中取主值区间,我们会在下面详细介绍DFT 及FFT 因为这是我们实际处理的工具周期信号的傅里叶级数(FS ) 三角形式: 设 是一个周期为 的波,在一定条件下可以把它写成()f t T ()()01cos 2n n n A f t A n t φ∞==+Ω+∑01cos sin 2n n n A a n t b n t∞==+Ω+Ω∑其中 是 阶谐波, 角频率 (Ω为离散时的角频率形式) 我们称上式右端的级数是由 所确定的傅里叶级数 指数形式:系数Fn 称复傅里叶系数(以证明只要周期信号满足狄里赫利(Dirichlet)条件,就可以分解成傅里叶级数)从上面两个公式,我们可以得出其中的信号的频谱和周期信号的功率(Parseval 等式 , 其中我们也可以得出频率的幅度大小决定信号的功率,这就给我们提供研究信号功率的方法,n F 称为频谱图) 非周期信号的傅里叶变换(FT )为了研究非周期信号的频谱特性,我们引入了傅里叶变换()()d j t F j f t e t +∞-Ω-∞Ω=⎰()1()d 2πj tf t F j e +∞Ω-∞ΩΩ=⎰()F j Ω是频谱密度函数 (Ω为连续时的角频率形式) (从上面公式可以得出,信号的能量谱2()()F j ξΩ=Ω)(上面都是讲的是连续的信号,信号离散也是我们用计算机处理的唯一方法,必须对信号进行采样变成离散的,只要满足采样定理2s m f f >,就能从离散的信号恢复出原来的信号,我们对离散信号的分析和处理也会对原来的连续信号有作用。
图像处理1--傅⾥叶变换(FourierTransform)楼下⼀个男⼈病得要死,那间壁的⼀家唱着留声机;对⾯是弄孩⼦。
楼上有两⼈狂笑;还有打牌声。
河中的船上有⼥⼈哭着她死去的母亲。
⼈类的悲欢并不相通,我只觉得他们吵闹。
OpenCV是⼀个基于BSD许可(开源)发⾏的跨平台计算机视觉库,可以运⾏在Linux、Windows、Android和Mac OS操作系统上。
它轻量级⽽且⾼效——由⼀系列 C 函数和少量 C++ 类,同时提供了Python、Ruby、MATLAB等语⾔的接⼝,实现了和计算机视觉⽅⾯的很多通⽤算法。
OpenCV⽤C++语⾔编写,它的主要接⼝也是C++语⾔,但是依然保留了⼤量的C语⾔。
该库也有⼤量的Python、Java andMATLAB/OCTAVE(版本2.5)的接⼝。
这些语⾔的API接⼝函数可以通过在线获得。
如今也提供对于C#、Ch、Ruby,GO的⽀持。
所有新的开发和算法都是⽤C++接⼝。
⼀个使⽤CUDA的GPU接⼝也于2010年9⽉开始实现。
图像的空间域滤波:空间域滤波,空间域滤波就是⽤各种模板直接与图像进⾏卷积运算,实现对图像的处理,这种⽅法直接对图像空间操作,操作简单,所以也是空间域滤波。
频域滤波说到底最终可能是和空间域滤波实现相同的功能,⽐如实现图像的轮廓提取,在空间域滤波中我们使⽤⼀个拉普拉斯模板就可以提取,⽽在频域内,我们使⽤⼀个⾼通滤波模板(因为轮廓在频域内属于⾼频信号),可以实现轮廓的提取,后⾯也会把拉普拉斯模板频域化,会发现拉普拉斯其实在频域来讲就是⼀个⾼通滤波器。
既然是频域滤波就涉及到把图像⾸先变到频域内,那么把图像变到频域内的⽅法就是傅⾥叶变换。
关于傅⾥叶变换,感觉真是个伟⼤的发明,尤其是其在信号领域的应⽤。
⾼通滤波器,⼜称低截⽌滤波器、低阻滤波器,允许⾼于某⼀截频的频率通过,⽽⼤⼤衰减较低频率的⼀种滤波器。
它去掉了信号中不必要的低频成分或者说去掉了低频⼲扰。
这篇文章的核心思想就是:要让读者在不看任何数学公式的情况下理解傅里叶分析。
傅里叶分析不仅仅是一个数学工具,更是一种可以彻底颠覆一个人以前世界观的思维模式。
但不幸的是,傅里叶分析的公式看起来太复杂了,所以很多大一新生上来就懵圈并从此对它深恶痛绝。
老实说,这么有意思的东西居然成了大学里的杀手课程,不得不归咎于编教材的人实在是太严肃了。
(您把教材写得好玩一点会死吗?会死吗?)所以我一直想写一个有意思的文章来解释傅里叶分析,有可能的话高中生都能看懂的那种。
所以,不管读到这里的您从事何种工作,我保证您都能看懂,并且一定将体会到通过傅里叶分析看到世界另一个样子时的快感。
至于对于已经有一定基础的朋友,也希望不要看到会的地方就急忙往后翻,仔细读一定会有新的发现。
-------- 以上是定场诗-----------下面进入正题:抱歉,还是要啰嗦一句:其实学习本来就不是易事,我写这篇文章的初衷也是希望大家学习起来更加轻松,充满乐趣。
但是千万!千万不要把这篇文章收藏起来,或是存下地址,心里想着:以后有时间再看。
这样的例子太多了,也许几年后你都没有再打开这个页面。
无论如何,耐下心,读下去。
这篇文章要比读课本要轻松、开心得多一、啥叫频域从我们出生,我们看到的世界都以时间贯穿,股票的走势、人的身高、汽车的轨迹都会随着时间发生改变。
这种以时间作为参照来观察动态世界的方法我们称其为时域分析。
而我们也想当然的认为,世间万物都在随着时间不停的改变,并且永远不会静止下来。
但如果我告诉你,用另一种方法来观察世界的话,你会发现世界是永恒不变的,你会不会觉得我疯了?我没有疯,这个静止的世界就叫做频域。
先举一个公式上并非很恰当,但意义上再贴切不过的例子:在你的理解中,一段音乐是什么呢?这是我们对音乐最普遍的理解,一个随着时间变化的震动。
但我相信对于乐器小能手们来说,音乐更直观的理解是这样的:好的!下课,同学们再见。
是的,其实这一段写到这里已经可以结束了。
第三章傅里叶变换3-1 概述对于一件复杂的事情,人们总是从简单的一步开始做起,富丽堂皇的高楼大厦,是人们一块砖一块砖垒起来的。
为了简化问题的求解,人们往往也使用“变换分析”这种技巧,所起“变换”大家可能会感到陌生,其实我们在中学时已经运用了“变换分析”技巧,大家一定还记得对数运算,它实际上也是一种数学变换,我们知道两个数的乘积的对数等于两个数的对数和,两个数的商的对数等于这两个数的对数差,利用对数这个运算规则我们可以将数的乘积运算转换(准确地说变换)为数的加法运算,可以将数的除法运算转换(变换)为数的减法运算,可见“变换分析”给我们解决问题带来了方便,傅里叶变换就是给我们分析问题和解决问题极为方便的数学工具。
线性非时变系统的卷积分析实际上是基于将输入信号分解为一组加权延时的单位冲激(或样值)激励的线性组合。
本章将讨论信号和系统的另一种表示,其基本观点还是将信号分解为一组简单函数的线性组合,但是这里用的简单函数不是单位冲激(或样值)而是三角函数(或复指数函数)。
用“三角函数和”表示信号的想法至少可以追溯到古代巴比伦时代,当时他们利用这一想法来预测天体运动。
这一问题的近代研究始于1748年,欧拉在振动弦的研究中发现:如果在某一时刻振动弦的形状是标准振动(谐波)模的线性组合,那么在其后任何时刻,振动弦的形状也是这些振动模的线性组合。
另外,欧拉还证明了在该线性组合中,其后的加权系数可以直接从前面时间的加权系数中导出。
欧拉的研究成果表明了:如果一个线性非时变系统输入可以表示为周期复指数或正弦信号的线性组合,则输出也一定能表示成这种形式。
现在大家已经认识到,很多有用的信号都能用复指数函数的线性组合来表示,但是在18世纪中期,这一观点还进行着激烈的争论。
1753年D.伯努利(D.Bernoulli)曾声称:一根弦的实际运动都可以用标准(谐波)振荡模的线性组合来表示。
而以J.L.拉格朗日(grange)为代表的学者强烈反对使用三角级数来研究振动弦运动的主张,他反对的论据就是基于他自己的信念,即不可能用三角级数来表示一个具有间断点的函数。
少将图像的傅立叶变换,原始图像由N行N列构成,N必须是基2的,把这个N*N个包含图像的点称为实部,另外还需要N*N个点称为虚部,因为FFT是基于复数的,如下图所示:(//实数DFT将时域内的N个点变换为频域中两组各N/2+1个点(分别对应实部和虚部))计算图像傅立叶变换的过程很简单:首先对每一行做一维FFT,然后对每一列做一维FFT。
具体来说,先对第0行的N个点做FFT(实部有值,虚部为0),将FFT输出的实部放回原来第0行的实部,FFT输出的虚部放回第0行的虚部,这样计算完全部行之后,图像的实部和虚部包含的是中间数据,然后用相同的办法进行列方向上的FFT变换,这样N*N的图像经过FFT得到一个N*N的频谱。
下面展示了一副图像的二维FFT变换:频域中可以包含负值,图像中灰色表示0,黑色表示负值,白色表示正值。
可以看到4个角上的黑色更黑,白色更白,表示其幅度更大,其实4个角上的系数表示的是图像的低频组成部分,而中心则是图像的高频组成部分。
除此以外,FFT的系数显得杂乱无章,基本看不出什么。
将上述直角坐标转换为极坐标的形式,稍微比较容易理解一点,幅度中4个角上白色的区域表示幅度较大,而相位中高频和低频基本看不出什么区别来。
上述以一种不同的方法展示了图像频谱,它将低频部分平移到了频谱的中心(//MATLAB中实现函数fftshift)。
这个其实很好理解,因为经2D-FFT的信号是离散图像,其2D-FFT的输出就是周期信号,也就是将前面一张图周期性平铺,取了一张以低频为中心的图。
将原点放在中心有很多好处,比如更加直观更符合周期性的原理,但在这节中还是以未平移之前的图来解释。
行N/2和列N/2将频域分成四块。
对实部和幅度来说,右上角和左下角成镜像关系,左上角和右下角也是镜像关系;对虚部和相位来说,也是类似的,只是符号要取反(//共轭?),这种对称性和1维傅立叶变换是类似的,你可以往前看看。
为简单起见,先考虑4*4的像素,右边是其灰度值,对这些灰度值进行2维fft变换。
快速傅里叶变换(FFT)(图)上一回说到,为了节省电脑的计算时间,实现数字信号的实时处理,科学界千方百计减少离散傅里叶变换(DFT)的计算量。
1965年,库利(T.W.Cooley)和图基(J.W.Tukey)发表《一个复数傅立叶级数之机械计算算法》论文,首次提出了DFT运算的一种快速算法。
此后科学界创造出了各种各样的DFT快速算法,逐渐发展完善形成了一整套行之有效的算法设计思想和方法。
这就是快速傅立叶变换(Fast Fouier Transform),简称FFT。
可见所谓的快速傅里叶变换(FFT),并不是一种新的傅立叶分析理论,而是减少DFT计算量的算法设计思想和DFT各种快速算法的统称。
上一回我们知道了:DFT的计算量与点数N的平方成正比。
DFT的变换因子(也叫旋转因子):(1)具有周期性和对称性。
也就是说:1、以N为周期,即:(2)2、复共轭对称性(关于实轴对称),即:(3)3、中心对称性(关于原点对称),即:(4)FFT算法设计的基本思想,就是充分利用DFT的周期性和对称性,减少重复的计算量;并把N点长序列分成几个短序列,减少每个序列长度,可大大减少计算量。
实践中使用最多的FFT是“基2”算法。
所谓“基2”,就是令DFT的点数N满足(5)FFT基2算法分为时域抽取法(Decimation In Time)和频域抽取法(Decimation In Frequency)两大类。
本文重点介绍其中的时域抽取法快速傅里叶变换(DIT-FFT),算法设计思想要点如下:1、把长度为N的时域序列x(n)按n的奇偶分为两组,变成两个序列,长度均为N/2。
即(6)其中一个N/2点的DFT为(7)另一个N/2点的DFT为(8)2、不难推出原序列x(n)的N/2点DFT为(9)注意:上式仅是X(k)的前一半即N/2点运算,整个N点DFT结果还要加上后一半计算。
如果老老实实计算后一半N/2点DFT,则并没有减少任何计算量。
傅立叶变换(图)
上一回说到,根据傅立叶积分定理可知,若任意函数f(t)只要满足傅立叶积分定理的条件,则在其连续点处,函数f(t)可用傅立叶积分表示为
(1)现在如果我们令
(2)则傅立叶积分可表示为
(3)可见函数f(t)和F(ω)可以通过上述两式互相表达。
数学上称式F(ω)为函数f(t)的傅立叶积分变换,记为
(4)函数F(ω)称为f(t)的像函数;
称式f(t)为F(ω)的傅立叶逆变换,记为
(5)函数f(t)称为F(ω)的像原函数。
这就是著名的数学法宝――傅立叶变换(FT)的定义。
FT有什么实际意义呢?其最基本的实用价值就是用来分析非周期信号的频率成分。
傅里叶变换F(ω)也称为非周期信号f(t)的频谱密度函数,代表单位频率间隔或频带微元dω上的相对频谱值,通常也简称频谱函数,一般是频率的复变函数,可以表示为
(6)其中频谱函数F(ω)的模|F(ω)| 表示各频率分量的相对幅值随频率变化(或曰按频率分布)的关系,叫做幅度频谱密度,简称幅度频谱;φ(ω)表示各频率分量的相位随频率变化(或曰按频率分布)的关系,叫做相位频谱。
例如,单个矩形脉冲的时域波形如下图:
图1 单个矩形脉冲信号
根据傅里叶变换可求出其频谱函数
(7)频谱函数的图像(频域分布曲线)如下图:
图2 单个矩形脉冲的频谱函数
显然傅立叶变换表示的频谱是双边的。
其中幅度频谱为
(8)实际上信号的幅度按频率(非负)的分布很容易求得为
(9)这就是所谓的单边频谱。
单个矩形脉冲信号的相位频谱函数可表示为
(10)可见,非周期信号(如单个矩形脉冲)的频谱是连续曲线。
与相应的周期函数(如周期矩形脉冲)的离散频谱的包络变化一致。
再一次显示周期函数与非周期函数的内在联系。
此外需要指出的是,从频谱图可以看出,非周期信号的频率成分遍布整个频率轴,但信号的能量主要集中在频谱函数的第一个零点以内的频率范围上。
科学界通常规定这个频率范围为信号的频带宽度,简称带宽,记为
(11)对于圆频率,信号带宽可表示为
(12)其中τ为脉冲宽度,也就是信号的持续时间。
很明显,信号的持续时间与其频带宽度成反比。
这就是为什么如果我们为了提高信号传输速率,即压缩信号的持续时间,就必须拓宽传输线路的带宽。
人类社会已进入后工业时代,也叫信息时代,而现代IT(信息技术)领域普遍采用数字化处理已成为不可逆转的大趋势。
如何使模拟信号(大致可理解为连续信号)与数字信号(属于离散信号)建立联系呢?详情且听下回分解。