论文部分内容阅读
随着仪器技术和计算机技术的发展,将仪器系统与计算机软件相结合制成虚拟仪器成为可能。虚拟仪器凭借其功能的灵活性和相对低廉的生产维护成本引发了仪器领域的一场重大变革。与此同时频谱分析仪作为近代信号分析的重要手段,被广泛的应用在各个领域。基于此,本课题设计了一个具有频谱分析功能的虚拟仪器软件。
本研究针对信号发生器、示波器、频谱分析仪三个虚拟仪表的可编程、可移植、可实现进行软件设计和开发。针对虚拟仪表软件的可移植性和高可靠性要求,使用Visual C++代替了成熟的商业软件LabView或Matlab。工作难点是根据信号处理的特点,自定义了一种波形处理脚本语言----WPL语言并用C++语言实现了其相应的解释器。利用此解释器,用户就能够根据WPL语言编写脚本代码,通过代码对虚拟频谱仪软件进行二次开发。其次对虚拟频谱仪进行软件需求分析和方案设计,给出快速傅里叶变换数字频谱分析仪软件的实现方案。对软件系统进行了详细设计,将其分为数据输入部分、数字信号处理部分和交互界面部分三大模块并针对各部分的功能进行了设计和实现。对FFT的算法及三种窗函数的特性进行了分析。利用MFC中的单文档/视图结构作为程序的基本框架,模拟实际示波器和频谱仪的前面板设计了频谱仪软件用户界面的各个视图类。设计了用于数据存储与处理的文档类,通过文档类将虚拟仪器的各个部分有机的结合在一起实现了具有可编程功能的虚拟频谱仪软件。最后,从基本显示部分、信号发生器部分、可编程部分对此虚拟频谱仪软件的功能进行了测试。测试结果表明软件能模拟真实示波器和频谱仪对信号进行分析显示;能模拟信号发生器生成方波、三角波、正弦波的单一信号或合成信号;且能根据用户编写的代码改变信号处理过程实现软件的二次开发。