cvi吧 关注:164贴子:334
  • 0回复贴,共1

Namisoft基于LabVIEW的频谱分析仪

只看楼主收藏回复

摘要:Namisoft本文介绍了基于LabVIEW的频谱分析仪的设计和实现。整个系统由虚拟信号发生器模块和频谱分析模块两部分组成。虚拟信号发生器模块能够产生正弦波、三角波、方波、锯齿波等标准信号,并且可以叠加各种干扰噪声;频谱分析模块主要是对上述信号进行滤波和加窗函数处理,输出处理后的波形,同时进行时域分析、频域分析以及谐波分析。
关键词:LabVIEW;频谱分析
引言
Namisoft在开发自动化测试系统过程中,频谱分析仪是信号频域分析的重要工具,能提供时域观测中所不能看到的独特信号,如正弦信号的频谱纯度、非正弦波的频谱、谐波失真等,也是电子产品研发、生产、检验的常备工具,需求十分广泛。传统频谱分析仪价格昂贵、体积较大、功能固定,使其应用场合受到一定限制。虚拟仪器把测试技术与计算机技术结合起来,由软件实现信号采集、分析处理、结果显示等功能。图形化的程序设计编程简单、直观、开发效率高。随着虚拟仪器技术的不断发展,图形化的编程语言必将成为测试和控制领域内敲有前途的发展方向。
第一章 设计任务及思路
1.设计任务
(1)仿真产生各种信号,频率幅值可调;
(2)可以叠加各种干扰噪声;
(3)对上述信号进行滤波和加窗函数处理;
(4)显示输出波形,同时进行时域分析、频域分析及谐波分析。
2.设计思路
设计思路如下图1所示。

第二章 LabVIEW的简介
LabVIEW是一种程序开发环境,与 C 和BASIC 一样,LabVIEW也是通用的编程系统,有一个完成任何编程任务的庞大函数库。LabVIEW的函数库包括数据集、GPIB、串口控制、数据分析、数据显示及数据存储,等等。LabVIEW也有传统的程序调试工具,如设置断点、以动画方式显示数据及其子程序(子VI)的结果、单步执行等等,便于程序的调试。
LabVIEW是一种用图标代替文本行创建应用程序的图形化编程语言。传统文本编程语言根据语句和指令的先后顺序决定程序执行顺序,而 LabVIEW 则采用数据流编程方式,程序框图中节点之间的数据流向决定了VI及函数的执行顺序。VI指虚拟仪器,是 LabVIEW 的程序模块。
LabVIEW提供很多外观与传统仪器(如频谱仪、示波器、万用表)类似的控件,可用来方便地创建用户界面。用户界面在 LabVIEW 中被称为前面板。使用图标和连线,可以通过编程对前面板上的对象进行控制。这就是图形化源代码,又称G代码。LabVIEW 的图形化源代码在某种程度上类似于流程图,因此又被称作程序框图代码。
LabVIEW开发环境集成了工程师和科学家快速构建各种应用所需的所有工具,旨在帮助工程师和科学家解决问题、提高生产力和不断创新。
第3章 Namisoft关于虚拟频谱分析仪的前面板设计
前面板、后面板的设计分别如图2、图3所示。


图2

图3
Namisoft虚拟频谱分析仪前面板主要是由频谱显示器组成。这个程序放在一个大的While循环中,这个循环是由采样触发开关控件来控制,当控件输出的信号为真时,循环会一直持续下去,否者循环结束。最后将采集到的数值送到各种频谱分析模块,得出采集数据的动态变化量输出显示。
第4章 Namisoft关于频谱仪程控程序框图的设计
1.仿真信号的产生及各种干扰噪声的叠加
信号生成VI库里提供了两个信号生成Express VI可快速生成所需要的信号,它们分别是“仿真信号”和“仿真任意信号”。在这里采用“仿真信号”来仿真产生各种信号。
仿真信号Express VI的适用场合与基本信号的生成类似,可以根据指定参数生成正弦波、三角波、方波、锯齿波、直流信号等几种基本类型的信号。在框图上放入改VI后,弹出的配置对话框如图4所示。

图4
从对话框中不仅可以配置基本的信号类型、频率、初始相位、幅度、偏移量、采样率等参数,还可以选择是否叠加上某种类型的噪声,噪声类型同样也提供了多种常见类型可选,以及是否微移采样率以保证整周期采样。在这里选择添加噪声,来实现干扰噪声的叠加。
2.对信号进行滤波和加窗函数处理
(1)对信号进行滤波
滤波器分为模拟滤波器和数字滤波器两类。依靠软件实现的数字滤波器与模拟滤波器或硬件实现的滤波器相比,有着活性强、可靠性高、稳定性好等突出的优势,而且具有极低的成本优势。
数字滤波器可分为无线冲激响应(IIR)滤波器和有限冲激响应(FIR)滤波器两大类,两者划分的主要标准是系统函数对单位的样值的响应是否无线长。IIR滤波器具有幅频特性较平坦的特点,FIR滤波器则可以做到严格的线性相移。
LabVIEW中提供了数目众多的滤波器函数,无论是IIR滤波器还是FIR滤波器都可以实现,可传递的信号数据类型也包括波形信号和数组信号两种,可以灵活的调用。在这里选择IIR滤波器对信号进行滤波。输出结果如图5所示。

图5
(2) 对信号进行加窗函数处理
窗函数的作用包括截断信号、减少谱泄漏和用于分离频率相近的大幅值信号与小幅值信号。LabVIEW提供了多种窗函数,包括Hanning窗、Hamming窗、Blackman窗、Triangle窗、Flap Top窗、Force窗等等。对一个数据序列加窗时,LabVIEW认为此序列即是信号截断的序列,因此窗函数输出的序列与输入的序列的长度相等。
Namisoft此次设计对信号进行的加窗函数的处理选择用Hanning窗。原始信号与Hanning窗函数处理后的信号输出波形图如6所示。

图6
3.Namisoft频谱仪程控软件对信号进行时域分析、频域分析及谐波分析
(1)时域分析
时域信号分析函数有值交流成分检测、卷积、逆卷积、相关分析、微分、积分、尖峰捕获、门限检测和过度分析等。
本设计在对原始信号进行时域分析时,是利用自相关函数来检测信号中是否含有周期成分。如果信号中含有周期成分,则其相关函数衰减很慢且具有明显的周期。如图7所示,原始信号为一正弦波与噪声信号叠加而成,当噪声幅度与正弦幅度相当时,可以看到自相关函数的衰减很慢而且具有明显的周期性。如果使噪声信号幅度远大于正弦波幅度,从自相关函数中就很难看到周期成分了,因为正弦信号已经被噪声信号淹没了,如图8所示。

图7

图8
(2)频域分析
信号频域分析指将时域信号通过傅里叶变换等方法转换到频域上,然后进行分析。它的基本思想是将信号表示为一系列不同周期、不同相位的正弦信号的集合,从而将信号的频域信息展现出来。
在LabVIEW中有多个与FTT分析相关的VI。本设计在对信号进行频域分析时,采用FTT频域(幅度-相位)来分析所产生的原始信号。在使用Hamming窗情况下所得到的程序前面板和框图如图9所示。可以看出,相位频谱虽然比较杂乱,到幅度中很容易看出两个明显的峰值,频率位置也正好与正弦波的频率相对应。

图9
(3)谐波分析
对于自然界中采集到的正弦波信号,往往不是只含有基波频率的纯正弦波信号,而是带有二次谐波,三次谐波甚至高次谐波的复杂信号。这些谐波的存在有时会为系统的响应性能带来很大影响,所以需要进行谐波分析,测出信号中各次谐波分量的大小,为后续的信号处理过程做准备,如滤除、消弱某些次数的谐波等。
LabVIEW中为谐波和失真度分析方面的应用提供了一个功能完善的VI谐波失真分析VI。应用次VI对原始信号分析所得到的程序前面板和框图如图10所示。

图10
第5章 结束语
Namisoft本次设计研究了基于LabVIEW的频谱分析,我感觉这样的设计很实用,程序设计编程简单、直观、开发效率高,节约成本。通过本次虚拟频谱分析,希望大家对基于LabVIEW的程序设计有进一步的掌握。


1楼2019-11-27 10:21回复