论文部分内容阅读
【摘 要】LabVIEW是美国NI公司研制的一个功能强大的虚拟仪器系统开发平台,具有直观界面、便于开发、易于学习且具有多种仪器驱动程序和工具的大型仪器系统开发工具。本文主要介绍以LabVIEW为开发平台进行频谱分析仪的设计过程,方便大家学习和掌握。
【关键词】LabVIEW 频谱分析仪 滤波
一、设计前提
首先参考传统信号频谱分析仪的测试功能,通过对所开发的虚拟频谱分析仪中的功能先进行逐步具体的分析,然后在由LabVIEW工具进行编程开发,根据测试仪器的需要及各测试功能之间的联系,择模块化的设计思想进行设计与开发。本测试仪器需要开发的软件功能模块包括:信号生成接收、数据处理、数据读取存储以及结果显示。
二、单元模块设计
(一)信号发生模块设计
在图形化编程语言 LabVIEW 的开发环境中,【信号处理】/【波形生成】里有非常多的子VI和波形生成单元,我们只要将实验中所需要的波形相对应的波形子VI分别放入一个选择结构的各个分支中,然后用一个波形选择板作为该选择结构条件端子的输入值来构成典型信号生成模块。在虚拟频谱分析仪的信号发生模块的设计中,我选择使用“条件结构”、“正弦波形发生器”、“高斯白噪声波形发生器”等进行组合,该模块的程序框图如图1所示:
(二)数据处理模块设计
虚拟频谱分析仪实现对信号进行傅里叶变换,LabVIEW工具在相应的模版中进行数据处理,以这种手段,用户就可以使用多种技术指标实现对相应数据的处理。一般在信号处理中常常会出现相应的一些需要解决的问题,如:白噪声的处理,主要应用的就是滤波器。在对待测信号进行分析处理时,也会常常遇到“栅栏效应”和“泄漏”问题,为了解决这些问题,在本单元模块的设计中,我选用窗函数达到预期目的。可以选择的窗函数有Hanning窗、Hamming窗、Blackman窗、Flat Top窗、Exact Blackman窗、Blackman-Nutall窗等。
三、频谱分析仪前面板及程序框图设计
频谱分析仪的前面板如图2所示。主要是通过显示控件显示信号发生模块中显示的信号图,通过信号的分析,通过滤波前后的变化进行比较,再通过观察加窗口找到具体存在的问题并进行相关问题解决。频谱分析仪的程序框图如图3所示。
程序调试
在程序的开发过程中虽然都是尽可能的避免一些问题的发生,但是在程序的内部难免会存在着一些较为隐藏的问题,在虚拟仪器编程的过程中会适当的对程序进行一定的调试,但是最根本的问题还是需要开发人员在程序开发的时候,更加的严谨、注重开发过程中的每一个细节点,设计好每一小步,尽量做大最大程度的减少模块内的错误,减少程序调试难度已经提高程序开发的效率。
参考文献:
[1]唐海峰,陈栋.2009.虚拟仪器应用设计. 西安:西安电子科技大学出版社
[2]陆绮荣.2006.基于虚拟仪器技术个人实验室的构建。北京:电子工业出版社
[3]李明生.2004.电子测量与仪器.北京:高等教育出版社
【关键词】LabVIEW 频谱分析仪 滤波
一、设计前提
首先参考传统信号频谱分析仪的测试功能,通过对所开发的虚拟频谱分析仪中的功能先进行逐步具体的分析,然后在由LabVIEW工具进行编程开发,根据测试仪器的需要及各测试功能之间的联系,择模块化的设计思想进行设计与开发。本测试仪器需要开发的软件功能模块包括:信号生成接收、数据处理、数据读取存储以及结果显示。
二、单元模块设计
(一)信号发生模块设计
在图形化编程语言 LabVIEW 的开发环境中,【信号处理】/【波形生成】里有非常多的子VI和波形生成单元,我们只要将实验中所需要的波形相对应的波形子VI分别放入一个选择结构的各个分支中,然后用一个波形选择板作为该选择结构条件端子的输入值来构成典型信号生成模块。在虚拟频谱分析仪的信号发生模块的设计中,我选择使用“条件结构”、“正弦波形发生器”、“高斯白噪声波形发生器”等进行组合,该模块的程序框图如图1所示:
(二)数据处理模块设计
虚拟频谱分析仪实现对信号进行傅里叶变换,LabVIEW工具在相应的模版中进行数据处理,以这种手段,用户就可以使用多种技术指标实现对相应数据的处理。一般在信号处理中常常会出现相应的一些需要解决的问题,如:白噪声的处理,主要应用的就是滤波器。在对待测信号进行分析处理时,也会常常遇到“栅栏效应”和“泄漏”问题,为了解决这些问题,在本单元模块的设计中,我选用窗函数达到预期目的。可以选择的窗函数有Hanning窗、Hamming窗、Blackman窗、Flat Top窗、Exact Blackman窗、Blackman-Nutall窗等。
三、频谱分析仪前面板及程序框图设计
频谱分析仪的前面板如图2所示。主要是通过显示控件显示信号发生模块中显示的信号图,通过信号的分析,通过滤波前后的变化进行比较,再通过观察加窗口找到具体存在的问题并进行相关问题解决。频谱分析仪的程序框图如图3所示。
程序调试
在程序的开发过程中虽然都是尽可能的避免一些问题的发生,但是在程序的内部难免会存在着一些较为隐藏的问题,在虚拟仪器编程的过程中会适当的对程序进行一定的调试,但是最根本的问题还是需要开发人员在程序开发的时候,更加的严谨、注重开发过程中的每一个细节点,设计好每一小步,尽量做大最大程度的减少模块内的错误,减少程序调试难度已经提高程序开发的效率。
参考文献:
[1]唐海峰,陈栋.2009.虚拟仪器应用设计. 西安:西安电子科技大学出版社
[2]陆绮荣.2006.基于虚拟仪器技术个人实验室的构建。北京:电子工业出版社
[3]李明生.2004.电子测量与仪器.北京:高等教育出版社