基于LabVIEW的任意波形发生器(含全部程序截图) 联系客服

发布时间 : 星期一 文章基于LabVIEW的任意波形发生器(含全部程序截图)更新完毕开始阅读956ab977a26925c52cc5bfe5

虚拟仪器课程设计报告

一、 综述

1、 信号发生器的发展

信号发生器是一种能够提供一定波形、频率和输出电平的信号源设备。40年代开始出现用于测试各种接收机的标准信号发生器。60年代出现了函数发生器,其多采用模拟电子技术,由分立元件或模拟集成电路构成,一般仅能产生正弦波、方波、锯齿波和三角波等几种比较简单的波形。由于模拟电路漂移问题的存在,其输出稳定性较差,同时要产生较为复杂的信号也比较困难。70年代以后开始出现微处理器,利用微处理器、模数转换器等,使得较复杂波形的产生容易了很多。

信号发生器的种类繁多,按输出波形可分为正弦信号发生器、脉冲波信号发生器、函数发生器等等。按产生频率的方法又可以分为谐振法和合成法。

2、 基于虚拟仪器的信号发生器

虚拟仪器与传统仪器相比有很多优势。就信号发生器而言,利用虚拟仪器可以很轻易地实现对信号的处理,仪器的功能能够根据需要随时进行适当调整,容易进行调试,而避免了传统仪器面临的不断更新换代的问题。同时,虚拟仪器的前面板与传统仪器相比对用户更加友好,使用起来更加清晰。

就信号发生器而言,利用虚拟仪器进行设计可以更加轻易获得所需信号,例如不具有明显周期规律的任意波形。同时,在硬件采集信号设备完好的情况下,很有效的避免了传统信号发生器的波动不稳定性。

3、 任务描述

本次课程设计利用Labview8.5以及实验室的信号采集设备,实现任意波形发生器的功能。该信号发生器除了能够产生正弦波、方波、三角波和锯齿波四种典型波形,还能根据输入的公式产生公式波形,幅值、频率等均可以调节。同时,还实现了通过手绘实现任意波形的输出。输出的信号均可以与幅值可调的均匀白噪声进行迭加。

二、 程序说明

1、 整体流程

该任意波形信号发生器的整体流程如下:

波形类型选择

波形属性设置 波形信号产生 波形信号输出 2、 程序具体说明

1、 外层条件结构

该程序最外层用条件结构实现波形类型的选择。共有正弦波、方波、三角波、锯齿波、公式波形和手绘任意波形六种波形类型,用一个文本下拉列表选择,将选择结果传给条件结构的分支选择器,选择与所选波形类型相对应的条件分支进行执行。

2、波形属性设置

波形设置属性包括四种经典波形的幅值,频率,相位设置,方波的占空比设置,公式波形的波形公式规律输入,经典波形和公式波形的采样信息设置(决定产生多长时间的波形)以及包括手绘任意波形在内的所有波形迭加均匀白噪声幅值的设定。

2、 经典波形与公式波形的产生

由于在程序设计上,经典波形和公式波形的产生几乎相同。因此这里选取方波为代表介绍。

在方波所对应的条件分支中,调用自带的方波波形VI,分别将设置的波形属性频率、幅值、相位、采样信息输入到方波波形VI,同时通过自带的均匀白噪声波形VI产生设定幅值的白噪与产生的方波波形迭加(本程序中信号的迭加用到元素同址操作,在算法说明部分会详细说明)。迭加后的信号作为条件结构的输出,即最终的信号。

3、 手绘任意波形的产生

信号发生器的前面板见上图。当选择手绘任意波形时,需要现在左面的XY图中利用鼠标画出所需波形,点击完成按钮后最终输出波形在右侧的波形图中显示。

手绘任意波形波分对应的条件分支程序如下:

手绘波形过程中数据的获取是利用基于While循环的事件结构。其中结构共响应5种事件。分别是超时,鼠标按下,鼠标移动,鼠标释放和值改变(对应绘制波形完成按钮)。

选择了手绘任意波形后,当鼠标进入XY范围并且按下鼠标时,与这一事件对应的响应时将布尔真值赋给前面板上的布尔输入控件。因此,设置改指示灯的目的是反映鼠标是否按下,同时其属性节点在其他事件分支中也会被使用到。

当鼠标移动时,执行下面的响应。将获得的鼠标实时的位置通过坐标至XY映射函数转

换成XY图上的坐标值,其为一个含有X、Y值两个元素的簇。再利用数组插入函数,不断地将获得到的鼠标新的位置加入数组,组成的数组在While循环结束后输出,并打开While循环的移位寄存器,这样就可以使得数组保存之前鼠标走过的路线。

在这里,一个比较重要的问题是确保每次获得的新的鼠标位置的X值是不断增大的,即手绘图形的时候不能往回画。为了解决这一问题,只需将获取到的即时鼠标X值与上一X值比较即可,然后用逻辑与,确保只有在X增大和鼠标按下(用到布尔控件的属性节点)同时满足时,才会将得到的即时鼠标位置作为新元素加入到坐标位置数组中。具体是利用数组大小这一函数获得目前坐标位置数组的元素个数,由于数组的元素索引是从0开始,因此将获得到的数组大小减1即为最后一个元素的索引,由于坐标元素都是簇的元素,因此将其按名称接触捆绑获得X坐标,同时也将即时的坐标按名称接触捆绑获得即时X坐标。然后将两者进行大小比较,当满足X增大时得到真值输入到逻辑与中,再将逻辑与的输出接到条件结构的 分支选择器,当为真时,则将新获得的即时坐标值作为新元素加入到数组中。将得到的数组赋给“值”,即实现移动鼠标的同时在XY图中绘出图线。