您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > 第26章ARM官方DSP库-FFT的示波器应用
安安富富莱莱电电子子UUMM440033日日版版本本::11..00第第11页页共共2288页页安安富富莱莱SSTTMM3322--VV55开开发发板板数数字字信信号号处处理理教教程程文档版本:V1.0安安富富莱莱电电子子日日版版本本::11..00第第22页页共共2288页页声声明明本本文文档档的的版版权权归归武武汉汉安安富富莱莱电电子子有有限限公公司司所所有有。。任任何何公公司司或或者者个个人人未未经经许许可可,,不不得得将将本本文文档档用用于于商商业业目目的的。。本本文文档档由由安安富富莱莱电电子子原原创创,,非非我我们们原原创创的的资资料料已已经经在在章章节节的的开开头头进进行行申申明明((特特别别是是FFFFTT部部分分))。。教教程程中中使使用用的的DDSSPP库库是是来来自自AARRMM公公司司。。教教程程参参考考资资料料如如下下::CCoorrtteexx--MM44权权威威指指南南。。数数字字信信号号处处理理理理论论、、算算法法与与实实现现第第二二版版((作作者者::胡胡广广书书))。。信信号号与与系系统统第第二二版版((作作者者::奥奥本本海海姆姆))。。MMaattllaabb的的hheellpp文文档档。。力力科科示示波波器器基基础础应应用用系系列列文文档档。。百百度度百百科科,,wwiikkii百百科科。。网网络络资资源源。。SSTT官官方方相相关关文文档档。。安安富富莱莱电电子子UUMM440033日日版版本本::11..00第第33页页共共2288页页第第2266章章FFFFTT的的示示波波器器应应用用特别声明:本章节内容整理自力科示波器基础应用系列文档,原名《FFT的前世今生》。FFT(FastFourierTransform,快速傅立叶变换)是离散傅立叶变换的快速算法,也是我们在数字信号处理技术中经常会提到的一个概念。在大学的理工科课程中,在完成高等数学的课程后,数字信号处理一般会作为通信电子类专业的专业基础课程进行学习,原因是其中涉及了大量的高等数学的理论推导,同时又是各类应用技术的理论基础。关于傅立叶变换的经典著作和文章非常多,但是看到满篇的复杂公式推导和罗列,我们还是很难从直观上去理解这一复杂的概念,我想对于普通的测试工程师来说,掌握FFT的概念首先应该搞清楚这样几个问题(在这篇文章中我尝试用更加浅显的讲解,尽量不使用公式推导来说一说FFT的那些事儿):26.1为什么需要FFT26.2变换究竟是如何进行的26.3变换前后信号有何种对应关系26.4在使用测试工具(示波器或者其它软件平台)进行FFT的方法和需要注意的问题26.5力科示波器与泰克示波器的FFT计算方法的比较26.6珊栏现象26.7窗函数对于FFT结果的影响26.8窗函数选择指南2266..11为为什什么么需需要要FFFFTT首先FFT(快速傅立叶变换)是离散傅立叶变换的快速算法,那么说到FFT,我们自然要先讲清楚傅立叶变换。先来看看傅立叶变换是从哪里来的?傅立叶是一位法国数学家和物理学家的名字,英语原名是JeanBaptisteJosephFourie(1768-1830),Fourier对热传递很感兴趣,于1807年在法国科学学会上发表了一篇论文,运用正弦曲线来描述温度分布,论文里有个在当时颇具争议性的命题:任何连续周期信号可以由一组适当的正弦曲线组合而成。当时审查这个论文的人,其中有两位是历史上著名的数学家拉格朗日(JosephLouisLagrange,1736-1813)和拉普拉斯(PierreSimondeLaplace,1749-1827),当拉普拉斯和其他审查者投票通过并要发表这个论文时,拉格朗日坚决反对,在近50年的时间里,拉格朗日坚持认为傅立叶的方法无法表示带有棱角的信号,如在方波中出现非连续变化斜率。法国科学学会屈服于拉格朗日的权威,拒绝了傅立叶的工作,幸运的是,傅立叶还有其它事情可忙,他参加了政治运动,随拿破仑远征埃及,法国大革命后因为怕被推上断头台而一直在逃难。直到拉格朗日死后15年这个论文才被发表出来。安安富富莱莱电电子子UUMM440033日日版版本本::11..00第第44页页共共2288页页谁是对的呢?拉格朗日是对的:正弦曲线无法组合成一个带有棱角的信号。但是,我们可以用正弦曲线来非常逼近地表示它,逼近到两种表示方法不存在能量差别,基于此,傅立叶是对的。为什么我们要用正弦曲线来代替原来的曲线呢?如我们也还可以用方波或三角波来代替,分解信号的方法是无穷的,但分解信号的目的是为了更加简单地处理原来的信号。用正余弦来表示原信号会更加简单,因为正余弦拥有其他信号所不具备的性质:正弦曲线保真度。一个正弦曲线信号输入后,输出的仍是正弦曲线,只有幅度和相位可能发生变化,但是频率和波的形状仍是一样的,且只有正弦曲线才拥有这样的性质,正因如此我们才不用方波或三角波来表示。2266..11..11傅傅里里叶叶变变换换的的物物理理意意义义傅立叶原理表明:任何连续测量的时序或信号,都可以表示为不同频率的正弦波信号的无限叠加。而根据该原理创立的傅立叶变换算法利用直接测量到的原始信号,以累加方式来计算该信号中不同正弦波信号的频率、振幅和相位。当然这是从数学的角度去看傅立叶变换。那么从物理的角度去看待傅立叶变换,它其实是帮助我们改变传统的时间域分析信号的方法转到从频率域分析问题的思维,下面的一幅立体图形可以帮助我们更好得理解这种角度的转换:所以,最前面的时域信号在经过傅立叶变换的分解之后,变为了不同正弦波信号的叠加,我们再去分析这些正弦波的频率,可以将一个信号变换到频域。有些信号在时域上是很难看出什么特征的,但是如果变换到频域之后,就很容易看出特征了。这就是很多信号分析采用FFT变换的原因。另外,FFT可以将一个信号的频谱提取出来,这在频谱分析方面也是经常用的。傅立叶变换提供给我们这种换一个角度看问题的工具,看问题的角度不同了,问题也许就迎刃而解!安安富富莱莱电电子子UUMM440033日日版版本本::11..00第第55页页共共2288页页2266..22FFFFTT变变换换是是如如何何进进行行的的首先,按照被变换的输入信号类型不同,傅立叶变换可以分为4种类型:1、非周期性连续信号傅立叶变换(FourierTransform)2、周期性连续信号傅立叶级数(FourierSeries)3、非周期性离散信号离散时域傅立叶变换(DiscreteTimeFourierTransform)4、周期性离散信号离散傅立叶变换(DiscreteFourierTransform)下面是四种原信号图例:这里我们要讨论是离散信号,对于连续信号我们不作讨论,因为计算机只能处理离散的数值信号,我们的最终目的是运用计算机来处理信号的。所以对于离散信号的变换只有离散傅立叶变换(DFT)才能被适用,对于计算机来说只有离散的和有限长度的数据才能被处理,对于其它的变换类型只有在数学演算中才能用到,在计算机面前我们只能用DFT方法,我们要讨论的FFT也只不过是DFT的一种快速的算法。DFT的运算过程是这样的:X(k)=DFT[x(n)]=1N x(n)e ⁄ X(k)—频域值X(n)—时域采样点n—时域采样点的序列索引k—频域值的索引安安富富莱莱电电子子UUMM440033日日版版本本::11..00第第66页页共共2288页页N—进行转换的采样点数量可见,在计算机或者示波器上进行的DFT,使用的输入值是数字示波器经过ADC后采集到的采样值,也就是时域的信号值,输入采样点的数量决定了转换的计算规模。变换后的频谱输出包含同样数量的采样点,但是其中有一半的值是冗余的,通常不会显示在频谱中,所以真正有用的信息是N/2+1个点。FFT的过程大大简化了在计算机中进行DFT的过程,简单来说,如果原来计算DFT的复杂度是N2次运算(N代表输入采样点的数量),进行FFT的运算复杂度是:Nlog N因此,计算一个1,000采样点的DFT,使用FFT算法只需要计算3,000次,而常规的DFT算法需要计算1,000,000次!我们以一个4个点的DFT变换为例来简单说明FFT是怎样实现快速算法的:X(k)=14 x(n)e ⁄ 计算得出:x(0)=x(0)e +x(1)e + x(2)e + x(3)e x(1)=x(0)e +x(1)e ⁄+x(2)e +x(3)e ⁄x(2)=x(0)e +x(1)e + x(2)e + x(3)e x(3)=x(0)e +x(1)e ⁄+x(2)e +x(3)e ⁄其中的红色部分在FFT中是必须计算的分量,其它蓝色部分不需要直接计算,可以由红色的分量直接推导得到,比如:x(1)e =−1∗ x(1)e x(2)e = x(2)e ……这样,已经计算出的红色分量只需要计算机将结果保存下来用于之后计算时调用即可,因此大大减少了DFT的计算量。2266..33FFFFTT变变换换前前后后有有何何种种对对应应关关系系我们以一个实际的信号为例来说明:示波器采样得到的数字信号,就可以做FFT变换了。N个采样点,经过FFT之后,就可以得到N个点的FFT结果。为了方便进行FFT运算,通常N取2的整数次方。假设采样频率为Fs,信号频率F,采样点数为N。那么FFT之后结果就是一个为N点的复数。每一个点就对应着一个频率点。这个点的模值,就是该频率值下的幅度特性。具体跟原始信号的幅度有什么关系呢?假设原始信号的峰值为A,那么FFT的结果的每个点(除了第一个点直流分量之外)的模值就是A的N/2倍。而第一个点就是直流分量,它的模值就是直流分量的N倍。而每个点的相位呢,就是在该频率下的信号的相位。第一个点表示直流分量(即0Hz),而最后一个点N的再下一个点(实际上这个点是不存在的,这里安安富富莱莱电电子子UUMM440033日日版版本本::11..00第第77页页共共2288页页是假设的第N+1个点,也可以看做是将第一个点分做两半分,另一半移到最后)则表示采样频率Fs,这中间被N-1个点平均分成N等份,每个点的频率依次增加。例如某点n所表示的频率为:Fn=(n-1)*Fs/N。由上面的公式可以看出,Fn所能分辨到频率为为Fs/N,如果采样频率Fs为1024Hz,采样点数为1024点,则可以分辨到1Hz。1024Hz的采样率采样1024点,刚好是1秒,也就是说,采样1秒时
本文标题:第26章ARM官方DSP库-FFT的示波器应用
链接地址:https://www.777doc.com/doc-5072219 .html