首页 文学文摘 时政新闻 科技科普 经济法律 健康生活 管理财经 教育教学 文化艺术 社科历史

基于LabVIEW的信号发生器的设计

作者:屈尔庆 来源:现代电子技术


  摘 要:传统的信号发生器其功能完全靠硬件实现,功能单一而且用户的购置、维护费用高。更重要的是,对于传统的信号发生器,其功能一旦确定便不能更改,用户要想使用新的功能则必须重新购买新的仪器,传统信号发生器的不足显而易见。这里研究的虚拟信号发生器可以接收输入信号并产生多种输出信号,信号输出频率、幅度等参数实时可调。 主要具有如下优点:用户可自由定义其功能;系统功能升级扩充方便快捷。
  关键词:虚拟仪器; 信号发生器; LabVIEW; FFT
  中图分类号:TP391 文献标识码:A
  文章编号:1004-373X(2010)11-0106-02
  
  Design of Signal Generator Based on LabVIEW
  QU Er-qing
  (Tangshan Steel Co. Ltd., Tangshan 063009, China)
  Abstract: The functions of the traditional signal generators are carried out solely on hardware. Only one of its functions can be set at the same time and can not be altered once they are fixed. The cost of the generator for purchasing and maintaining is high. Therefore, the virtual signal generator was developed. It can achieve the input and output of multi signals, and its parameters such as signal output frequency and amplitude can be adjusted timely. The advantages of this virtual signal generator are that the users confine the functions of the generator and the upgrading and enlargement of the systematic functions are convenient.
  Keywords: virtual instrument; signal generator; LabVIEW; FFT
  
  0 引 言
  信号发生器是许多电子设备特别是测试设备必备的一部分,用以输入基准源信号给被测设备,通过接收被测设备返回的信息,分析研究被检测设备的情况。衡量或评定一个信号发生器的精度时,主要是对其中最基本和最重要的部分即正弦信号进行检测。检测正弦信号性能的重要指标是频率准确度和频率稳定度、信噪比和谐波畸变。
  编程对工程技术人员来说比较麻烦,LabVIEW软件用图形编程语言,直观简单、易于操作。用户使用LabVIEW可以随意创建程序,并把它当作子程序调用,以创建更复杂的程序,且调用的层次没有限制LabVIEW这种创建和调用子程序的方法,使创建的程序结构模块化,更易于调试、理解和维护。同时,LabVIEW能够虚拟很多常规仪器,通过计算机仿真完成不同的功能,这样既可节省设备投人的开支,又提高了效率。因此,基于LabVIEW实现多功能信号发生器具有重大意义。
  1 信号发生器的软件设计思路
  设计一个虚拟信号发生器首先要进行前面板的设计,前面板的设计主要需要考虑到所设计的信号发生器实现什么功能,再根据这些功能,在控件选板中选择相应的控件,放在前面板相应的位置上,摆放也有一定的讲究,使前面板看起来比较协调。再者是后面板的设计。后面板的设计要用到函数模板,根据本程序需要实现的功能,在函数选板中选择相应的函数,由于程序不是只执行一次,所以要涉及到循环结构,本文的程序用到的循环结构有while循环结构、条件结构。程序调试成功后就产生一个虚拟信号发生器。
  2 信号发生器的前面板设计
  首先应该添加三个波形显示窗口,前面两个窗口用于显示两路基本信号的显示,并为前两个窗口分别配置两个旋钮,用于控制信号的幅值和频率,再分别为这两个窗口配置一个下拉菜单选择控件,用于选择信号的类型,可供选择的信号类型有正弦波、三角波、方波和锯齿波。第三个窗口用于显示信号的功率频谱,并且为第三个窗口添置两个下拉选择框,用于选择窗和滤波器,可以进行加窗和滤波。最后,为了可以方便观察信号,必须设置一个停止按钮,可以方便地控制和观察静态的信号波形。为了方便记录数据,可以在信号波形显示的上方添加一个空白的框,在框中记录实验的数据。信号发生器的前面板设计如图1所示。
  图1 信号发生器的前面板
  3 信号发生器的后面板设计
  由于本文设计的信号发生器可以显示信号的功率频谱,所以需在程序框图中添加一个快速傅里叶变换控件。由于需要加窗和滤波器,因此必须在程序框图中添加两个循环结构,这两个循环结构分别用于加窗的控制和滤波器的选择控制。由于有两路信号,所以在while循环中,添加两个窗和两个滤波器,可供选择的窗有uniform,Hanning窗,Hamming窗,Blackman-Harris,Exact-Blackman,Blackman,Flattop和4 Term Black-Harris。可供选择的滤波器有Butterworth和Chebyshev。两个循环结构的输出分别接至FFT功率谱模块,FFT功率谱模块的主要作用是计算时间信号的平均自功率谱。连接至时间信号输入端的数据类型决定使用哪个多态实例。FFT功率谱模块的输出,用数组模块连接至波形显示窗口中,这样,就可以在第三个窗口中显示信号的功率频谱。为了方便记录数据,可以在程序框中添加一个字符串函数,可以在前面板中,显示一个空白的框,用于记录实验时需要记录的数据。
  4 信号发生器的程序框图
  信号发生器的程序框图如图2所示。
  图2 信号发生器的程序设计
  5 结 语
  设计的信号发生器可以实现在两个波形显示窗口中分别显示两路信号,信号的相位和幅值可调,在第三个波形显示窗口中显示信号的功率频谱。通过基于LabVIEW软件所设计的信号发生器证明了虚拟仪器具有强大的仪器设计功能。
  
  参考文献
  [1]刘君华,贾惠芹,丁晖,等.虚拟仪器图形化编程语言LabVIEW教程[M].西安:西安电子科技大学出版社,2007.
  [2]McQuiston.Virtual instruments for use in test systems development[C]// Proceedings of the IEEE Systems Readiness Technology Conference\: IEEE, 2003.
  [3]赖欣.虚拟现实技术在教学中的应用[J].四川工业学院学报,2003(2):50-52.
  [4]杨平乐,李海涛,赵勇,等.LabVIEW高级程序设计\.北京:清华大学出版社,2003.
  [5]张凯,郭栋.LabVIEW虚拟仪器工程设计与开发[M].北京:国防工业出版社,2006.
  [6]师黎.虚拟仪器技术在实验室建设中的应用研究[J].郑州工业大学学报,1999(2):30-32.
  [7]侯国屏,叶齐鑫.LabVIEW编程与虚拟仪器设计\.北京:清华大学出版社,2005.
  [8]蔡国英,张宏群.基于LabVIEW的信号产生与分析系统[J].国外电子测量技术,2007(6):12-14.
  [9]袁渊,古军.虚拟仪器基础教程[M].成都:电子科技大学出版社,2002.
  [10]邓焱,王磊.LabVIEW 7.1测试技术与仪器应用[M].北京:机械工业出版社,2004.