ImageVerifierCode 换一换
格式:DOCX , 页数:9 ,大小:145.67KB ,
资源ID:910402      下载积分:12 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/910402.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于Labview的快速傅里叶变换的实现.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于Labview的快速傅里叶变换的实现.docx

1、基于Labview的快速傅里叶变换的实现一、概述FFT(Fast Fourier Transformation),即为快速傅氏变换,是离散傅氏变换的快速算法,它是根据离散傅氏变换的奇、偶、虚、实等特性,对离散傅立叶变换的算法进行改进获得的。DFT对于X(K)的每个K值,需要进行4N次实数相乘和(4N-2)次相加,对于N个k值,共需N*N乘和N(4N-2)次实数相加。改进DFT算法,减小它的运算量,利用DFT中 的周期性和对称性,使整个DFT的计算变成一系列迭代运算,可大幅度提高运算过程和运算量,这就是FFT的基本思想。虽然它对傅氏变换的理论并没有新的发现,但是对于在计算机系统或者说数字系统中应

2、用离散傅立叶变换,可以说是进了一大步。虽然FFT大幅度地降低了常规傅立叶变换的运算量,但对于一般的单片机而言,处理FFT运算还是力不从心。主要原冈是FFT计算过程中的蝶形运算是复数运算,要分开实部和虚部分别计算。在这里利用LabVIEW来实现快速傅立叶变化。LabVIEW是一种程序开发环境,类似于BASIC开发环境;但LabVIEW与其它计算机语言相比,有一个特别重要的不同点:其它计算机语言都是采用基于文本的语言产生代码行;而LabVIEW使用图形化编程语言G编写程序,产生.的程序是框图的形式。 像C或BASIC一样,LabVIEW也是通用的编程系统,有一个可完成任何编程任务的庞大的函数库。L

3、abVIEW的函数库包括数据采集、GPIB、串口控制、数据分析、数据显示及数据存储等。LabVIEW也有传统的程序调试工具,如设置断点、以动画方式显示数据及其通过程序(子V1)的结果、单步执行等,便于程序的调试。二、方案论证1:单一频率正弦信号的FFT采用Labview的信号产生模板提供的常用的信号发生器,从中找到正弦信号发生器,使其产生一个正弦信号。将此正弦信号输入到实数FFT.vi中的X端进行快速傅里叶变换处理,使时域信号转换为频域信号。然后经过复数至极坐标转换后将其显示出来。其结构如图1所示。图1 单一频率正弦信号的FFT结构图2:叠加了高频噪声的正弦信号的FFT在Labview的信号产

4、生模板提供的常用的信号发生器中找到均匀白噪声发生器,使其产生一个均匀白噪声,再将均匀白噪声输入到一个巴特沃斯高通滤波器,使其产生一个高频噪声,将此高频噪声与一正弦信号合并从而产生一个混合信号。再将混合信号输入到一个低通滤波器进行低通滤波,滤掉高频噪声。将滤波后的信号输入到实数FFT.vi中的X端进行快速傅里叶变换处理,使时域信号转换为频域信号。然后经过复数至极坐标转换后将其显示出来。其结构如图2所示。 合并图2 混合信号的FFT结构图三、FFT的实现1Labview平台LabVIEW(Laboratory Virtual Instrument Engineering Workbench)是一种

5、用图标代替文本行创建应用程序的图形化编程语言。Labview程序又称为虚拟仪器(Virtual Instrument,简称VI)。LabVIEW是一种程序开发环境,类似于C和BASIC开发环境,但LabVIEW与其它计算机语言的显著区别是:其它计算机语言都是采用基于文本的语言产生代码行,而LabVIEW使用图形化编程语言G语言编写程序,产生的程序是框图的形式。像C或BASIC一样, LabVIEW也是通用的编程系统,有一个可完成任何编程任务的庞大的函数库。 LabVIEW的函数库包括数据采集、GPIB、串口控制、数据分析、数据显示及数据存储等等。 LabVIEW也有传统的程序调试工具,如设置断

6、点、以动画形式显示数据及其通过程序(子VI)的结果、单步执行等等,便于程序的调试。虚拟仪器,简称VI,包括三部分:前面板、框图程序和图标/连接器。程序前面板,用于设置输入量和观察输出量。它模拟真实仪器的前面板。其中,输入量被称为Controls(控件),用户可以通过控件向VI中设置输入参数等;输出量被称为Indicators(指示器),VI通过指示器向用户提示状态或输出数据等。用户还可以使用各种图标,如旋钮、开关、按钮、图表及图形等,使前面板易看易懂。每一个程序前面板都有相应的框图程序与之对应。框图程序,用图形编程语言编写,可以把它理解成传统程序的源代码。框图中的部件可以看成程序节点,如循环控

7、制、事件控制和算术功能等。这些部件都用连线连接,以定义框图的数据流动方向。图标/接口器件可以让用户把VI程序变成一个对象(VI子程序),然后在其他程序中像子程序一样地调用它。图标表示在其他程序中被调用的子程序,而接线端口则表示图标的输入/输出口,就像子程序的参数端口对应着VI程序前面板控件和指示器的数值。虚拟仪器和传统仪器的差异很大,具有很强的优势。独立的传统仪器,例如示波器和波形发生器,性能强大,但是价格昂贵,且被厂家限定了功能,只能完成一件或几件具体的工作,因此,用户通常都不能够对其加以扩展或自定义其功能。仪器的旋钮和开关、置电路及用户所能使用的功能对这台仪器来说都是固定的。另外,开发这些

8、仪器还必须要用专门的技术和高成本的元部件,从而使它们身价颇高且很不容易更新。基于PC机的虚拟仪器系统,诞生以来就充分利用了现成即用的PC机所带来的最新科技。这些科技和性能上的优势迅速缩短了独立的传统仪器和PC机之间的距离,包括功能强大的处理器(如Pentium4)、操作系统及微软Windows XP、NET技术和Apple Mac OSx。除了融合诸多功能强大的特性,这些平台还为用户提供了简单的联网工具。此外,传统仪器往往不便随身携带,而虚拟仪器可以在笔记本电脑上运行,充分体现了其便携特性。需要经常变换应用项目和系统要求的工程师和科学家们需要有非常灵活的开发平台以便创建适合自己的解决方案。可以

9、使用虚拟仪器以满足特定的需要,因为有安装在PC机上的应用软件和一系列可选的插入式硬件,无需更换整套设备,即能完成新系统的开发。2正弦信号的产生在模拟电路围,信号频率以Hz或周期(Cycle)来测量,但在数字系统中使用数字频率,它是模拟频率与采样频率之比,即数字频率=模拟频率/采样频率,其单位为周期数/采样数。要产生一个正弦信号需要一个Sub VI: Sine Pattern .vi(在信号处理-信号生成子模板)。Sine Pattern .vi有4个输入我们只用采样和周期输入,如图3示。Sine Pattern.vi生成的是正弦信号的数组。数组的长度(1个完整周期)只与采样参数有关,是固定长度

10、的。换句话说,我们可以任意确定正弦信号的一个完整周期取多少个采样点。对于上面的默认参数是是一个完整正弦信号周期取128点(也就是数组的长度)。图3 正弦信号3均匀噪声的加入在实际的环境中,一定会有噪声的影响因此我们加入高频噪声。首先我们要建立一个均匀白噪声.vi(在信号处理-信号生成子模板)。将白噪声通过一个巴特沃斯高通滤波器与原正弦信号合并,使其产生一个叠加了高频噪声的正弦波。其结构如图4示。图4 叠加了高频噪声的正弦波框图其中均匀白噪声如图5所示,我们可以控制白噪声的采样频率和幅值。而巴特沃斯高通滤波器如图6所示,高截止频率:fh是高截止频率。默认值为0.45。如滤波器类型为0(lowpa

11、ss)或1(highpass),VI将忽略该参数。滤波器类型为2 (Bandpass)或3 (Bandstop)时,fh必须大于低截止频率,fl并且满足奈奎斯特准则。奈奎斯特准则(Nyquist criterion): f1 0.5fs,其中f1为截止频率,fs为采样频率。低截止频率:fl是低截止频率并且必须满足Nyquist准则。默认值为0.125。fl小于0或大于采样频率的一半,VI将把滤波后X设置为空数组并返回错误。滤波器类型为2 (Bandpass) 或3 (Bandstop)时,fl必须小于高截止频率(fh)。介数:阶数指定滤波器的阶数并且必须大于0。默认值为2。如阶数小于等于0,V

12、I将把滤波后X设置为空数组并返回错误。采样频率:fs是采样频率并且必须大于0。默认值为1.0。如采样频率:fs小于等于0,VI将把滤波后X设置为空数组并返回错误。图5 均匀白噪声发生器图6 巴特沃斯滤波器4低通滤波将叠加了高频噪声的正弦波通过一个低通滤波器,使用低通滤波器对原始信号滤波,滤掉高频噪声。其结构如图7示。图7 低通滤波5快速傅里叶变换时域信号有一定缺陷,需要将时域信号转换为频域信号,将时域信号转换为频域信号的方法有很多,例如,Fourier变换,快速Fourier变换FFT,小波变换等。下面使用Labview的FFT将上述的时域信号转换为频域信号,FFT的框图如图8所示,其中左端的

13、X是FFt接受时域输入序列的输出;右端的FFTX是FFT的频域输出。将滤波后的正弦波输入到X端(实数FFT.vi的输入为实数数组)连接后结构如图9所示。输出FFTX表示的是一个复数,是FFT变换的结果X,用Complex to Polar函数可以将r和分开。r越大,表示X序列在此处对应的频率成分越高。X序列之间的频率间隔df=fs/N,其中fs表示信号的采样率,N表示采样点数。因此由r序列的最大值对应的Index和df就可以确定该信号中哪个频率下的谐波成分最高,该频率f=df*r序列中最大值对应的Index。图8 FFT的框图图9 快速傅里叶变换处理结构图四、性能的测试1.单一频率正弦信号的F

14、FT首先使正弦信号输出的采样频率为500,周期为5的正弦波。波形如图10所示。图10 正弦波然后将正弦波输入到FFT变换中再经过Complex to Polar函数(复数至极坐标转换)所得结果如图11所示。图11 单一频率正弦信号的FFT2. 叠加了高频噪声的正弦信号的FFT使均匀白噪声的采样频率为500。将白噪声通过一个巴特沃斯高通滤波器,此滤波器的采样频率为1000,低通截止频率为300。再将白噪声与原正弦信号合并,其输出波形如图12所示。图12 叠加了高频噪声的正弦波将叠加了高频噪声的正弦波输入到采样频率为1000,低通截止频率为10的巴特沃斯低通滤波器将高频噪声滤掉。低通滤波后的波形如

15、图13所示。图13 低通滤波后的波形将低通滤波后的波形输入到FFT变换中去所得结果如图14所示。图14 FFT变换五、结论由以上结果可以看出在频率5Hz和495Hz处各有一条亮线,表明信号拥有一个5Hz和495Hz的频率分量。由此表明单一频率正弦信号的FFT和叠加了高频噪声的正弦信号的FFT变换得以实现。根据显示结果可以看出在波形图的图表中存在两个峰值分别在5Hz和495Hz处,在10Hz出出现峰值是因为在频率控件中输入的是10.又因为在此使用的是双边FFT,而双边FFT则显示正负频率,这里的495Hz实际上是-10Hz。如果只需要显示正频率,则将双边FFT改为单边FFT。六、性价比此次课设所

16、使用的是Labview,Labview又称虚拟仪器,由虚拟仪器这个名字我们就可以知道使用这个软件可以省去购买硬件所化去的费用。使用这个软件可以完成很多硬件所能完成的测试。虚拟仪器通过软件将计算机硬件资源与仪器硬件有机的融合为一体,从而把计算机强大的计算处理能力和仪器硬件的测量,控制能力结合在一起,大大缩小了仪器硬件的成本和体积,并通过软件实现对数据的显示、存储以及分析处理。虚拟仪器具有传统独立仪器无法比拟的优势,但它并不否定传统仪器的作用,它们相互交叉又相互补充,相得益彰。在高速度、高带宽和专业测试领域,独立仪器具有无可替代的优势。在中低档测试领域,虚拟仪器可取代一部分独立仪器的工作,但完成复杂环境下的自动化测试是虚拟仪器的拿手好戏,是传统的独立仪器难以胜任的,甚至不可思议的工作。使用labview实现快速傅里叶变

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1