C语言分析数组波形,基于LabWindows/CVI虚拟示波器的设计与实现

2)波形显示模块

设计采用LabWindows/CVI提供的Graph来显示波形,对于采集到的数据,存放在一个大小可调节的动态数组中,对该数据进行时域分析并画图显示。波形显示模块还包括AB通道波形的叠加,相减等基本运算。其实现方法就是利用C语言对数据元素的简单加减。

3)时域分析模块

时域分析包括A、B通道的自相关,AB通道信号互相关分析,AB通道的卷积,AB通道的李沙育图。相关运算设计利用LabWindows/CVI函数库中的Convolve()函数来完成。卷积是通过Correlate()函数来完成。图2左侧是AB通道的信号,其中脉冲信号可表示为:

20104819328958.jpg正弦信号可以表示为:x(n)=sin(k),0≤k≤1024,k∈Z图3右侧表示x(n)卷积u(k)的结果。其中横坐标表示采样点数共1024个点,纵坐标表示幅值。幅值增益1V/d,

20104819328601.jpg

4)信号调节模块

信号调节模块主要设计完成信号的垂直增益,垂直位移,水平增益的调节。设计的具体实现也是通过C语言对数组的操作实现。图4表示信号调节模块程序流程图。

20104819329513.jpg

5)存储模块

真实示波器由于存储硬件的限制,只能存储2~4个数据,而在在虚拟的数字存储示波器中,利用硬盘等存储介质,可以任意存取无限多个数据,而且存储更加安全。具体实现方法是:存储对被测信号取样,然后转换成数组,再将数组保存到文件中,读取时恰好相反,其工作流程如图5所示。

20104819329689.jpg

3 测试结果及仿真分析

按照LabWindows/CVI的设计流程,我们完成虚拟示波器的设计,并对正弦信号进行采样分析,结果如图6所示:

20104819329840.jpg

虚拟仪器的主要问题就是仪器的仿真,而仿真包括两个方面的内容,一个是仪器功能的仿真,另一个就是仪器外观及面板的仿真。本设计着重于仪器功能的仿真。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值