基于labview的虚拟信号发生器的设计
第1章虚拟信号发生器的结构与组成
1.1虚拟函数信号发生器的前面板
本虚拟信号发生器主要由一块PCI总线的多功能数据采集卡和相应的软件组成。
将它们安装在一台运行Windowsxp的PC机上。
即构成一台功能强大的函数信号发生器。
本虚拟信号发生器的设计参考了SG 1645功率函数信号发生器。
本函数信号发生器的前面板主要由以下几个部分构成:仪器控制按钮,输出频率控制窗口(包括频率显示单位),频率倍成控制,波形选择,频率微调按钮,直流偏置,方波占空比节,输出波形幅度控制按钮。
频率微调范围:O.1—1 Hz;直流偏置:一10—10V;方波占空比:0—100%;输出波形幅度:0—10V。
此外还增加了许多修饰性的元件如面板上的压控输入、记数输入、同步输出、电压输出等。
使用这些修饰性的元件的目的是为了增加仪器的美观性,并尽量与真实仪器的使用界面相一致。
图1-1 函数信号发生器的前面板
1.2虚拟函数信号发生器的硬件构成
本虚拟信号发生器的输入输出的硬件部分为一数据采集卡和具有一定配置要求的PC机,数据的输入输出靠对数据采集卡输出输入口的定义来实现。
本设计采用的PCI一1200数据采集卡是一块性价比较好的产品,具备数/模转换的功能。
能将产生的数字信号转换成模拟信号且数模转换精度高,而且还具备滤波功能,从而使输出波形光滑。
它支持单极和双极性模拟信号输入,信号输入范围分别为一5一+5V和0—10V。
提供l6路单端,8路差动模拟输入通道、2路独立的DA输出通道、24线的TTL型数字Ⅳ0、3个l6位的定时计数器等多种功能。
硬件接口部分用于数据输入或输出时的通道设置。
硬件接口部分程序框图如图1-2所示:
图1-2硬件接口程序图
Device用于指定所用的设备号.该设备号通过Measurment and Automation Exptorer 工具配置。
Waveform Length用于设定数据采集卡的缓冲区的大小。
Channel用于指定使用的设备的通道号(一般的数据采集卡具备多个输人输出通道)。
1.3仪器功能描述
本仪器功能主要包括四类函数信号一正弦波、方波、三角波、锯齿波的输出,频率的倍乘与微调相结合,以及实现输出波形的直流偏置、电压幅度的控制等功能。
具体指标如如表1所示
表1 函数信号发生器性能指标
输出波形四种波形正弦波、方波、三角波、锯齿波任
意选择
输出频率范围0.1~1KHZ
直流偏置-10V~10V
方波占空比0~100%
输出波形幅度0~10V
1.4 虚拟函数信号发生器的软件设计与实现
软件部分采用专业的LabVIEW6i图形化虚拟仪器开发工具。
虚拟函数信号发生器主要由软件完成输出波形信号的产生和输出信号频率的显示。
输出波形频率的变化的具体实现是将波形数据写入数据采集卡的缓冲区当中.通过设置缓冲区的更新频率(改变内部的时钟频率)
来实现输出数据频率的变化。
该过程主要运用了Labview中的数据采集子模块中的AO START 功能模块从实现功能的角度来说.本次设计的虚拟函数信号发生器的功能结构主要包括两大功能模块:波形产生模块(FG模块)和频率单位变化控制(DISPLAY)模块。
波形产生模块又调用FGEN模块。
FGEN模块为数字波形产生模块。
1.5 数字波形产生模块
波形产生模块是虚拟函数信号发生器软件的核心。
利用该模块可实现正弦波、方波、锯齿波、三角波等波形。
正弦波的产生原理是通过调用sinfx1函数来实现。
在本次设计,设计每一正弦波周期由1000点组成,利用类似C语言中的For循环为x赋值,这样执行一次For循环,便可以产生生成一个周期正弦波所需的数据,然后利用While循环,使程序反复执行,就可以连续输出正弦波形。
方波、锯齿波、三角波的产生原理与正弦波产生原理相近,都是通过数学运算来实现代表波形的数字序列。
与模拟信号相比,利用软件的方法产生的波形数字序列虽然存在着一定的误差,但只要一个周期内选的点数足够的多。
就可以使误差降到最低,对结果的影响最小。
利用软件产生波形的一个最大的优点是使仪器的成本大大降低,而且使仪器小型化,智能化。
其正弦波源程序如下图1-3所示正
图1-3正弦波源程序
可以通过界面的频率选型修改频率大小,通过幅值修改输出幅值大小,加入了停止按钮,其运行程序如图1-4所示可以通过Knob调整频率。
图1-4正弦波显示程序
其调整界面的如下图1-5所示,可以通过信号调整输种类,可以通过频率设定频率大小,同时,可以设计噪声等等项。
1-6 调整界面
其方波源程序如图1-7所示
图1-8方波源程序其方波显示程序如下图1-9所示
图1-9 方波显示程序其三角波源程序如图1-10所示
图1-11三角波源程序
其三角波显示程序如下图1-11所示
图1-12三角波显示程序其锯齿波源程序如图1-13所示
图1-13 锯齿波源程序
其三角波显示程序如下图1-14所示
图1-14 锯齿波显示程序
当输出频率动态范围较大时,用单个旋转按钮控制时,由于旋转一个很小的角度就会产生较大的频率变动,给频率的准确设置带来了较大困难,通过使用一个旋钮和频率倍乘相结合,可大大提高频率的输出控制精度。
为了提高频率的输出控制精度,在本次的设计当中,通过使用频率单位变化控制模块,使输出控制精度可达到0.001Hz。
该在该框图程序当中,实现了输出频率单位的变化。
其设计思路为:通过判断代表1000倍乘的按钮是否按下。
如按下.则其状态为“真”,即布尔值⋯1’,否则为⋯0’,通过判断条件查询所返回的值就可控制一个用于显示频率单位的显示型控件。
在频率单位变化控制模块中,使用了三个全局变量:frequencv Base、Signal Typ和Number of cyctes,用于向主程序传送产生的频率数据、频率倍乘控制信息和循环次数。
对于电子线路中所标称的噪声,可以概括地认为,它是对目的信号以外的所有信号的一个总称。
最初人们把造成收音机这类音响设备所发出噪声的那些电子信号,称为噪声。
但是,一些非目的的电子信号对电子线路造成的后果并非都和声音有关,因而,后来人们逐步扩大了噪声概念。
例如,把造成视屏幕有白班呀条纹的那些电子信号也称为噪声。
可能以说,电路中除目的的信号以外的一切信号,不管它对电路是否造成影响,都可称为噪声。
例如,电源电压中的纹波或自激振荡,可对电路造成不良影响,使音响装置发出交流声或导致电路误动作,但有时也许并不导致上述后果。
对于这种纹波或振荡,都应称为电路的一种噪声。
又有某一频率的无线电波信号,对需要接收这种信号的接收机来讲,它是正常的目的信号,而对另一接收机它就是一种非目的信号,即是噪声。
在电子学中常使用干扰这个术语,有时会与噪声的概念相混淆,其实,是有区别的。
噪声是一种电子信号,而干扰是指的某种效应,是由于噪声原因对电路造成的一种不良反应。
而电路中存在着噪声,却不一定就有干扰。
在数字电路中。
往往可以用示波器观察到在正常的脉冲信号上混有一些小的尖峰脉冲是所不期望的,而是一种噪声。
但由于电路特性关系,这些小尖峰脉冲还不致于使数字电路的逻
辑受到影响而发生混乱,所以可以认为是没有干扰。
当一个噪声电压大到足以使电路受到干扰时,该噪声电压就称为干扰电压。
而一个电路或一个器件,当它还能保持正常工作时所加的最大噪声电压,称为该电路或器件的抗干扰容限或抗扰度。
一般说来,噪声很难消除,但可以设法降低噪声的强度或提高电路的抗扰度,以使噪声不致于形成干扰。
第2 章总结
本文作者虚拟信号发生器通过LabVIEW图形化语言将计算机硬件资源与仪器硬件有机地融合为一体,从而把计算机强大的计算处理能力和仪器硬件的测量、控制能力结合在仪器,大大缩小了仪器硬件的成本和体积,并通过LabVIEW实现对数据的显示、存储以及分析处理。
因为虚拟信号发生器可与计算机同步发展,与网络及其他周边设备互联,用户只需改变软件程序就可以不断赋予它或扩展增强它的测量功能。
这就是说,一起的设计制造不再是厂家的专利。
虚拟信号发生器开创了仪器使用者可以成为一起设计者的时代,这将给虚拟信号发生器使用者带来无尽的利益。
Labview作为一个图形化编程软件,是开发测试系统的一种功能强大、方便快捷的编程工具。
其良好的相通性、开放性、专用性,使测试系统的开发周期短、成本低、质量高。
基于Labview的虚拟函数信号发生器具有机交互性好、易于操作等特点,能够广泛的应用与于科研、生产等领域.。