实验三 虚拟函数发生器的设计和虚拟示波器的使用
3.1 实验目的
1)了解并掌握如何使用虚拟仪器完成信号分析
2)了解 DAQ 的使用方法
3)掌握创建子 VI 的方法
3.2 实验要求
1)掌握一般函数发生器和示波器的使用方法
2)了解采样定理,频率混叠现象产生的原因和处理方法。
3.3 实验内容
1)利用 LabVIEW 设计一简易虚拟函数发生器。
该函数发生器具有普通函数发生器的基本功能:能够产生正弦波、方波和三角波。信号的幅度、频率、初始相位、直流偏移量、占空比(只对方波)可调。设计完虚拟函数发生器之后,利用 DAQ 和 NI ELVIS 设备,并通过示波器观察信号波形,记录相关数据进行比较,分析采样频率和采样点数对信号的影响。
2)使用 NI ELVIS 提供虚拟示波器观察信号函数波形。使用 NI ELVIS 实验平台上提
供的函数发生器产生信号波形,通过 DAQ 采集数据,利用虚拟示波器观察波形记录数据进行比较。
3)创建自行设计的虚拟函数发生器为一子 VI,可用于其他 VI。方法是鼠标右键点击窗口右上的图标,修改其中的 Edit icon 和 Show connector 两个属性。
4)选做:完成上述内容后可利用 LabVIEW 提供的自相关计算模块完成函数发生器输出波形的自相关计算,显示计算结果和相关波形。
3.4 实验过程
1)参考前面板设计如图 3.1 所示。添加采样频率和采样点数的控件,用于观察采样频率和采样点数对信号的影响。图中右上图标处用于创建子 VI。部分实验程序框图如图 3.2所示。这里需要强调说明的实验本身目的并不仅仅是去完成一个函数发生器的设计,而是通过设计了解 LabVIEW 的编程方法和信号分析。事实上,在 LabVIEW 中已经存在一个功能完善的基本函数发生器模块 (位于 Signal processing/Waveform Generation 中,如图 3.3 所示),在 Express VI 中也存在一个功能完善的函数发生器。图 3.3 所示的模块其实也是利用LabVIEW 中最基本的波形发生模块完成的,可以双击该模块看到该模块的程序框图,如图3.4 所示。可以注意到本次设计的程序框图 3.2 是图 3.4 的简化。LabVIEW 提供的基本函数发生器模块综合考虑了多种情况,设计较为复杂,而本次要求设计的一个简易函数发生器目的是让同学们了解 LabVIEW 编程中的一些基本方法,比如 case 结构的使用方法,LabVIEW中位于 Signal processing/Signal Generation 下的正弦波、方波和三角波产生模块的使用,以及 LabVIEW 的图像显示方法;并掌握如何利用 DAQmx 将设计的虚拟函数发生器产生实际输出的模拟信号(此部分要结合实验二)。 此外,其实本次设计要求利用的LabVIEW中位于 Signal processing/Signal Generation 下的正弦波、方波和三
角波产生模块也是一个子VI(相当与文本语言中的函数),双击也可查看其程序框图,如图3.5所示。该程序框图不可更改,本身是通过调用C语言编写的DLL实现。
2) LabVIEW 提供了各种信号发生子 VI,LabVIEW 8 版本中位于 Signal
processing/Signal Generation 下。以正弦波产生模块为例,该模块提供 5 个输入端,如图 3.6 所示。这里涉及采样定理的运用,此外还需说明的是在 LabVIEW 中模拟信号频率
是用赫兹或周期数/秒为单位,数字系统通常使用标准频率,所谓标准频率就是信号频率和采样频率的比值,单位是周期数/采样率,所以在仿真时对频率需要采取一定措施,这点非常重要,会对显示波形的周期产生直接影响。
4)有关子 VI 的创建,双击前面板图 3.1 中右上角的图标,会出现图 3.7 所示对话框。该对话框用于编辑 VI 的图标式样,事实上图 3.3 中的基本函数发生器模块及图 3.6 中的 SineWave 模块以都是该 VI 的图标。要完成输入输出端的设置可右击前面板右上角的图标并点击“显示连线端”完成输入输出端的设置。 LabVIEW 中创建的子 VI 的目的等同于 C 语言中的对函数的创建,用于其他 VI 的调用,有关调用方法将在实验四中介绍。
5)有关 case 等一些 LabVIEW 编程的方法,请参照 LabVIEW 的有关书籍和 LabVIEW的帮助。 LabVIEW 编程的入手其实相对文本语言要容易的许多, G 语言更直观,而且能够即时编译程序语言,用户在编写程序时能够及时注意了解到程序错误之处。
6)选做内容是对相关计算模块的使用,主要是为实验六服务的(利用信号的相关性与自相关完成通频信号相位差的计算)。 相关计算模块位于“信号处理/信号运算”中,相关计算的定义和意义请参考有关书籍。
7)关于 DAQmx 连接的问题,以及利用 NI ELVIS 提供的虚拟滤波器观察本次设计的虚拟函数发生器的波形的方法及注意事项参照实验二与相关书籍资料。
3.5 实验结果
通过LabView自带的波形生成VI,可以方便快捷的产生指定的波形,并通过示波器进行显示。但需要注意的是,在信号生成选板中“正弦信号”和“正弦波”非常相似,但具体
用法略有差异,程序实现也有所不同。
选择框初始只有“真”、“假”选项,需要通过属性中手动输入选项值才能正常工作。
正弦波发生器只是产生了一列离散的正弦数据,没有具体的时间和周期,因此要引入采样点数和采样频率实现波形显示时的周期时间显示。
因篇幅问题不能全部显示,请点此查看更多更全内容