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

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

当图线绘制完成时,鼠标释放,此时进行下图中的相应。即将布尔假值赋给指示灯控件,表示鼠标不再按下。同时保留之前绘制的图线坐标。

鼠标释放后,当点击绘制波形完成按钮时,响应值改变的事件,While循环中止,并把最终的坐标数组输出。

三、 算法说明

1、任意波形发生器的程序中算法部分比较少,主要是在选择手绘任意波形时要把获得的XY图中的坐标转换成能够输入给波形图的等时间间隔的波形数据。

首先,将根据手绘图线得到的数据通过一个For循环,打开自动索引隧道,在循环中按名称接触捆绑分别获得X值和Y值,循环次数即为初始数组的大小。For循环结束后即分别获得X、Y数组。利用X数组的最后一个元素减去第一个元素,即得到了手绘波形的时间长度,精度为0.01。然后再通过一个For循环获得等时间间隔0.1s,时间长度与手绘波形时间长度相等的数组。对于原始的X、Y数组利用插值,在获得的等时间间隔点上获得Y值,这样就获得了等时间间隔0.01s的波形数据,由于均匀白噪的时间间隔默认为1s,因此需要获取白噪的波形成分Y,再创建时间间隔为0.01s的白噪波形才能和插值得到的波形相迭加。

插值方式可以选择最近、线性、样条、拉格朗日等,各种插值方式不一样,但由于最后精度差别不大,信号发生器对精度也没有太高的要求,因此选择线性插值即可。

线性插值的原理如下:

2、在该任意波形发生器的程序中,当用到白噪信号的波形信号迭加的时候用到的都是元素同址操作。使用元素同址操作结构用于控制Labview编译器更高效地执行常见操作,以及提高内存使用效率。许多Labview操作要求Labview对数据复制并保存在内存中,因此降低了执行速度且增加了内存占用,使用元素同址操作结构有效避免了不必要的数据复制,改善了内存和VI的效率。

3、最终将生成的波形信号输出到实验室的硬件设备时用到DAQ助手,采用发生一段数据(硬件定时)的方式,生成模式选用N采样。(由于个人电脑上没有安装DAQmx,所以网络学堂上提交的程序中没有显示DAQ助手的部分,验收时已展示)。

四、 结果分析与总结

1、 实验结果

经典波形:

公式波形:

迭加噪声后: