任意分布随机序列的产生方法

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

若已知某概率密度函数,通过积分得到分布函
数 F(X),并令分布函数为某一值 U,U 服从(0,1)上 的均匀分布[6]。MATLAB 环境提供了库函数 rand()
来产生一个随机的数。此随机序列 U 为常数,即可
解出 X 的的表达式,并对所有 X 的值画成概率密度
曲线。以产生正态分布随机序列为例来讨论。
生成 K 分布特征函数的标准差如图 6 所示,其 中 v 值取−0.5,0,0.5,1,1.5。K 分布特征函数的 标准差由式(3-3)得到,并进行统计分析,结果表明 符合此分布。
图 3 K 分布特征函数理论值 Fig.3 Theoretical value of K-distribution’s characteristic function
生成 K 分布的特征函数理论值如图 3 所示,K 分布特征函数单次实验值如图 4 所示,K 分布特征 函数 100 次实验平均值如图 5 所示,其中 v 值都取 −0.5、0、0.5、1、1.5。K 分布的特征函数理论值由 式(10)得到,将单次实验、多次实验与理论值比较, 可知实验次数越多,得到的图形越光滑,越接近于 特征函数的理论值,也进一步验证了方法的可行性。
reconstruction method
1 引言
随机数在现代生活中,特别是在系统仿真中起 着重要作用。利用自然特性来得到随机数不太实用。 因此,需要研究算法产生随机数来满足不同的需 求。目前随机序列发生器均能通过各种随机性统计 检验,其中比较著名的有线性同余发生器 LCG (Linear Congruential Generat or)、线性反馈移位寄存 器 LFSR(Linear Feedback Shift Register)和二次剩余 发生器 BBS(Blum, Blum and Shub Generator)等。
标信号特征提取。 通讯作者: 曾治丽, E-mail: lilyfu168@163.com
的分布函数,我们很难用传统的方法求得,它的随 机数就很难得到。为解决此问题,提出了一种基于 频数的方法,直接由它的概率密度产生随机序列[3-5]。
本文首先介绍传统产生随机序列的方法,即根 据分布函数得到随机序列。再提出基于频数的方 法,即根据概率密度产生随机序列。并以产生 K 分 布随机序列的方法为例,从以下几个部分验证方法 的可行性:K 分布函数的概率密度;标准方差;特 征函数;从各变量对 K 分布的影响看方法的正确与 否。根据这些算法进行了建模仿真,且对仿真所得 的随机序列进行了统计分析,结果表明符合概率密 度分布要求。
Xn =[X1, X2, ⋅⋅⋅, Xn] 。
(3) K 分布的特征函数的标准差
∑ S =
1 N −1
N n=1
(
X
n

X
)2
(11)
式中,S 表示标准差,N 表示独立变量的个数,
Xn 表示随机变量, X 表示 X1, X2, ⋅⋅⋅, Xn 的平均数。
3.2 仿真结果
本文生成的 K 分布概率密度的理论值与估计 值如图 2 所示,其中 v 值取−0.5、0、0.5、1、1.5。 K 分布概率密度的理论值由式(9)的仿真模型得到, K 分布概率密度的估计值由本文提出的基于频数的 方法得到,由于理论值与估计值的图形刚好吻合, 因此我们验证了该方法的正确性。
ZENG Zhi-li, LI Ya-an, JIN Bei-li
(School of Navigation Northwestern Polytechnical University, Xi’an 710072, China)
Abstract: The random sequence has been widely used in signal processing. Usually, it is necessary to have a probability distribution function as priori for obtaining the distribution function of the random sequence, then the random sequence is generated. However, it is not easy to obtain the distribution function, which makes it difficult to generate random sequences. Because of this, a frequency based stochastic reconstruction method is proposed to generate random sequence by the probability density of K-distribution, and verified with the characteristic function of K-distribution and the standard deviation of K-distribution. Finally, the analysis of simulation results shows the correctness of the method. This method not only achieves conveniently, but also mitigates some limitations for the traditional methods under statistical comparison. Key words: probability density distributed arbitrarily; random sequence; K-distribution; a frequency based stochastic
图 4 K 分布特征函数单次实验值 Fig.4 The value of K-distribution’s characteristic function from a
single experiment
4 结论
本文针对很难通过分布函数得到随机数的情
通常得到随机数都是已知概率密度函数,求得 分布函数,再通过分布函数产生随机序列[1,2]。但此 方法有一定的局限性,当很难通过概率密度求出分 布函数时,就无法产生它的随机序列。比如 K 分布
收稿日期: 2009-12-24; 修回日期: 2010-04-02 作者简介: 曾治丽, 女(1984-), 海南东方人, 硕士, 研究方向为水下目
令 m(i)= fix( f (x(i))*L)
(7)
F
则:
gi = x(i)+e*rand(m(i))
(8)
其中,e 为一可调节参量,其取值可直接影响
到随机序列的合理性(e 取值应大于式(4)中的 c,以保
证在[a, b]取值范围内均有随机数存在)。
基于此,以 K 分布的概率密度、K 分布特征函
数以及 K 分布特征函数的标准差为例进行验证此
方法不仅简捷,而且解决了传统方法的一些局限性。
关键词:任意概率密度分布;随机序列;K 分布;基于频数的随机重构
中图分类号:TB556
文献标识码:A
文章编号:1000-3630(2010)-06-0651-04
DOI 编码:10.3969/j.issn1000-3630.2010.06.020
A method of generating random sequence with arbitrary distribution
有些概率密度函数很难确切得出它的分布函 数,比如 K 分布的概率密度函数,不能明确得到分 布函数的表达式,而且该概率密度函数中含有两个 特殊的函数,即 Gamma 函数和 V 阶 K 类 Bessel 函数。因此要得到分布函数很困难,本文提出了一
3.1 仿真模型
本文采用一种基于频数的随机重构方法,利用
方法。
3 任意概率随机序列仿真
图 1 标准正态分布所有观测数据的随机序列与概率密度 Fig.1 Random sequence and probability density of all observing data
of a standard normal distribution
2.2 根据概率密度产生随机序列
又假设 f (x) 能量集中于 x∈[a, b] 内,位于其他
位置的能量可忽略不计。将[a, b] 等分为 N 份,有:
x(i) = a + (i −1)*c
c =(b−a)/ N , i =1, 2, L, N +1
(4)
故 f (x(i)) 表示随机序列在 x(i) 处的概率密度。
N +1
令 F =∑ f (x(i))
序列。然而在难以通过概率密度求得分布函数时,产生随机序列则变得十分困难。提出了一种随机数生成的新方法
——基于频数的随机重构方法,即由已知的概率密度直接产生随机序列;以 K 分布概率密度产生随机序列为例,并
用 K 分布的特征函数以及特征函数的标准差进行验证,通过仿真分析证明该方法的正确性。最后通过统计对比,此
文取 µ=0,σ =1,随机个数 N 取 1000。在 MATLAB
中建模计算,得到正态分布的随机序列见图 1。
种基于频数的随机重构方法来解决此问题。
假设任意随机序列的概率密度函数 f (x) 已知,
且 f (x) 能量有限,即:


∫ f (x)2dx<∞ , ∫ f (x)dx<∞
(3)
−∞
−∞
v 阶 K 类 Bessel 函数, Γ (·)为 Gamma 函数。当对
z
进行归一化后,
v
b = Γ2 (2
v+1)

பைடு நூலகம்
第6期
曾治丽等:任意分布随机序列的产生方法
653
(2) K 分布的特征函数
∑ φˆXe
(ω) =
1 N
N
exp(jω Xn)
n=1
(10)
式中, Xn 是随机变量,N 为独立变量的个数,
u1 和 u2 ,利用二元函数变换得到: X1 =(−2lnu1)cos(2πu2)
X2 = (−2lnu1)sin(2πu2)
(2)
其中 X1 , X2 是两个独立的标准正态分布的随 机变量,将 u1 和 u2 代入式(2)中即可得到 X 的值。 此时所有的 X 值是服从正态分布的,我们将这些数
据画成曲线即可得到正态分布的概率密度曲线。本
已经建立的 K 分布随机序列仿真模型,建立了 K 分布函数的概率密度、K 分布特征函数以及 K 分布 特征函数的标准差的随机序列仿真模型。
(1) K 分布
K 分布的概率密度函数为:
( ) ( ) f
X
(x)
=
2 aΓ(v
+ 1)
x 2a
v+1
Kv
x a
x>0
(9)
式中,v 为形状系数,b 为标度系数, Kv(x) 为
如果一个随机序列服从一维正态分布,那么它
有如下的概率密度函数:
f (x)=
1
e−(
x−µ )2 2σ 2
(1)
2πσ
其中 µ、σ(>0)为常数,它们分别为均值和方差。
从均匀高斯分布转化为标准正态分布一般用
Box_Muller 变换,可以产生精确的正态分布随机变
量。其变换式为:若取两个 0~1 均匀分布随机序列
2 任意概率分布随机数的算法
产生一组任意概率分布的随机数是计算机技 术在系统仿真和模拟中最基本和首要的问题,但计 算机产生的随机数都是有固定周期的随机数,不能 满足实际应用需要。因此,利用概率密度函数产生
652
声学技术
2010 年
随机序列。
2.1 根据分布函数产生随机序列(分布函数能算出 来的情况)
第 29 卷第 6 期 2010 年 12 月
声学技术 Technical Acoustics
Vol.29, No.6 Dec., 2010
任意分布随机序列的产生方法
曾治丽,李亚安,金贝立
(西北工业大学航海学院,西安 710072)
摘要:随机序列已经被广泛地使用在信号处理中。通常都是由已知概率密度得到分布函数,通过分布函数产生随机
(5)
i=1
可以得到:
∑N+1 f (x(i)) =1
i=1 F
(6)
要产生点数为 L 的一组随机序列,则只需在每
个 x(i) 附近产生一组均匀分布的随机序列 gi ,然后 将所有产生的随机数排列到一个 1 行 L 列的矩阵 G
中,再对 G 中每一个序列进行随机排列,即可得到
任意分布随机序列。下面介绍 gi 的产生办法:
相关文档
最新文档