基于LabWindowsCVI环境下信号发生器的研发摘要:本文主要研究采用虚拟仪器技术设计产生正弦波,方波,三角波,随机噪声四种波形的信号发生器。在LabWindows/CVI环境下,操作者通过鼠标和键盘等计算机输入设备操作软面板上的控制按钮,实现信号发生器的功能。面板以数值填空,文字表述的形式注释按钮,直观、大方地呈现在计算机屏幕上,免去了传统仪器的复杂旋钮式按钮,避免了手误造成的数值选择不精确的情况发生。本设计可通过改变面板上的数字按钮的步进,实现波形的微调。关键词:虚拟仪器信号发生器LabWindows/CVI中图分类号:TN79文献标识码:A文章编号:1007-9416(2014)03-0065-021绪论虚拟仪器(VirtualInstrument简称VI)是电子测量仪器与计算机技术深层次结合后产生的全新仪器结构概念。虚拟仪器的出现使二者之间的界线消失。它强调软件的作用,提出了“软件就是仪器”的概念,这是现代电子测量仪器领域发展的重要方向,应用前景广阔。信号发生器是科研实验、产品性能测试等许多领域中必不可少的测试仪器。传统信号发生器输出波形精度不高,频率范围小,使用功能单一,采用个人计算机进行信号测试和分析成为一个新的发展方向。虚拟信号发生器就是使用个人计算机,通过图形界面来模拟数字信号发生器的操作和功能,实现信号发生的仪器。2虚拟信号发生器的设计2.1原理框图虚拟信号发生器系统由:电源开关、选择波形、输入波形参数、显示、清除波形、退出面板及参数出错自动提示几个部分构成。本设计采用了基于LabWindows/CVI编程的虚拟仪器技术,它充分利用了计算机的良好人机对话界面,通过计算机的输入设备操作虚拟仪器的软面板上的控键按钮,如同操作信号发生器实体一样。2.2信号分析与计算本设计主要功能是实现正弦波、方波、三角波、随机噪声四种波形的波形显示。虚拟仪器利用计算机强大的绘图功能,采集到正弦波、方波、三角波等周期连续性信号特有的参数:幅度、采样频率、初相位、占空比等数值,对连续信号进行抽样后,通过数字信号处理,绘制出波形。以正弦波信号的计算为例说明:正弦波的计算公式:X(t)=Asin(ωt+)。这一信号的频率为f,角频率为ω=2f,信号周期为T=1/f=2/ω。将连续信号在一个2周期内,取1000个离散点,对其幅度值进行量化,对于奇函数,其傅里叶级数只能用正弦项表示,即有:X(k)=Asin(2k+)(0≤k1000)本设计中引用了采样频率p。采样频率是在数字信号处理中,为使连续信号不失真地显示而产生的。在奈奎斯特抽样定理中讲到:“要想抽样后能够不失真的还原出原信号,则抽样频率必须大于两倍信号谱的最高频率”[3],即p2。采样频率p默认为1000/s,每秒钟抽取1000个连续信号的幅度离散值,并且显示一个2周期的波形,则该数字信号的周期可以表示为T=p/f。于是可以将公式写成:X(k)=Asin(2/p×k+)(0≤k1000)式中,k的范围是[0,1000)可以求出1000个离散值,形成数据表,以备计算驱动程序调用。A是正弦波的幅度,取值范围[0.00,20.00],单位为V。一般在微电子领域的测量中,电信号的幅度在5V,12V,24V等电压幅度很小的范围的内,所以幅度选择了0.00V~20.00V。幅度的精确度为百分位。当测量需要时,可改变幅度控件的步进和数据类型(浮点型float)来达到,并且可以通过这种操作来实现虚拟信号发生器的微调。是波形的显示更加精确、清晰。这是传统仪器所不具备的灵活性之一。是信号频率,取值范围(0,1000000],单位为HZ。周期单位为ms。采样点的选取由“面板”输入。考虑到虚拟仪器不仅可以产生任意的信号,还可以扩展功能,比如作为示波器以及频谱分析仪等。其值得大小可以由用户输入,这是作为本设计在后期做扩展功能而考虑的。是信号初相位,取值范围[0,2],单位为弧度。操作者可以通过波形图观看产生的信号波形。以正弦波波形为例,如图1。2.3软件编写本设计需要在LabWindows/CVI软件下进行编程。通过该软件生成的回调函数中添加消息处理代码,以实现虚拟仪器的功能。以正弦波为例,编写程序如下:doublewaveData[10240];doublephase1;inti;switch(event){caseEVENT_COMMIT:phase1=phase*180/PI;phase_1=&phase1;switch(wave_type){case1://显示正弦波;for(i=0;icaiyang;i++){waveData[i]=sin(2.0*PI*wave_fre/caiyang*i+phase)*wave_amp;}break;3结语此虚拟信号发生器操作简单,显示直观,可同时查看信号类型,频率和幅值,总体性能优于传统的信号发生器,有很好的发展前景。事实上由于该信号发生器充分利用了计算机硬件资源丰富和软件灵活性好、功能强,以及成品PC模板市场化等特点,为其功能的扩展或修改提供了便利的条件。当然。虚拟仪器最大的用途是实时的采集数据,并分析和处理信息,再输出结果。应该说本设计只是虚拟仪器应用的最底层,简单的代替了传统仪器。参考文献[1]孙晓云,郭立炜,孙会琴.基于LabWindows/CVI的虚拟仪器设计与应用[M].北京:电子工业出版社,2005:96-112.[2]杨毅明.数字信号处理[M].北京:机械工业出版社,2012:5-362.[3]王建新.LabWindows/CVI虚拟仪器测试技术及工程应用[M].北京:化学工业出版社,2011:2-547.[4]应怀焦.虚拟仪器的过去、现在和未来.信息导报[N],2003:5-23.[5]谭浩强.C语言程序设计第四版[M].北京:清华大学出版社,2010:2-174.[6]林占江,张乃国.电子测量技术[M].北京:电子工业出版社,2003:296-320.