微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 测试测量 > Labview > labview随机数发生器

labview随机数发生器

时间:10-02 整理:3721RD 点击:
        随机数多用于仿真过程中,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个采样后才会出现重复。
下面创建一个正态分布随机数序列,并计算它的均值和标准方差。



信号生成选板中还提供了其它几种噪声函数,这里就不再详细讨论了,下一篇文章中介绍波形函数选板中的几种随机数发生器,以及概率函数选板中的随机数发生器,这些随机数发生器都是以信号噪声函数为基础的,在此基础上进一步实用化。

谢谢了

谢谢分享

哦哦!不错哦。

好东西

学习了

小编这个太详细了

好东西。

谢谢

好东西啊啊啊啊啊 啊啊啊

呵呵,不错的东西,学习了。

                        

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top