完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
随机数多用于仿真过程中,labview作为一种编程语言,特别适合于仿真过程,因此,与常规语言不同,直接提供了多种创建随机数和随机数序列的方法。但是由于侧重点的不同,LABVIEW在多个函数选板中,提供了多种不同的函数,下面大概总结一下。
一、伪随机数发生器 在LABVIEW数值函数选板中,提供了一个随机数发生器函数,返回一个0-1之间的伪随机数。常规语言中都提供了类似的RAND函数,LV的帮助文件中对该函数没有细节方面的描述。 该函数与常规语言的RAND函数也有不同之处,常规语言的RAND函数一般可以自行选择种子,对于相同的种子,执行相同的算法,因此会返回相同的随机数。 默认的种子通常是系统时钟,估计LABVIEW也是如此。但是LABVIEW函数内部可能是在首次调用时使用系统时间作为种子,再次调用时可能内部使用了前一次的结果作为种子,因为接近相同时刻函数不会返回相同的随机数,如下图所示。 二、任意范围的随机数发生器 LV提供的随机数发生器返回的0-1之间的双精度随机数,实际应用中经常需要的是指定范围的随机数,这可以通过简单的线性运算实现,如下图所示。 三、均匀白噪声 均匀白噪声是一组离散的随机数,随机数的平均值为0,随机数序列的预期标准偏差µ = E{x} = 0 通过LV的随机数发生器,可以很容易生成这样的序列,满足均匀白噪声的标准,如下图所示: LV在信号生成函数选板中专门提供了几种随机数序列发生器,包括均匀白噪声、周期性随机噪声、高斯噪声、二项式分布的噪声等等,如下图所示。 信号生成模板的几种噪声生成函数使用方法十分类似,下面以均匀白噪声为例,重点分析一下它的用法。 均匀白噪声生成信号函数使用非常简单,但是特别要注意种子和初始化输入端子的用法,该函数可以设置种子值,为-1时表示使用内部随机种子。内部随机种子调用的是基本的随机数发生器函数,由于基本的随机数发生器函数使用内部时钟作为种子,所以使用默认随机数种子时,均匀白噪声实质上是系统时钟相关的。 初始化端子如果为TRUE,每次调用时都可以更新种子值,如果为FALSE,则连续调用时使用前一次生成的种子值,看一下该函数的程序框图。 在给定种子时,因为遵循同样的算法,所以相同种子值返回的随机数序列是相同的,如下图所示: 三、正态分布随机数序列 所谓正态分布随机数序列,就是要求随机数序列必须满足平均值和标准方差的要求,并呈正态分布。 伪随机序列的期望均值µ和期望标准偏差µ = E{x} = 0 = [E{x – µ}2]1/2 = s 伪随机序列产生约290个采样后才会出现重复。 下面创建一个正态分布随机数序列,并计算它的均值和标准方差。 信号生成选板中还提供了其它几种噪声函数,这里就不再详细讨论了,下一篇文章中介绍波形函数选板中的几种随机数发生器,以及概率函数选板中的随机数发生器,这些随机数发生器都是以信号噪声函数为基础的,在此基础上进一步实用化。 |
|
相关推荐
1 个讨论
|
|
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-5 09:09 , Processed in 0.462500 second(s), Total 39, Slave 30 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号