虚拟频谱分析仪的设计
扫描二维码
随时随地手机看文章
0、前言
频谱分析是信号处理中非常重要的分析手段,通常的频谱分析主要依靠传统的频谱分析仪来完成,但这种频谱分析仪价格昂贵,体积庞大,功能单一。采用先进的虚拟仪器技术设计的虚拟频谱分析仪彻底的改变了传统频谱分析仪的不足,用软件来代替硬件,用户可以根据具体情况通过修改软件来增加仪器的功能,使仪器功能更加强大,设计更加灵活,节省了开发时间,成为频谱分析仪的发展方向。
1、虚拟频谱分析仪的功能
虚拟频谱分析仪是以信号调理电路、NI公司的PCI-6024数据采集卡,PC机为硬件开发平台,以LabVIEW为软件开发平台开发的频谱分析系统。本课题设计的虚拟频谱分析仪是通过信号调理电路、数据采集卡组成的外部数据采集系统,对所采集到的外界信号进行频谱分析。当外界被测信号传送到信号调理电路,由信号调理电路对它进行放大、滤波、隔离等处理。经过数据采集卡采集,最后由软件对测试信号进行频谱分析和处理,得到测试结果,并按要求显示或储存结果。虚拟频谱分析仪提供了一个强大的频谱分析功能,并且能够同时观察输入信号的时域和频域显示,用户可以通过改变采样速率和数据长度来选择频率分辨率,在虚拟频谱分析仪中通过程序可以直接读出并在面板上显示基波频率和峰值大小,用户可以参考这个值,手动调整采样速率的大小和显示图形中X,Y轴的坐标来观察所需要的频谱图,这样使得操作更为直观,简便。
2、虚拟频谱分析仪的硬件设计
虚拟频谱分析仪的硬件主要包括了NI公司的PCI-6024数据采集卡以及通用PC机。
2.1、数据采集卡
本系统中使用的NI公司的数据采集卡PCI-6024,此卡设计基于PCI总线。由于PCI 总线传输速率高,数据吞吐量大,是数据采集卡设计的主流,它是一块性价比较好的产品,支持DMA方式和双缓冲模式,保证了实时的信号不间断采集与储存。它支持单极性和双极性模拟信号输入,信号输入范围分别为-5v~+5v和0~10v。提供16路单端/8路差动模拟输入通道,2路独立的D/A输出通道,24线的TTL型数字I/O,3个16位定时计数器等多种功能。实际测量是输入信号通过BNC接头从输入端子进入数据采集卡进行数据采集,同时用NI公司提供的Measurement Automation软件进行简单的设置便可完成系统软件与数据采集卡之间的通讯。
3、虚拟频谱分析仪的软件设计
虚拟频谱分析仪软件设计,是运用图形化编程语言LabVIEW为软件开发平台,在程序的开发过程中运用模块化的设计思想,根据所需的不同功能,分别组建数据采集和参数设置、频谱分析、数据读取存储和传输等各种功能模块,最后再集成和调试,设计出功能强大的虚拟频谱分析仪。它的软件模块如图1所示。
图1 虚拟频谱分析仪的各软件模块
3.1、数据采集和参数设置模块
数据采集模块的设计采用了子VI AI Acquire Waveform .vi来控制PCI-6024数据采集卡进行数据采集,把采集进来的数据进行频谱分析。在参数设置部分主要包括:设备与通道设置,缓冲区大小的设置,采样点数的设置,触发控制,扫描率设置,显示方式的设置。
3.2、频谱分析模块
频谱分析模块的设计是本系统软件设计的核心部分,它需要完成加窗处理、功率谱转换、功率谱单位转换、频率峰值检波、谐波峰值点测量等诸多功能模块来组成。
加窗处理模块是由Scaled Time Domain Windows.vi模板来实现,该模板有两个输入端,两个输出端,从信号输入端输入一个时域信号,再进行窗体类型的选择,根据实际的情况,可以选择汉宁窗,海明窗,布莱克曼窗,平顶窗等8种窗体,处理后输出一个加窗后的时域信号输出,以减少窗口效应带来的栅栏效应和泄漏问题。
功率谱转换模块用Auto Power Spectrum. vi模板来实现,该模块有四个端口,分别是时域信号输入端,时域间隔dt输入端,频域信号输出端,频域间隔df输出端。该模块的功能是实现信号由时域向频域的转换。
功率谱单位转换模块由Spectrum Unit Conversion.vi 模板来实现,该模块有7个输入端,2个输出端。输入端有频谱类型的选择,可以选择功率谱,幅度谱,增益。对数/线性的选择,可以选择线性,dB,dBm。输出显示单位选择,可以选择的单位是有效值,峰峰值,有效值的平方,峰峰值的平方等。输出端是输出频谱,输出频谱单位。
频率峰值检波子模块是由Power&Frequency Estimate.vi 模板来实现,该模块有5个输入端,2个输出端。输入端有功率谱输入端,峰值频率输入,频率间隔,以峰值频率为中心的频率搜索点数,窗常数。输出端由频率峰值输出,频率峰值能量的输出组成。该模块用来求出频谱的峰值频率及峰值频率点的功率估值。显示模块的设计可以选择频谱曲线显示或时域信号显示,还可以根据需要进行线性或对数显示。
谐波峰值点测量模块的设计,可读出一次谐波,二次谐波,三次谐波峰值点的频率值和功率值。
3.3、数据读取存储和传输模块
数据存储模块的主要功能是将显示器上显示的图像所对应的时域数据存入二进制文件,将与采集数据有关的参数:平均次数、数据 长度、分析带宽、触发点采样点、采集时间等存入与数据文件同名的文本文件中,便于数据读取模块和用户使用。
该模块的设计是利用LabVIEW中有丰富的文件操作函数库,可以方便地进行文件的读写操作。LabVIEW读写文件的过程为:打开一个文件——按一定格式进行读写内容——最后关闭文件。在数据读取模块中用到的主要函数分别是:打开文件函数、读文件函数、关文件函数。而且此虚拟频谱分析仪也可以通过Web发布HTML文件,可以使本地或远程计算机浏览此频谱分析仪的程序面板,从而可以实现远程监控的功能。
组建好的各功能模块按照程序的流程加上必要的控件和显示器,就可以将它们集成到一起,形成一个功能完善的虚拟频谱分析仪。
4、虚拟频谱分析仪的功能测试
虚拟频谱分析仪可以选用通用函数信号发生器(EM1634)进行测试。该信号发生器可以自由设置输入信号的波形类型、频率及幅值。时域信号的频谱分析可以通过观察虚拟频谱分析仪面板上的显示与理论计算值的比较来判断正确与否,以此来验证虚拟频谱分析仪模块的设计是否正确。实验结果表明虚拟频谱分析仪显示的信号相当稳定,输出频谱分量明显,与理论计算值相当符合,从而验证了本程序编写的正确性,完全可以满足实际应用的需要。
5、结束语
本文介绍了虚拟频谱分析仪的开发全过程。其中包括硬件与软件部分的设计,最后通过实验证明此系统的性能相当优良。当然,用户可以根据实际工程中的需要去添加新的测试功能,扩展与外部的接口,实现更高的要求。
6、本文作者创新点
虚拟频谱分析仪的设计采用了先进的虚拟仪器技术,提高了系统的测试精度,增加了测试功能,增强了仪器的灵活性,节省了开发时间,大大的降低了开发成本。