虚拟示波器要点

来源:互联网 发布:php变量的作用域 编辑:程序博客网 时间:2024/04/27 23:11

用Labview的图表控件做逼真的虚拟示波器,我的解决方案如下:

1、CH1和CH2按钮功能,如果没有按下,将不显示该通道波形(连横线都没有,注意区分)。

解决:通过if实现,没有波形通过右键,创建常量实现(灰色的0)。

2、纵向的放大与缩小以及偏置。

解决:直接对波形作乘法或加法即可。

3、横向扫描时间的控制。

解决:根据上一篇文章的分析,可以有两种做法:变采样率或者变采样点数。而实际情况都是采样率一定,改变采样点数。但是,采样点数不要在信号发生器那改变,否则两个一起模块没法独立开来吗,会引起测量频率错误等一系列问题,应该在示波器端做采样点数的改变。

我尝试过两种方法:

第一种是示波器时间轴长度固定,然后隔几个点采一个点(以s为单位),通过旋钮确定间隔。实现如下:


 第二种是不改变采样间隔,而延长示波器时间轴,比如原来采集10s,我现在只采1s。通过改图表属性节点即可:


只要设置时间单位不显示,也可以达到改变横向扫描时间的效果。两种方法均可,我认为第二种方便点。

错误:不能通过改变图表属性中的缩放系数来实现改变扫描时间的效果,它只是对坐标起作用。被坑过。

4、测量功能。

解决:通过波形测量函数。我用了“提取单频信号”函数,测量频率没有问题,但是现在不知道为啥峰值一直测量错误。帮助文件中说道,测量的幅度是单频的幅度,因此碰到方波和三角波就会出错。换了个“幅值和电平测量函数,虽然是对的,但是似乎要求幅度不能为0,否则就有错误。这个还待研究。

5、数学运算功能,以加法为例。

解决:并不难,但需要注意保证两个波形的点数要一样才能做加法,可采取下图方法保证参与运算的两个波形点数相同:


6、观察频谱功能。

解决:可采取函数如下图。注意到数组和波形数据类型的转化是很灵活的。波形数据类型包含数组。


7、显示地线功能。

解决:注意区分显示幅度为0的波形和没有显示波形的区别。这次是一个黑0,剩下的都是灰色0。

8、保存波形功能。

解决:在文件io中找到“写入电子表格文件”函数可以实现。

后面可能有持续改进,待续...

0 0