基于LabVIEW虚拟仪器设计——FFT快速傅立叶变换函数应用_第1页
基于LabVIEW虚拟仪器设计——FFT快速傅立叶变换函数应用_第2页
基于LabVIEW虚拟仪器设计——FFT快速傅立叶变换函数应用_第3页
基于LabVIEW虚拟仪器设计——FFT快速傅立叶变换函数应用_第4页
基于LabVIEW虚拟仪器设计——FFT快速傅立叶变换函数应用_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、课程设计说明书 第 I 页基于 LabVIEW 的虚拟仪器设计FFT 快速傅立叶变换函数的应用摘 要FFT(Fast Fourier Transformation) ,即为快速傅氏变换,是离散傅氏变换的快速算法,它是根据离散傅氏变换的奇、偶、虚、实等特性,对离散傅立叶变换的算法进行改进获得的。DFT 对于 X(K)的每个 K 值,需要进行 4N 次实数相乘和( 4N-2)次相加,对于 有 N 个 K 值的情况,共需 N*N 乘和 N(4N-2)次实数相加。改进DFT 算法,减小它的运算量,利用 DFT 中 的周期性和对称性,使整个 DFT 的计算变成一系列迭代运算,可大幅度提高运算过程和运算量

2、,这就是 FFT 的基本思想。虽然它对傅氏变换的理论并没有新的发现,但是对于在计算机系统或者说数字系统中应用离散傅立叶变换,可以说是进了一大步。虽然 FFT 大幅度地降低了常规傅立叶变换的运算量,但对于一般的单片机而言,处理 FFT 运算还是力不从心。主要原因是 FFT 计算过程中的蝶形运算是复数运算,要分开实部和虚部分别计算。在这是利用 LabVIEW 来实现快速傅立叶变化。LabVIEW 是一种程序开发环境,类似于 BASIC 开发环境;但 LabVIEW 与其它计算机语言相比,有一个特别重要的不同点:其它计算机语言都是采用基于文本的语言产生代码行;而LabVIEW 使用图形化编程语言 G

3、 编写程序,产生.的程序是框图的形式。 像 C 或 BASIC一样,LabVIEW 也是通用的编程系统,有一个可完成任何编程任务的庞大的函数库。LabVIEW 的函数库共包括数据采集、GPIB、串口控制、数据分析、数据显示及数据存储等。LabVIEW 也有传统的程序调试工具,如设置断点、以动画方式显示数据及其通过程序(子 V1)的结果、单步执行等,便于程序的调试。关键词:虚拟仪器, LabVIEW, FFT课程设计说明书 第 II 页目 录1 绪论.11.1 课题描述 .11.2 方案论证 .12 FFT 的实现.22.1 LABVIEW平台 .22.2 正弦信号的产生.32.3 均匀噪声的加

4、入 .42.4 低通滤波 .52.5 快速傅里叶变换.63 性能的测试.73.1 单一频率正弦信号的 FFT.73.2 叠加了高频噪声的正弦信号的 FFT.7总 结.10致 谢.11参考文献.12课程设计说明书 第3页1 绪论1.1 课题描述由于电子技术、计算机技术、软件技术、网络技术的高度发展及其在电子测量技术与仪器上的应用,新的测试理论、新的测试方法、新的测试领域及新的仪器结构不断出现,许多方面已经突破传统的仪器概念,电子测量仪器的功能和结构己经发生了质的变化。在这种背景下,八十年代末美国率先研制了虚拟仪器(Virtual Instruments)。虚拟仪器就是利用现有的计算机加上特殊设计

5、的仪器硬件和专用软件,形成既有普通仪器的基本功能,又有一般仪器没有的特殊功能的高档、低价的新型仪器。 虚拟仪器利用个人计算机强大的图形环境和在线帮助功能,建立虚拟仪器面板,完成对仪器的控制、数据分析与显示。代替传统仪器,改变了传统仪器的使用方式,提高仪器的功能和使用效率,同时大大降低了仪器的价格,使用户可以根据自己的需要定义仪器的功能。用于虚拟仪器的开发环境目前有两大类:一是文本式的编程语言,另一类是图形化编程语言,具有代表性的有 LabVIEW。其中影响最大的要数LabVIEW(Laboratory Virtual Instrument Engineering Workbench,实验室虚拟

6、仪器工程平台)语言,被称为“仪器仪表界面” ,是专为数据采集与仪器控制、数据分析和数据表达而设计的开发软件 。 1.2 方案论证1、单一频率正弦信号的 FFT采用 Labview 的信号产生模板提供的常用的信号发生器,从中找到正弦信号发生器,使其产生一个正弦信号。将此正弦信号输入到实数 FFT.vi 中的 X 端进行快速傅里叶变换处理,使时域信号转换为频域信号。然后经过复数至极坐标转换后将其显示出来。其结构如图 1 所示。正弦信号FFT 变换复数至极坐标转换显示课程设计说明书 第4页图 1 单一频率正弦信号的 FFT 结构图2、叠加了高频噪声的正弦信号的 FFT在 Labview 的信号产生模

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

8、Instrument Engineering Workbench)是一种用图标代替文本行创建应用程序的图形化编程语言。Labview 程序又称为虚拟仪器(Virtual Instrument,简称 VI) 。LabVIEW 是一种程序开发环境,类似于 C 和 BASIC开发环境,但 LabVIEW 与其它计算机语言的显著区别是:其它计算机语言都是采用基于文本的语言产生代码行,而 LabVIEW 使用图形化编程语言 G 语言编写程序,产生的程序是框图的形式。像 C 或 BASIC 一样, LabVIEW 也是通用的编程系统,有一个可完成任何编程任务的庞大的函数库。 LabVIEW 的函数库包括数

9、据采集、GPIB、串口控制、数据分析、数据显示及数据存储等等。 LabVIEW 也有传统的程序调试工具,如设置断点、以动画形式显示数据及其通过程序(子 VI)的结果、单步执行等等,便于程序的调试。课程设计说明书 第5页虚拟仪器,简称 VI,包括三部分:前面板、框图程序和图标 /连接器。程序前面板,用于设置输入量和观察输出量。它模拟真实仪器的前面板。其中,输入量被称为 Controls(控件),用户可以通过控件向 VI 中设置输入参数等;输出量被称为 Indicators(指示器), VI 通过指示器向用户提示状态或输出数据等。用户还可以使用各种图标,如旋钮、开关、按钮、图表及图形等,使前面板易

10、看易懂。每一个程序前面板都有相应的框图程序与之对应。框图程序,用图形编程语言编写,可以把它理解成传统程序的源代码。框图中的部件可以看成程序节点,如循环控制、事件控制和算术功能等。这些部件都用连线连接,以定义框图内的数据流动方向。图标/接口器件可以让用户把 VI 程序变成一个对象( VI 子程序),然后在其他程序中像子程序一样地调用它。图标表示在其他程序中被调用的子程序,而接线端口则表示图标的输入 /输出口,就像子程序的参数端口对应着VI 程序前面板控件和指示器的数值。虚拟仪器和传统仪器的差异很大,具有很强的优势。独立的传统仪器,例如示波器和波形发生器,性能强大,但是价格昂贵,且被厂家限定了功能

11、,只能完成一件或几件具体的工作,因此,用户通常都不能够对其加以扩展或自定义其功能。仪器的旋钮和开关、内置电路及用户所能使用的功能对这台仪器来说都是固定的。另外,开发这些仪器还必须要用专门的技术和高成本的元部件,从而使它们身价颇高且很不容易更新。基于 PC 机的虚拟仪器系统,诞生以来就充分利用了现成即用的PC 机所带来的最新科技。这些科技和性能上的优势迅速缩短了独立的传统仪器和PC机之间的距离,包括功能强大的处理器(如Pentium4)、操作系统及微软Windows XP、NET 技术和 Apple Mac OSx。除了融合诸多功能强大的特性,这些平台还为用户提供了简单的联网工具。此外,传统仪器

12、往往不便随身携带,而虚拟仪器可以在笔记本电脑上运行,充分体现了其便携特性。需要经常变换应用项目和系统要求的工程师和科学家们需要有非常灵活的开发平台以便创建适合自己的解决方案。可以使用虚拟仪器以满足特定的需要,因为有安装在PC 机上的应用软件和一系列可选的插入式硬件,无需更换整套设备,即能完成新系统的开发。2.2 正弦信号的产生在模拟电路范围,信号频率以 Hz 或周期(Cycle)来测量,但在数字系统中使用数字频率,它是模拟频率与采样频率之比,即数字频率=模拟频率/采样频率,其单位为周期数/采样数。要产生一个正弦信号需要一个 Sub VI: Sine Pattern .vi(在信号处理-信号生成

13、子模板)。Sine Pattern .vi 有 4 个输入我们只用采样和周期输入,如图 3 示。Sine 课程设计说明书 第6页Pattern.vi 生成的是正弦信号的数组。数组的长度(1 个完整周期)只与采样参数有关,是固定长度的。换句话说,我们可以任意确定正弦信号的一个完整周期内取多少个采样点。对于上面的默认参数是是一个完整正弦信号周期内取 128 点(也就是数组的长度) 。图 3 正弦信号2.3 均匀噪声的加入在实际的环境中,一定会有噪声的影响因此我们加入高频噪声。首先我们要建立一个均匀白噪声.vi(在信号处理-信号生成子模板)。将白噪声通过一个巴特沃斯高通滤波器与原正弦信号合并,使其产

14、生一个叠加了高频噪声的正弦波。其结构如图 4 示。图 4 叠加了高频噪声的正弦波框图课程设计说明书 第7页其中均匀白噪声如图 5 所示,我们可以控制白噪声的采样频率和幅值。而巴特沃斯高通滤波器如图 6 所示,高截止频率:fh 是高截止频率。默认值为 0.45。如滤波器类型为 0(lowpass)或 1(highpass),VI 将忽略该参数。滤波器类型为 2 (Bandpass)或 3 (Bandstop)时,fh 必须大于低截止频率,fl 并且满足奈奎斯特准则。奈奎斯特准则(Nyquist criterion): f1 0.5fs,其中 f1 为截止频率,fs 为采样频率。低截止频率:fl

15、是低截止频率并且必须满足 Nyquist 准则。默认值为 0.125。fl 小于0 或大于采样频率的一半,VI 将把滤波后 X 设置为空数组并返回错误。滤波器类型为 2 (Bandpass) 或 3 (Bandstop)时,fl 必须小于高截止频率(fh)。介数:阶数指定的滤波器的阶数并且必须大于 0。默认值为 2。例如阶数小于等于 0,VI 将把滤波后 X 设置为空数组并返回错误。采样频率:fs 是采样频率并且必须大于 0。默认值为 1.0。如采样频率:fs 小于等于 0,VI 将把滤波后 X 设置为空数组并返回错误。图 5 均匀白噪声发生器图 6 巴特沃斯滤波器 2.4 低通滤波将叠加了高

16、频噪声的正弦波通过一个低通滤波器,使用低通滤波器对原始信号滤波,滤掉高频噪声。其结构如图 7 示。课程设计说明书 第8页图 7 低通滤波2.5 快速傅里叶变换时域信号有一定缺陷,需要将时域信号转换为频域信号,将时域信号转换为频域信号的方法有很多,例如,Fourier 变换,快速 Fourier 变换 FFT,小波变换等。下面使用 Labview 的 FFT 将上述的时域信号转换为频域信号,FFT 的框图如图 8 所示,其中左端的 X 是 FFt 接受时域输入序列的输出;右端的 FFTX是 FFT 的频域输出。将滤波后的正弦波输入到 X 端(实数 FFT.vi 的输入为实数数组)连接后结构如图

17、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页图 9 快速傅里叶变换处理结构图3 3 性能的测试性能的测试3.1 单一频率正弦信号的 FFT首先使正弦信号输出的采样频率为 500,周期为

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

19、斯低通滤波器将高频噪声滤掉。低通滤波后的波形如图 13 所示。图 13 低通滤波后的波形将低通滤波后的波形输入到 FFT 变换中去所得结果如图 14 所示。图 14 FFT 变换课程设计说明书 第12页总 结由以上结果可以看出在频率 5Hz 和 495Hz 处各有一条亮线,表明信号拥有一个 5Hz和 495Hz 的频率分量。由此表明单一频率正弦信号的 FFT 和叠加了高频噪声的正弦信号的 FFT 变换得以实现。根据显示结果可以看出在波形图的图表中存在两个峰值分别在 5Hz 和 495Hz 处,在 10Hz 出出现峰值是因为在频率控件中输入的是 10.又因为在此使用的是双边 FFT,而双边 FF

20、T 则显示正负频率,这里的 495Hz 实际上是-10Hz。如果只需要显示正频率,则将双边 FFT 改为单边 FFT。此次课设所使用的是 Labview,Labview 又称虚拟仪器,由虚拟仪器这个名字我们就可以知道使用这个软件可以省去购买硬件所化去的费用。使用这个软件可以完成很多硬件所能完成的测试。虚拟仪器通过软件将计算机硬件资源与仪器硬件有机的融合为一体,从而把计算机强大的计算处理能力和仪器硬件的测量,控制能力结合在一起,大大缩小了仪器硬件的成本和体积,并通过软件实现对数据的显示、存储以及分析处理。虚拟仪器具有传统独立仪器无法比拟的优势,但它并不否定传统仪器的作用,它们相互交叉又相互补充,相得益彰。在高速度、高带宽和专业测试领域,独立仪器具有无可替代的优势。在中低档测试领域,虚拟仪器可取代一部分独立仪器的工作,但完成复杂环境下的自动化测试是虚拟仪器的拿手好戏,是传统的独立仪器难以胜任的,甚至不可思议的工作。使用 labview 实现快速傅里叶变换,结合 FFT 的节省运算量的优势,在傅里叶变换中我们可以大大提高工作效率。课程设计说明书 第13页致 谢通过这次快速傅里叶变换的设计,我对虚拟仪器的应用及 Labview 的掌握程度又上升了一个台阶。这次课程设

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论