随机过程各态历经性的检验
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
随机过程各态历经性的检验[随机过程作业]
随机过程的均值函数和相关函数是很重要的。
确定随机过程X(t)的数字特征,就需要预先确定X(t)一族样本函数或一维、二维分布函数,但这实际上是不易办到的。
所谓各态历经,是指可以从过程的一个样本函数中获得它的各种统计特性;具有这一特性的随机过程称为具有各态历经性的随机过程。
基本概念及原理:
设是平稳过程
●如果下列均方极限存在:
则称<X(t)>为在(-∞,+∞)上的时间平均。
●如果对于固定τ,下列均方极限存在:
则称<X(t)X(t+τ)> 为在(-∞,+∞)上的时间相关函数。
◆如果以概率1成立
<X(t)> = m
x
则称的均值具有各态历经性。
◆如果对于任意的实数τ,以概率1成立
<X(t)X(t+τ)> = R
(τ)
x
则称的相关函数具有各态历经性。
◆如果的均值和相关函数都具有各态历经性,则称具有各态历
经性,或称为各态历经过程。
这里,我们使用类似于处理随机变量的方法,通过统计实验,对一个过程进行大量重复的实验,以便得到很多的样本函数,由所取得的数据,求出这些数字特征的统计平均(集合平均)。
然后随便选一条样本函数,计算出这条样本函数的时间平均。
最后比较统计平均和时间平均来检验平稳随机过程的各态历经性。
检验步骤:
1.求统计平均:
对平稳随机过程进行n次随机实验,得到n个样本函数x
1(t),x
2
(t), (x)
n
(t)。
对固定的t,其均值函数:;
对固定的τ,其相关函数:。
为了精确,n需要取相当大。
2.求时间平均:
假设平稳随机过程的一个样本函数为,在[0,T]上对它进行采样,当T和N充分大,且T/N充分小时,该过程的时间平均近似等于样本函数x(t)在采样点上的函数值的算术平均值,
即。
考虑,其中r固定,r=0,1,2,…,m,当T和N-r充分大,且T/N充分小时,该过程的相关
函数可近似表示为。
3.检验:
分别求出平稳随机过程的统计平均m (t),R (τ)和时间平均m’(t),R’(τ)后,分别绘制出它们的曲线,比较它们的近似性,来检验随机过程是否具有各态历经性。
编程解决问题
检验随机相位正弦波
的各态历经性,
1.其中A=5,ω=20π,Θ~U(0,2π)。
2.将上题中条件改为A~U(2,5),A与Θ不相关,其它条件不变,再次检验其各态历经性。
本程序是在Visual C++ 6.0中实现的。
程序界面如下:
关键源代码如下:
//申请times*1200大小的数组来存储times个样本的信息,每个样本占用1200个元素 sp=new double[times*1200];
m1=new double[1200];
memset(m1, 0,1200*sizeof(double));
m2=0;
r1=new double[600];
memset(r1, 0, 600*sizeof(double));
r2=new double[600];
memset(r2,0, 600*sizeof(double));
//采样间隔,时间1.2,共12个周期,采样长度1200
double interval=1.2/1200;
int i=0;
int j=0;
//根据选项初始化随机序列
if (0==radio)
{
//生成times个样本函数
for (i=0; i<times; i++)
{
//产生一个(0,2π)之间的随机数
double
thet=double(rand())/(double(RAND_MAX)+1)*2*PI;
for (j=0; j<1200; j++)
{
sp[1200*i+j]=5*cos(20*PI*inter val*j+thet);
}
}
}
else
{
for (i=0; i<times; i++)
{
//产生一个(0,2π)之间随机数
double
thet=double(rand())/(double(RAND_MAX)+1)*2*PI;
//产生一个(2,5)之间的随机数
double
a=double(rand())/(double(RAND_MAX)+1)*3+2;
for (j=0; j<1200; j++)
{
sp[1200*i+j]=a*cos(20*PI*inter val*j+thet);
}
}
}
//用统计平均的方法计算均值函数
for (i=0; i<1200; i++)
{
for (j=0; j<times; j++)
{
m1[i]+=sp[1200*j+i];
}
m1[i]/=times;
}
//用统计平均的方法计算相关函数
for (i=0; i<600; i++)
{
for (j=0; j<times; j++)
{
r1[i]+=sp[1200*j]*sp[1200*j+i];
}
r1[i]/=times;
}
//计算任意一条(这里取第一条)样本函数的时间均值
for (i=0; i<1200; i++)
{
m2+=sp[i];
}
m2/=1200;
//计算任意一条(这里取第一条)样本函数的相关函数
for (i=0; i<600; i++)
{
for (j=0; j<1200-i; j++)
{
r2[i]+=sp[j]*sp[j+i];
}
r2[i]/=1200-i;
}
1.当A=5,ω=20π,Θ~U(0,2π)时,检验结果如下图:
2.当将上题中条件改为A~U(2,5),A与Θ不相关,其它条件不变时,检验结果如下图:参考文献:
[1] 张卓奎,陈慧婵。
随机过程。
西安:西安电子科技大学出版社,2003
[2] 何迎晖,钱伟民。
随机过程简明教程。
上海:同济大学出版社,2004
[3] 陈良均,朱庆棠。
随机过程及应用。
北京:高等教育出版社,2003
[4] 刘家焜,王家生,张玉环。
应用概率统计。
北京:科学出版社,2004
[5] 盛骤,谢式千,潘承毅。
概率论与数理统计。
北京:高等教育出版社,1989
[6] 苏海岛,黎连业等。
C语言数值计算常用程序。
北京:警官教育出版社,1996。