APP下载

LabVIEW程式设计例项:虚拟FFT分析仪设计

消息来源:baojiabao.com 作者: 发布时间:2024-05-19

报价宝综合消息LabVIEW程式设计例项:虚拟FFT分析仪设计

LabVIEW又称为G语言,简单易学、形象直观,采用图形化的程式设计方式,是专为测试、测量和控制应用而设计的系统工程软件。因此,LabVIEW软件在资料模拟、讯号分析处理方面有着得天独厚的优势。

本文以一个具体例项,演示在LabVIEW中如何实现一个虚拟的FFT分析仪设计,包括取样讯号的模拟、频域的FFT分析及资料结果的图形显示等功能。

这个例子也刚好对应了一个虚拟仪器所具有的三个基本组成环节的实现,即在软件中如何实现资料采集、分析处理及图形显示的功能。

例项说明

虚拟FFT分析仪前面板软件界面如下图所示:

虚拟FFT分析仪软件中包含的功能如下:

模拟讯号产生功能,可产生能够叠加均匀白噪声的正弦波、三角波、方波及锯齿波等常用讯号,对讯号的频率、幅值等引数能够进行设定;FFT频谱分析功能,可进行平均引数设定(如平均模式、加权模式及平均次数等)、窗函式设定、重新开始平均设定等,同时也给出了平均是否完成的指示资讯;图形显示功能,包括原始时域模拟讯号波形图及FFT频谱的幅度谱显示,且FFT幅度谱可设定是否为对数显示,在这个例子的基础上也可扩充套件为显示频谱的相位谱资讯;程式能够连续执行,模拟真实频谱仪的连续采集、分析及显示功能;可设定全域性的取样频率、取样点数等引数资讯。

程式框图实现

本例软件界面包含的功能看上去虽然很复杂,但由于LabVIEW中函式的高度整合性,在框图程式中的实现程式码并不复杂,如下图所示:

主程式使用一个While循环结构,每隔100ms执行一次循环。在循环内部主要呼叫了两个函式即“Basic Function Gernerator.vi”和“FFT Spectrum(Mag-Phase).vi”,分别实现模拟讯号的产生和实现FFT频谱分析(得到幅值谱和相位谱)功能。在软件前面板上的引数控制元件几乎都是作为这两个函式的必要引数而存在的。

下面对这两个关键函式作一个简单的说明。

(1) “Basic Function Gernerator.vi”

该函式为LabVIEW中提供的基本函式发生器函式,呼叫该函式可产生正弦波、三角波、方波及锯齿波等常用讯号,其输入输出引数如下图所示:

通过该函式产生的讯号与均匀白噪声讯号进行叠加后,即可得到本例所要求的模拟讯号了。

(2) “FFT Spectrum(Mag-Phase).vi”

该函式功能是计算时域讯号的平均FFT频谱。该VI通过幅度和相位返回FFT值。其输入输出引数如下图所示:

主要引数说明如下:

“重新开始平均”引数:指定VI是否重新启动所选平均过程。如重新开始平均的值为TRUE,VI重新启动所选平均过程。如重新开始平均的值为FALSE,VI不会重新启动所选平均过程。预设值为FALSE。 第一次呼叫该VI时,平均过程会自动开始。典型情况为:在平均过程中,主输入发生改变时,则会重新启动平均过程。

“窗”引数:用于设定时域讯号的加窗函式。预设值为Hanning窗。其支援的窗函式型别包括矩形窗、三角窗、高斯窗、Hanning (预设)、Hamming、Blackman-Harris、Exact Blackman、Blackman、Flat Top、4阶/7阶Blackman-Harris、Low Sidelobe、Blackman Nuttall、Bartlett-Hanning、Bohman、Parzen、Welch、Kaiser、Dolph-Chebyshev等。

“平均引数”引数:该簇用于定义如何进行平均值计算。包括平均型别、加权型别和平均次数的设定,详细说明如下图所示:

“检视”引数:指定用于返回VI不同结果的方式,详细说明如下图所示:

“幅度”引数:返回平均FFT谱的幅度和频率范围。详细说明如下图所示:

执行上面的程式,即可在软件前面板中看到,程式能够连续不断产生时域模拟讯号,并实时计算其FFT频谱资讯,将结果在波形图控制元件上进行显示。同时,在程式执行过程中可修改模拟讯号的引数以产生新的波形,也可以修改FFT分析中的如平均引数等资讯,修改后也会得到正确的频谱资讯。

总结

从这个例子中可以看出,在LabVIEW中实现讯号的模拟、分析处理及图形显示功能,相对于其它程式语言如C语言,由于LabVIEW中函式功能的高度封装性以及控制元件的丰富多样性,其程式设计难度大大降低了,对于复噪声号处理算法的验证及结果的图形显示提供了极大的便利性。

本文由编码那些事原创,请关注+转发+收藏+点赞,带你一起长知识!

2019-11-04 10:57:00

相关文章