龙空技术网

LabVIEW编程实例:如何产生仿真信号数据

编码那些事 631

前言:

此刻看官们对“仿真程序怎么写文档”大约比较关怀,看官们都想要剖析一些“仿真程序怎么写文档”的相关资讯。那么小编也在网络上网罗了一些关于“仿真程序怎么写文档””的相关资讯,希望看官们能喜欢,小伙伴们快快来学习一下吧!

问题引出

在LabVIEW中编写测试软件特别是做算法分析时肯定离不开测试数据,而测试数据的来源无外乎下面两个主要渠道:

1. 从硬件采集得到

2. 从软件仿真得到

但一般情况下对于整个系统(如数据采集分析系统)的设计,硬件部分工作往往要落后于软件部分的工作,但软件部分也不可能等硬件平台调试完成后才动工,这时候用于前期算法验证的数据来源就要依靠于软件仿真了。

在LabVIEW中表示测试信号的数据类型有数组、波形数据和动态数据三种,针对不同的数据形式,LabVIEW中也有三个不同层次的信号发生器函数,如下图所示:

这三种层次的函数都能产生基本测试信号,但其使用的难易程度和灵活性不同。其中,ExpressⅥ仿真信号发生器产生动态数据类型的信号,使用起来最简单,但限制比较多,如一些参数不能在程序中动态设置;普通信号发生器VI产生数组类型的信号,使用起来比较复杂,但更灵活,更接近于其它如C语言的编程方式;波形发生器VI产生波形数据,使用的复杂程度介于两者之间。

相对来说,波形数据是LabVIEW中最常用的一种方式。波形数据在本质上是由时间起始值t0、dt值(两个采样点的时间间隔)以及一维数组Y组合成的一个簇(对应于C语言中的结构体)类型,其物理意义是,对一个模拟信号x(t),从时间t0开始进行采样和A/D转换,采样率为fs,对应采样时间间隔dt=1/fs,数组Y为各个时刻的采样值。

对于波形数据的产生,LabVIEW中提供了非常方便的函数,在函数面板中位于“信号处理”-->“波形生成”子选板中,如下图所示:

下面通过一个简单的例子演示LabVIEW中仿真波形数据的产生方法。

实例说明

该例要求设计一个简易的仿真多波形发生器,能够产生常用的波形数据,包括正弦波、三角波、方波及锯齿波等常用信号,且可叠加均匀白噪声,在软件界面上可设置信号类型、频率、幅值、偏移量、采样信息等常用参数。软件运行主界面如下图所示:

程序框图实现

该例程序框图代码如下图所示:

程序代码较为简单,主框架采用while循环结构,每隔100ms刷新一次波形。主要调用了“基本函数发生器”及“均匀白噪声波形”函数,两者叠加实现,将前面板上对应的参数直接连接到函数中对应的参数即可。

其中,两个主要函数的参数说明如下图所示:

本例在前面板上仅设置了几个主要参数,对于其它的参数采用了默认值。另外,需要注意的是,两个函数的“采样信息”参数必须设置完全一样,才能保证信号叠加的正确性。

总结

这儿介绍了LabVIEW中如何产生常用波形测试数据的方法,对于其它复杂的波形,甚至自定义波形,LabVIEW中也提供了相关的函数,在程序中直接调用即可,大家可以查阅相关的帮助文档及参考示例。

如果这篇文章对你有用的话,请关注+转发+收藏+点赞吧。

本文由编码那些事原创,欢迎关注,带你一起长知识!

标签: #仿真程序怎么写文档