相关正态随机过程的仿真实验报告
2021年随机过程实验报告
过程试验汇报班级: 通信1004班姓名: 杨靖学号: U13098试验目:了解数产生, 而且利用数来模拟均匀分布、 正态分布、 指数分布、 泊松分布而且计算均值和自相关序列。
试验工具:C++编程模拟试验原理:数产生原理: 经过数学算法产生伪数来, 模拟数产生。
数序列含有循环周期性。
能够证实, 任何产生伪数算法总会进入循环, 这么为了确保随机数序列不产生反复数据, 就要求循环周期足够长。
均匀分布产生原理:利用线性同余法(1)设置y0, 即设置种子(2)yn=kyn-1(mod N), un=yn/N泊松分布产生原理: 从泊松分布分布律可知, 采取前述方法很不适用。
因为: 所以, 采取递推法组成泊松分布: (1)产生均匀分布数u; (2) (3)若u<F, 令X=i, 停止; (4) (5)转向(3)。
正态分布产生原理:标准正态变量分布函数 反函数不存在显式, 所以也不能用逆变法产生。
故采取以下方法:设Ui ~U(0, 1), i=1,2,…,n, 且相互独立, 由中心极限定理可知, 当n 较大时设Ui ~U(0, 1), i=1,2,…,n, 且相互独立, E(Ui)=1/2, D(Ui)=1/12, 当n 较大时有:取n=12, 近似有:也就是说, 只要产生12个伪数u1,u2,…u12, 将它们加起来, 再减去6, 就能近似得到标准正态变量样本值。
{}!i i e p P X i i λλ-===11(1)!1i i i e p p i i λλλ+-+==++0,,;i p e F p λ-===/(1),,1;p p i F F p i i λ=+=+=+()~(0,1)n i i U nE U Z N -=∑~(0,1)ni n U Z N -=∑1216~(0,1)i i Z U N ==-∑指数分布产生原理:(1)产生均匀分布数{ui};(2)计算指数分布数: xi=-ln ui /λ试验代码:(1)数产生/*函数功效, 采取线性同余法, 依据输入种子数产生一个伪数, 假如种子不变,则将能够反复调用产生一个伪序列利用CMyRand类中定义全局变量: S, K, N, Y。
实验三 随机过程通过线性系统
实验名称线性系统对随机过程的响应一、实验目的通过本仿真实验了解正态白色噪声随机过程通过线性系统后相关函数以及功率谱的变化;培养计算机编程能力。
二、实验平台MATLAB R2014a三、实验要求(1)运用正态分布随机数产生函数产生均值为m=0,根方差σ=1的白色正态分布序列{u(n)|n=1,2,…,2000},画出噪声u(n)的波形图。
(2)设离散时间线性系统的差分方程为x(n)=u(n)-0.36u(n-1)+0.85u(n-2)(n=3,4,…,2000).画出x(n)的波形图。
(3)随机过程x(n)的理论上的功率谱函数为在[0,π]范围内对w进行采样,采样间隔0.001π,计算S(i×0.001π) (i=1,2,…,1000);画出波形图。
(4)根据步骤二产生的数据序列x(n)计算相关函数的估计值与理论值1.1296、-0.666、0.85、0、0、0的差异。
(5)根据相关函数的估计值对随机过程的功率谱密度函数进行估计在[0,π]范围内对w进行采样,采样间隔0.001π,计算S(i×0.001π) (i=1,2,…,1000);画出波形图,比较其与理论上的功率谱密度函数S(w)的差异。
(6)依照实验1的方法统计数据x(n)在不同区间出现的概率,计算其理论概率,观察二者是否基本一致。
四、实验代码及结果A、运用正态分布随机数产生函数产生均值为m=0,根方差σ=1的白色正态分布序列{u(n)|n=1,2,…,2000},画出噪声u(n)的波形图。
代码实现:波形图:分析:运用正态分布随机数产生函数产生均值为0,根方差σ=1的白色噪声样本序列。
B、设离散时间线性系统的差分方程为x(n)=u(n)-0.36u(n-1)+0.85u(n-2)(n=3,4,…,2000).画出x(n)的波形图。
代码实现:波形图:分析:正态随机序列通过离散时间线性系统生成的仍是正态随机序列。
C、随机过程x(n)的理论上的功率谱函数为在[0,π]范围内对w进行采样,采样间隔0.001π,计算S(i×0.001π) (i=1,2,…,1000);画出波形图。
湖南大学应用统计与随机过程实验_何松华
实验名称: 实验名称:正弦信号的相关积累检测仿真 4.实验结果
(通过程序运行得到的各种数据、图表并运用随机过 程理论对实验结果进行分析)
5.实验体会
2.实验要求
(后面将具体介绍)
3.程序代码
(自己采用Matlab或VB进行编程)
湖南大学教学课件:应用统计学与随机过程
课程实验2
湖南大学教学课件:应用统计学与随机过程
Page 3
3
湖南大学教学课件:应用统计学与随机过程
课程实验3
湖南大学教学课件:应用统计学与随机过程
课程实验4
(5) 根据相关函数的估计值对随机过程的功率谱密度函 数进行估计
ˆ (0) + 2 R ˆ (1) cos(ω ) + 2 R ˆ (2) cos(2ω ) S1 (ω ) = R X X X
Page 4
4
实验名称: 实验名称:相关正态随机过程的仿真 4.实验结果
(通过程序运行得到的各种数据、图表并运用随机过 程理论对实验结果进行分析)
5.实验体会
2.实验要求
(后面将具体介绍)
3.程序代码
(自己采用Matlab或VB进行编程)
湖南大学教学课件:应用统计学与随机过程
课程实验1
湖南大学教学课件:应用统计学与随机过程
2.实验要求
(后面将具体介绍)
5.实验体会
3.程序代码
(自己采用Matlab或VB进行编程)
湖南大学教学课件:应用统计学与随机过程
课程实验3
湖南大学教学课件:应用统计学与随机过程
课程实验3
实验要求: 采用MATLAB或VB语言进行编程 (1) 运用正态分布随机数产生函数产生均值为零、根方差σ=1 的白色噪声样本序列 [或可参考实验1的正态分布产生方法] {u(n)|n=1,2,…,2000};画出噪声u(n)的波形图 (2) 设离散时间线性系统的差分方程为
随机过程实验报告
随机过程实验报告一.实验目的通过随机过程的模拟实验, 熟悉随机过程编码规律以及各种随机过程的实现方法, 通过理论与实际相结合的方式, 加深对随机过程的理解。
二. 实验原理及实现代码1.伪随机数的产生函数功能: 采用线性同余法, 根据输入的种子数产生一个伪随机数, 如果种子不变, 则将可以重复调用产生一个伪随机序列实现思路:利用CMyRand类中定义的全局变量:S, K, N, Y。
其中K和N为算法参数, S用于保存种子数, Y为产生的随机数, 第一次调用检查将seed赋值与S获得Y的初值, 之后调用选择rand()函数赋值与Y。
代码如下:unsigned int CMyRand::MyRand(unsigned int seed){Y=seed;Y=K*seed%N;S=Y;return Y;}2.均匀分布随机数的产生在上面实验中, 已经产生了伪随机序列, 所以为了得到0~N 的均匀分布序列, 只需将其转化为min 到max 的均匀分布即可, 代码如下:double CMyRand::AverageRandom(double min,double max) {double dResult;dResult = (double(MyRand(S))/N)*(max-min)+min; dResult=(int(dResult*10000))/10000.0 ;return dResult; }3.正态分布随机数的产生由AverageRandom 函数获得0-1间隔均匀分布随机数U(0,1), i=1,2,…,n, 且相互独立, 由中心极限定理可知, 当n 较大时,()~(0,1)nU nE U Z N -=取n=12, 近似有, 也就是说, 只要产生12个伪随机数u1,u2,…u12, 将它们加起来, 再减去6, 就能近似得到标准正态变量的样本值。
代码如下:double CMyRand::NormalRandom(double miu, double sigma, double min, double max){double dResult;dResult = 0;for(int i=0;i<12;i++)dResult+=(double(MyRand(S))/N); //循环相加12次dResult-=6;dResult=(dResult*sigma+miu)*(max-min)+min;return dResult;}3.指数分布的随机数的产生用AverageRandom产生均匀分布随机数{ui}, 计算指数分布随机数: xi=-ln ui /λdouble CMyRand::ExpRandom(double lambda, double min, double max){double dResult = 0.0;dResult=-log(AverageRandom(min,max))/lambda;return dResult;}4.泊松分布的随机数产生unsigned int CMyRand::PoisonRandom(double lambda, double min, double max){unsigned int dResult = 0;double F=exp(-lambda);while(AverageRandom(0,1)>=F){F+=(lambda*F)/(dResult+1);dResult++;}return dResult;}5.计算任意分布的随机过程的均值根据大数定律, 调用任意函数加和求平均即为该分布的均值。
随机信号分析实验报告(基于MATLAB语言)
随机信号分析实验报告——基于MATLAB语言姓名:_班级:_学号:专业:目录实验一随机序列的产生及数字特征估计 (2)实验目的 (2)实验原理 (2)实验内容及实验结果 (3)实验小结 (6)实验二随机过程的模拟与数字特征 (7)实验目的 (7)实验原理 (7)实验内容及实验结果 (8)实验小结 (11)实验三随机过程通过线性系统的分析 (12)实验目的 (12)实验原理 (12)实验内容及实验结果 (13)实验小结 (17)实验四窄带随机过程的产生及其性能测试 (18)实验目的 (18)实验原理 (18)实验内容及实验结果 (18)实验小结 (23)实验总结 (23)实验一随机序列的产生及数字特征估计实验目的1.学习和掌握随机数的产生方法。
2.实现随机序列的数字特征估计。
实验原理1.随机数的产生随机数指的是各种不同分布随机变量的抽样序列(样本值序列)。
进行随机信号仿真分析时,需要模拟产生各种分布的随机数。
在计算机仿真时,通常利用数学方法产生随机数,这种随机数称为伪随机数。
伪随机数是按照一定的计算公式产生的,这个公式称为随机数发生器。
伪随机数本质上不是随机的,而且存在周期性,但是如果计算公式选择适当,所产生的数据看似随机的,与真正的随机数具有相近的统计特性,可以作为随机数使用。
(0,1)均匀分布随机数是最最基本、最简单的随机数。
(0,1)均匀分布指的是在[0,1]区间上的均匀分布, U(0,1)。
即实际应用中有许多现成的随机数发生器可以用于产生(0,1)均匀分布随机数,通常采用的方法为线性同余法,公式如下:,序列为产生的(0,1)均匀分布随机数。
定理1.1若随机变量X 具有连续分布函数,而R 为(0,1)均匀分布随机变量,则有2.MATLAB中产生随机序列的函数(1)(0,1)均匀分布的随机序列函数:rand用法:x = rand(m,n)功能:产生m×n 的均匀分布随机数矩阵。
(2)正态分布的随机序列函数:randn用法:x = randn(m,n)功能:产生m×n 的标准正态分布随机数矩阵。
随机过程实验报告
一、实验目的1. 理解随机过程的基本概念和性质。
2. 掌握随机过程的基本运算和性质。
3. 通过实验验证随机过程的性质和规律。
二、实验原理随机过程是指一系列随机变量按照一定规则排列而成的序列。
在现实生活中,随机过程广泛存在于自然界和人类社会,如股票价格、气象变化、生物进化等。
随机过程的研究有助于我们更好地理解和预测这些现象。
随机过程可以分为两类:离散随机过程和连续随机过程。
本实验主要研究离散随机过程。
三、实验设备与材料1. 计算机2. 随机过程模拟软件(如Matlab)3. 纸笔四、实验内容1. 随机过程的基本概念(1)随机变量的概念随机变量是指具有不确定性的变量,它可以取多个值。
在随机过程中,随机变量是基本的研究对象。
(2)随机过程的概念随机过程是由一系列随机变量按照一定规则排列而成的序列。
2. 随机过程的基本性质(1)无后效性无后效性是指随机过程的前后状态相互独立。
(2)无记忆性无记忆性是指随机过程的状态只与当前时刻有关,与过去时刻无关。
(3)马尔可夫性马尔可夫性是指随机过程的状态只与当前时刻有关,与过去时刻无关。
3. 随机过程的运算(1)随机过程的和设{Xn}和{Yn}是两个随机过程,则它们的和{Zn}定义为Zn = Xn + Yn。
(2)随机过程的差设{Xn}和{Yn}是两个随机过程,则它们的差{Zn}定义为Zn = Xn - Yn。
(3)随机过程的乘积设{Xn}和{Yn}是两个随机过程,则它们的乘积{Zn}定义为Zn = Xn Yn。
4. 随机过程的模拟利用随机过程模拟软件(如Matlab)模拟随机过程,观察其性质和规律。
五、实验步骤1. 初始化随机数生成器2. 定义随机过程(1)根据随机过程的基本性质,定义随机过程{Xn}。
(2)根据随机过程的运算,定义随机过程{Yn}。
3. 模拟随机过程(1)使用随机过程模拟软件(如Matlab)模拟随机过程{Xn}和{Yn}。
(2)观察模拟结果,分析随机过程的性质和规律。
随机过程实验报告全
随机过程实验报告学院:专业:学号:姓名:一、实验目的通过随机过程的模拟实验,熟悉随机过程编码规律以及各种随机过程的实现方法,通过理论与实际相结合的方式,加深对随机过程的理解。
二、实验内容(1)熟悉Matlab工作环境,会计算Markov链的n步转移概率矩阵和Markov链的平稳分布。
(2)用Matlab产生服从各种常用分布的随机数,会调用matlab自带的一些常用分布的分布律或概率密度。
(3)模拟随机游走。
(4)模拟Brown运动的样本轨道的模拟。
(5)Markov过程的模拟。
三、实验原理及实验程序n步转移概率矩阵根据Matlab的矩阵运算原理编程,Pn = P ^n。
已知随机游动的转移概率矩阵为:P =0.5000 0.5000 00 0.5000 0.50000.5000 0 0.5000求三步转移概率矩阵p3及当初始分布为P{x0 = 1} = p{x0 = 2} = 0, P{x0 = 3} = 1 时经三步转移后处于状态3的概率。
代码及结果如下:P = [0.5 0.5 0; 0 0.5 0.5; 0.5 0 0.5] %一步转移概率矩阵P3 = P ^3 %三步转移概率矩阵P3_3 = P3(3,3) %三步转移后处于状态的概率1、两点分布x=0:1;y=binopdf(x,1,0.55);plot(x,y,'r*');title('两点分布');2、二项分布N=1000;p=0.3;k=0:N;pdf=binopdf(k,N,p);plot(k,pdf,'b*');title('二项分布');xlabel('k');ylabel('pdf');gridon;boxon3、泊松分布x=0:100;y=poisspdf(x,50);plot(x,y,'g.');title('泊松分布')4、几何分布x=0:100;y=geopdf(x,0.2);plot(x,y,'r*');title('几何分布');xlabel('x');ylabel('y');5、泊松过程仿真5.1 % simulate 10 timesclear;m=10; lamda=1; x=[];for i=1:ms=exprnd(lamda,'seed',1);x=[x,exprnd(lamda)];t1=cumsum(x);end[x',t1']5.2%输入:N=[];for t=0:0.1:(t1(m)+1)if t<t1(1)N=[N,0];elseif t<t1(2)N=[N,1];elseif t<t1(3)N=[N,2];elseif t<t1(4)N=[N,3];elseif t<t1(5)N=[N,4];elseif t<t1(6)N=[N,5];elseif t<t1(7)N=[N,6];elseif t<t1(8)N=[N,7];elseif t<t1(9)N=[N,8];elseif t<t1(10)N=[N,9];elseN=[N,10];endendplot(0:0.1:(t1(m)+1),N,'r-') 5.3% simulate 100 timesclear;m=100; lamda=1; x=[];for i=1:ms= rand('seed');x=[x,exprnd(lamda)];t1=cumsum(x);end[x',t1']N=[];for t=0:0.1:(t1(m)+1)if t<t1(1)N=[N,0];endfor i=1:(m-1)if t>=t1(i) & t<t1(i+1)N=[N,i];endendif t>t1(m)N=[N,m];endendplot(0:0.1:(t1(m)+1),N,'r-')6、泊松过程function I=possion(lambda,m,n)for j=1:mX=poissrnd(lambda,[1,n]); %参数为lambda的possion 过程N(1)=0;for i=2:nN(i)=N(i-1)+X(i-1);endt=1:n;plot(t,N)grid onhold onend7、布朗运动7.1一维布朗运动程序:function [t,w]=br1(t0,tf,h)t=t0:h:tf;t=t';x=randn(size(t));w(1)=0;for k=1:length(t)-1w(k+1)=w(k)+x(k);endw=sqrt(h)*w;w=w(:);end调用t0=1;tf=10;h=0.01;[t,w]=br1(t0,tf,h);figure;plot(t,w,'*');xlabel('t');ylabel('w');title('一维Brown运动模拟图'); 7.2二维布朗运动:function [x,y,m,n]=br2(x0,xf,y0,yf,h)x=x0:h:xf;y=y0:h:yf;a=randn(size(x));b=randn(size(y));m(1)=0;n(1)=0;for k=1:length(x)-1m(k+1)=m(k)+a(k);n(k+1)=n(k)+b(k);endm=sqrt(h)*m;n=sqrt(h)*n;end调用x0=0;xf=10;h=0.01;y0=0;yf=10;[x,y,m,n]=br2(x0,xf,y0,yf,h);figure;plot(m,n);xlabel('m');ylabel('n');title('二维Brown运动模拟图');7.3三维布朗运动:npoints =1000;dt = 1;bm = cumsum([zeros(1, 3); dt^0.5*randn(npoints-1, 3)]);figure(1);plot3(bm(:, 1), bm(:, 2), bm(:, 3), 'k');pcol = (bm-repmat(min(bm), npoints, 1))./ ...repmat(max(bm)-min(bm), npoints, 1);hold on;scatter3(bm(:, 1), bm(:, 2), bm(:, 3), ...10, pcol, 'filled');grid on;hold off;8、马尔科夫链离散服务系统中的缓冲动力学m=200;p=0.2;N=zeros(1,m); %初始化缓冲区A=geornd(1-p,1,m); %生成到达序列模型, for n=2:mN(n)=N(n-1)+A(n)-(N(n-1)+A(n)>=1);endstairs((0:m-1),N);9、随机数游走9.1 100步随机游走n = 100; %选取步数。
随机过程实验
实验名称:随机变量的仿真与实验实验内容:用MATLAB 分别产生服从(二项分布、泊松分布、正态分布、均匀分布、指数分布、瑞利分布)的随机变量,并分析他们的:1、分布函数或概率密度函数2、均值、方差1、服从二项分布的随机变量理论分析如果随机变量X 的分布律为k n k k n k q p C k X P p -===}{0<p<1, q=1-p, k=0,1,2,…n,则称X 服从参数为n ,p 的二项分布,记为X~B(n ,p)。
其期望和方差分别为E(X) = np ,D(X)=npq 。
随机变量X~B(20,0.4),可以通过matla b 计算其期望和方差,绘制分布律和分布函数。
程序如下:n = 20;p = 0.4;[E,D] = binostat(n ,p); %计算期望和方差f = binopdf(1:21, n, p); %计算分布律F = binocdf(1:21, n, p); %计算分布函数subplot(2,2,1); stem(f); %绘制分布律title('二项分布理论分布律 n=20 p=0.4');xlabel('x');ylabel('p');subplot(2,2,3); stem(F); %绘制分布函数title('二项分布理论分布函数 n=20 p=0.4');xlabel('x');ylabel('f');计算得结果E(X) = 8,D(X) = 4.800,分布律和分布函数如图1。
图1 X~B(20,0.4)的分布律和分布函数样本分析利用matlab中binornd函数产生一个X~B(20,0.4)的样本,样本点总数为20000。
计算其均值和方差,计算分布律和分布函数,并与理论结果进行比较。
程序如下:n = 20;p = 0.4;R = binornd(n,p,1,20000);e = mean(R); %期望d = var(R); %方差f = zeros (1,21);F = zeros (1,21);for j = 1:21 %计算统计分布律for i=1:20000if j == R(i)f(1,j) = f(1,j) + 1;endendf(1,j) = f(1,j) / 20000;endsubplot(2,2,1);stem(f);title('二项分布样本分布律 n=20 p=0.4');xlabel('x');ylabel('p');for j = 1:21 %计算分布函数for i = 1:jF(1, j) = F(1, j) + f(1,i);endendsubplot(2,2,3);stem(F);title('二项分布样本分布函数 n=20 p=0.4');xlabel('x');ylabel('f');计算结果为e=8.0218,d=4.7760,与理论值(E(X)=8,D(X)=4.8)基本接近。
随机实验仿真
随机信号仿真与分析1.【实验目的】:1)利用计算机仿真随机信号,考察其数字特征, 以此加深对满足各种分布的随机信号的理解2)熟悉常用的信号处理仿真软件平台:matlab. 2.【实验任务】1) 生成满足各种概率分布的仿真随机信号2) 自己编写程序计算各种概率分布的 仿真随机信号的各种特征3) 撰写实验报告 3. 【实验原理】随机信号的定义:随机信号是随机变量在时间上推进产生的过程量,它同时具有过程性和不确定性。
定义如下:给定参量集T 与概率空间(Ω, F, P ),若对于每个t ,都有一个定义在(Ω, F, P )上的实随机变量X(t)与之对应,就称依赖于参量t 的随机变量族 为一(实)随机过程或随机信号。
4. 【几种常见的随机信号】 1). 高斯随机信号 概率密度为 22()(p 2x m f x σ⎡⎤--⎢⎥⎣⎦若0,1m σ== ,则称之为标准正态分布。
数字特征:均值: ()0,E x m == 方差: ()21D x σ==利用matlab 做出标准正态分布的概率曲线,并选取10000点做出其波形,统计均值与方差。
仿真结果:Ans =-0.0326 DX=0.9969 2). 均匀分布随机信号 概率密度函数满足下式:1(),X f x a x bb a=<<-现在取 0a =,1b =为例,进行分析讨论。
数字特征:均值: ()0.5,2a b E x +== 方差: ()20.08312()D x b a =≈-利用matlab 做出均匀分布的概率曲线,并选取10000点做出其波形,统计均值与方差。
仿真结果:Ans = 0.5018 DX =0.0833 3). 正弦随机信号给定具有某种概率分布的振幅随机变量A 、角频率随机变量Ω与相位随机变量Θ,(具体概率分布与特性视应用而定),以(时间)参量t 建立随机变量:)sin(),(Θ+Ω==t A s t W Wt。
于是,相应于某个参量域T 的随机变量族{},tW t T ∈为正弦随机信号(或称为正弦随机过程)。
随机信号分析报告实验:随机过程的模拟与数字特征
实验二 随机过程的模拟与数字特征实验目的1. 学习利用MATLAB 模拟产生随机过程的方法。
2. 熟悉和掌握特征估计的基本方法及其MATLAB 实现。
实验原理1.正态分布白噪声序列的产生MATLAB 提供了许多产生各种分布白噪声序列的函数,其中产生正态分布白噪声序列的函数为randn 。
函数:randn用法:x = randn(m,n)功能:产生m ×n 的标准正态分布随机数矩阵。
如果要产生服从),(2σμN 分布的随机序列,则可以由标准正态随机序列产生。
如果)1,0(~N X ,则),(~σμσμN X +。
2.相关函数估计MATLAB 提供了函数xcorr 用于自相关函数的估计。
函数:xcorr用法:c = xcorr(x,y)c = xcorr(x)c = xcorr(x,y,'opition') c = xcorr(x,'opition')功能:xcorr(x,y)计算)(n X 与)(n Y 的互相关,xcorr(x)计算)(n X 的自相关。
option 选项可以设定为: 'biased' 有偏估计。
'unbiased' 无偏估计。
'coeff' m = 0时的相关函数值归一化为1。
'none' 不做归一化处理。
3.功率谱估计对于平稳随机序列)(n X ,如果它的相关函数满足∞<∑+∞-∞=m Xm R)( (2.1)那么它的功率谱定义为自相关函数)(m R X 的傅里叶变换:∑+∞-∞=-=m jm XX e m RS ωω)()( (2.2)功率谱表示随机信号频域的统计特性,有着重要的物理意义。
我们实际所能得到的随机信号的长度总是有限的,用有限长度的信号所得的功率谱只是真实功率谱的估计,称为谱估计或谱分析。
功率谱估计的方法有很多种,这里我们介绍基于傅里叶分析的两种通用谱估计方法。
应用统计与随机过程实验报告 (4)
实验四 线性系统参数估计及随机过程预测一、实验目的通过本仿真实验了解基于随机过程的线性系统参数的估计方法以及基于线性系统模型的随机过程预测方法;培养计算机编程能力。
二、实验要求采用MATLAB 或VB 语言进行编程1) 运用正态分布随机数产生函数产生均值为零、根方差=1D 的白色 噪声样本序列[或可参考实验1的正态分布产生方法]{u(n)|n=1,2,…,2000};画出噪声u(n)的波形图。
2) 设离散时间线性系统的差分方程为画出x(n)的波形图。
3) 假设已知线性系统为二阶全极点系统,参数未知,满足以x(n)(n=3,4,…,1500)为已知数据,估计系统参数观察a,b 与0.9、-0.2的相近性及估计误差。
4) 利用系统参数的估计值以及已获取的数据,采用单步递推预测方 法对随机过程x(n)在区间n [1501,2500]的值进行预测(1)(1)(2)0.9(1)(2)()0.9(1)-0.2(-2)() (3,4, (2000)x u x x u x n x n x n u n n ==+=-+=()(1)(-2)() (3,4, (2000)x n ax n bx n u n n =-++=1500150022,,33115001500150023331500150015002333min ()min [()(1)(2)](1)(1)(2)()(1)(1)(2)(2)()(2)a b a b n n n n n n n n u n x n ax n b n x n x n x n x n x n a b x n x n x n x n x n ==-=======----⎡⎤⎡⎤----⎢⎥⎢⎥⎡⎤⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎥⎣⎦----⎢⎥⎢⎥⎣⎦⎣⎦∑∑∑∑∑∑∑∑()(1)(-2) (1501,1502, (2000)y n ax n bx n n =-+=在x(n)的波形图上用不同的颜色画出y(n)的波形图,,观察和比较在[1501,2000]区间上二者的相近性及差异性。
随机过程-实验报告
(1) 计算 2 步转移概率;(2) 已知初始分布为 P 2 / 5, 2 / 5,1 / 5 ,求 X 2 的分布律 (3) 求平稳分布,要求给出程序与结果。 程序:
程序: p=[0.2 0.8 0;0.8 0 0.2; 0.1 0.3 0.6]; P2=p^2 a=[p'-eye(3);ones(1,3)];b=[0 0 0 1]';T=a\b 结果:
0.1389
0.0611
解:由题意可知,该问题的转移概率矩阵 P 为:
8
0 .2 P 0 .8 0 .1
9
实验三
实验题目 实验目的 实验地点及时间 模拟 Possion 流 用 Matlab 语言产生随机数,了解 Possion 流 信息楼 127 机房 2012 年 6 月 4 日
4
实验内容 用 Matlab 语言产生随机数,并编程实现 possion 流的模拟 程序: U=rand(1,20); a=2; X=-a^(-1)*log(U); S=zeros(1,22); d=zeros(1,22); S(1)=0;S(2)=X(1); for n=3:21 S(n)=S(n-1)+X(n-1); end for i=0:21 %--if 0<=i<S(2) d(i+1)=0; else for j=2:21 if (S(j)<=i)&(S(j+1)<i) d(i+1)=j; end end end end plot(d)
实验内容 判定一个 Markov 链是否是遍历的,若是遍历的,求其极限分布。并能从实际问 题中抽象出 Markov 链,并求出其极限分布,并理解其实际意义。 实验习题 1、已知齐次马氏链 X n , n 0,1, 2, 的状态空间 E 1, 2, 3 ,状态转移矩阵为
01实验一:随机信号仿真与特征分析
实验一随机信号的仿真与特征分析一.【实验目的】:1.利用计算机仿真随机信号,计算其数字特征,以此加深对满足各种分布的随机信号的理解。
2.熟悉常用的信号处理仿真软件平台:MATLAB二.【实验环境】1.硬件实验平台:通用计算机2.软件实验平台:MATLAB 2014A三.【实验任务】1.仿真产生满足各种概率分布的仿真随机信号;2.自己编写程序计算各种概率分布的仿真随机信号的各种特征;3.撰写实验报告。
四.【实验原理】1.随机信号的产生和定义随机信号是随机变量在时间上推进产生的过程量,它同时具有过程性和不确定性。
定义如下:给定参量集T与概率空间(Ω, F, P),若对于每个Tt∈,都有一个定义在(Ω, F, P)上的实随机变量X(t)与之对应,就称依赖于参量t的随机变量族{}TttX∈),(为一(实)随机过程或随机信号。
2.高斯分布随机信号统计分布是正态分布(高斯分布)的随机信号为高斯分布随机信号。
高斯分布的随机变量概率密度函数满足下式:22()21()x mXf x eσ-=3.均匀分布随机信号统计分布是均匀分布的随机信号为均匀分布随机信号。
均匀分布的随机变量概率密度函数满足下式:1(),X f x a x b b a=<<-4. 正弦随机信号给定具有某种概率分布的振幅随机变量A 、角频率随机变量Ω与相位随机变量Θ,(具体概率分布与特性视应用而定),以(时间)参量t 建立随机变量:)sin(),(Θ+Ω==t A s t W W t 。
于是,相应于某个参量域T 的随机变量族{}T t W t ∈,为正弦随机信号(或称为正弦随机过程)。
5. 贝努里随机信号贝努里随机变量X(s)基于一个掷币实验(s 表示基本结果事件):1表示s 为正面,0表示s 不为正面;s 不为正面的概率为P[X(s)=1]=p ,s 为正面的概率为P[X(s)=0]=q ,其中p+q=1。
若无休止地在t=n (n=0, 1, 2, …)时刻上,独立进行(相同的)掷币实验构成无限长的随机变量序列:,...}...,,,{,321n X X X X ,其中n X 与n 和s 都有关,应记为X(n,s),于是,⎩⎨⎧≠=====正面时刻,在正面时刻,在,,s n t s n t s n X X n 01),( 而且有概率:q s n X P p s n X P ====]0),([]1),([其中, p+q=1。
随机过程实验报告
师范学院
实验报告
2)计算x的方差(var())
实 验 内 容 及 步 骤 (续)
3) 利用rnorm 生成100个随机数赋值给变量y ,计算x 、y 的协方差(cov()),相关系数(cor())。
4) 将变量x 、y 放到数据框A 中(用data.frame()函数),计算A 的协方差矩阵(cov())、相关系数矩阵(cor()).
2.利用rnorm 函数生成随机向量x (长度100),将x 转换为一个10阶矩阵A 。
rnorm
1) 计算A 的特征值和特征向量
2)计算A的逆
3)随机生成长度为10的向量b,求解线性方程组Ay b
3.随机生成随机向量x(长度10)。
将x的数据复制到文本文件data.txt中,并保存。
利用read.table()函数,将data.txt中的数据重新读入到R工作空间中,并命名为y。
实验心得
这次试验是我第一次接触R语言,刚开始遇到了很多困难,对于R语言一窍不通,后来经过老师的悉心指导,以及自己积极的去查找资料,对R 语言有了进一步的了解。
这次试验通过随机生成数字,并且对对其进行运、组合、求解,定义函数,以及生成表。
在此过程中,锻炼了自己的学习能力、动手操作能力,也让我对R语言产生了兴趣,发现R语言与matlab 相似之处,以及方便之处。
希望以后有机会可以更加系统的掌握、了解R语言,并达到熟练的应用。
学习并提升了R语言的使用能力,更好的实现课本与实际操作的结合,让我更好的学习并理解了应用随机过程这门课。
评语。
随机过程作业报告
随机过程作业报告姓名:学号:班级:一、问题定义(1)问题描述:信号源发信号,只能发1和10,发送1的概率是0.7,发送10的概率是0.3。
信道上加一个高斯噪声,满足均值为0,方差为5的正态分布。
利用计算机仿真,得到正确检验概率。
(2)实验要求:·利用C++编程实现对信源发送信号并配合噪声干扰、门限计算和仿真检测的流程编译。
·根据MAP规划,做10000次仿真检测。
(3)输入/输出:无输入,输出成功检验概率。
(4)程序功能:对信号源随机发送的信号进行检验,并得到正确检验概率。
二、概要设计(1)解题思路:通过使用TR1扩展在c++中用随机数生成设施生成随机数(具体使用定义在头文件random中的随机数库中的随机数引擎类和随机数分布类来生成范围在(0,1)服从均匀分布的随机数和均值为0,方差为5的服从高斯分布的随机数)。
根据生成的均匀分布随机数来决定输入信号(范围在(0,0.7)为1,范围在(0.7,1)为10)。
计算门限值,将信号加上噪声后的值与门限相比,判断接收到的信号与发送信号是否相同,循环10000次,累积发送信号与接受信号相同的次数,得到检验结果。
(2)头文件:<time.h> /用于设置种子时,使用time函数<random> /用于使用random头文件中的随机引擎类和随机分布类<iostream> /输入输出操作是通过该头文件中的输入输出流cin和cout来实现的。
(3)命名空间:std::tr1(4)随机引擎类:Mersenne -Twister generator(5)随机分布类:uniform_real类生成服从均匀分布的浮点数normal_distribution类生成服从高斯分布的浮点数(6)主程序流程:定义命名空间中的引擎类和分布类、设置种子—>使用for循环,循环次数10000次—>在循环中调用定义过的随机数生成函数,生成随机数—>根据生成随机数范围确定发送信号—>将加上噪声后的信号与计算得到的门限值比较,判断检验是否正确—>输出成功检验概率三、详细设计(1)源程序:#include<time.h>#include<iostream>#include<random>using namespace std::tr1;int main(){std::tr1::mt19937 e; // 随机引擎类:Mersenne Twister generator std::tr1::uniform_real<double>unif(0, 1); //定义均匀分布类,范围为0-1 std::tr1::normal_distribution<double>normal(0, sqrt(5.0));//定义正态分布类,均值为0,方差为5//e.seed((unsigned int)time(NULL));//设置种子,调用time函数float counter = 0.0;for (int i = 0; i<10000; i++){double s = unif(e);double x, y;if (s>0.7) x = 10;else x = 1;y = x + normal(e); //信号和噪声叠加std::cout << y << std::endl;if (y > 5.9707) y = 10;else y = 1;if (y == x) counter++;}counter = counter / 10000;std::cout <<"正确检测概率="<< counter << std::endl;system("pause");return 0;}(2)结果:。
随机信号分析报告实验:随机过程通过线性系统地分析报告
实验三 随机过程通过线性系统的分析实验目的1. 理解和分析白噪声通过线性系统后输出的特性。
2. 学习和掌握随机过程通过线性系统后的特性,验证随机过程的正态化问题。
实验原理1.白噪声通过线性系统设连续线性系统的传递函数为)(ωH 或)(s H ,输入白噪声的功率谱密度为2)(0N S X =ω,那么系统输出的功率谱密度为2)()(02N H S Y ⋅=ωω (3.1) 输出自相关函数为⎰∞∞-=ωωπτωτd e H N R j Y 20)(4)( (3.2)输出相关系数为)0()()(Y Y Y R R ττγ=(3.3) 输出相关时间为⎰∞=00)(ττγτd Y (3.4)输出平均功率为[]⎰∞=202)(2)(ωωπd H N t Y E (3.5)上述式子表明,若输入端是具有均匀谱的白噪声,则输出端随机信号的功率谱主要由系统的幅频特性)(ωH 决定,不再是常数。
2.等效噪声带宽在实际中,常常用一个理想系统等效代替实际系统的)(ωH ,因此引入了等效噪声带宽的概念,他被定义为理想系统的带宽。
等效的原则是,理想系统与实际系统在同一白噪声的激励下,两个系统的输出平均功率相等,理想系统的增益等于实际系统的最大增益。
实际系统的等效噪声带宽为⎰∞=∆022max)()(1ωωωωd H H e (3.6)或⎰∞∞--=∆j j e ds s H s H H j )()()(212maxωω (3.7)3.线性系统输出端随机过程的概率分布 (1)正态随机过程通过线性系统若线性系统输入为正态过程,则该系统输出仍为正态过程。
(2)随机过程的正态化随机过程的正态化指的是,非正态随机过程通过线性系统后变换为正态过程。
任意分布的白噪声通过线性系统后输出是服从正态分布的;宽带噪声通过窄带系统,输出近似服从正态分布。
实验内容设白噪声通过图3.1所示的RC 电路,分析输出的统计特性。
图3.1 RC 电路(1)试推导系统输出的功率谱密度、相关函数、相关时间和系统的等效噪声带宽。
随机过程实验报告
随机过程实验报告随机过程实验报告一、引言随机过程是概率论和数理统计中的一个重要分支,它研究的是随机事件随时间的演化规律。
在现实生活中,我们经常会遇到各种各样的随机过程,比如天气变化、股票价格波动、人口增长等等。
本次实验旨在通过实际观测和数据分析,探究随机过程的特性和规律。
二、实验目的本次实验的主要目的是研究和分析一个具体的随机过程,以加深对随机过程理论的理解。
通过实际观测和数据分析,我们将探究该随机过程的概率分布、平均值、方差等统计特性,并尝试利用数学模型对其进行建模和预测。
三、实验方法我们选择了一个经典的随机过程作为研究对象:骰子的投掷。
我们将进行多次骰子投掷实验,并记录每次投掷的结果。
通过统计分析这些结果,我们可以得到骰子的概率分布、平均值和方差等重要参数。
四、实验过程我们使用了一颗标准的六面骰子进行了100次投掷实验。
每次投掷后,我们记录了骰子的点数,并将这些数据整理成了一个数据集。
五、实验结果通过对实验数据的统计分析,我们得到了以下结果:1. 概率分布我们统计了每个点数出现的次数,并计算了它们的频率。
结果显示,每个点数的频率接近于1/6,符合骰子的均匀分布特性。
2. 平均值我们计算了所有投掷结果的平均值,发现它接近于3.5。
这是因为骰子的点数从1到6,平均为(1+2+3+4+5+6)/6=3.5。
3. 方差我们计算了所有投掷结果的方差,发现它接近于2.92。
方差是衡量随机变量离其均值的分散程度的指标,它的大小反映了骰子点数的变化范围。
六、讨论与分析通过对实验结果的分析,我们可以得出以下结论:1. 骰子的点数具有均匀分布的特性,每个点数出现的概率接近于1/6。
2. 骰子的平均值为3.5,这是由于骰子的点数从1到6,平均为(1+2+3+4+5+6)/6=3.5。
3. 骰子的方差为2.92,这意味着骰子的点数变化范围较大。
通过以上结果,我们可以看出骰子的投掷过程是一个典型的随机过程。
它符合随机过程的基本特性,即随机性和不可预测性。
哈尔滨工程大学 研究生 随机过程课程实验报告~.
第一题:用PC机产生[0,1]均匀分布的白色序列{}kkX(=,3,2,1),2000(1) 打印出前50个数{}iiX=),,(3,2,150(2) 分布检验(3) 均值检验(4) 方差检验(5) 计算出相关函数{}±±=iB(±i),10,2,,0,1x源程序:clear;clc;x=rand(1,2000);fprintf('1.输出前50个数:');for i=1:5j=1:10;X(i,j)=x((i-1)*10+j);endX % 打印出前50个数y1=x(find(x>=0&x<0.1));t(1)=length(y1);y2=x(find(x>=0.1&x<0.2));t(2)=length(y2);y3=x(find(x>=0.2&x<0.3));t(3)=length(y3);y4=x(find(x>=0.3&x<0.4));t(4)=length(y4);y5=x(find(x>=0.4&x<0.5));t(5)=length(y5);y6=x(find(x>=0.5&x<0.6));t(6)=length(y6);y7=x(find(x>=0.6&x<0.7));t(7)=length(y7);y8=x(find(x>=0.7&x<0.8));t(8)=length(y8);y9=x(find(x>=0.8&x<0.9));t(9)=length(y9);y10=x(find(x>=0.9&x<1));t(10)=length(y10) ;fprintf('2.分布检验:');tsubplot(2,1,1);hist(x,10); % 分布检验fprintf('3.均值检验:');EX=mean(x) % 均值检验fprintf('4.方差检验:');DX=var(x) % 方差检验fprintf('5.计算相关函数:');for m=-10:1:10j=2000-abs(m);for i=1:jC(i)=(x(abs(m)+i)-EX).*(x(i)-EX);endB(m+11)=sum(C)/j;endfor i=1:3j=1:7;Bx(i,j)=B((i-1)*7+j);endBx % 计算相关函数subplot(2,1,2)m=-10:10;plot(m,B)1.输出前50个数:X =Columns 1 through 80.1315 0.6175 0.4759 0.0236 0.8753 0.0960 0.5479 0.07460.8483 0.4888 0.4260 0.5609 0.6730 0.1103 0.7614 0.49120.5077 0.5892 0.0702 0.0386 0.4879 0.3002 0.0358 0.79340.4440 0.4423 0.5000 0.0325 0.0196 0.2932 0.0558 0.72080.8507 0.1279 0.4534 0.6225 0.4175 0.6702 0.0820 0.8725 Columns 9 through 100.9542 0.25160.5314 0.59830.5083 0.01650.8429 0.54420.4153 0.55662.分布检验:t =210 192 197 202 197 214 198 191 188 211图(1)分布检验3.均值检验:理论值:EX =0.5实际值:EX =0.49914.方差检验:理论值:DX =1/12实际值:DX =0.0839均值和方差表:5.计算相关函数:Bx =0.0022 0.0011 -0.0010 -0.0014 -0.0013 0.0034 -0.0051-0.0026 0.0018 -0.0019 0.0838 -0.0018 0.0019 -0.0025 -0.0051 0.0033 -0.0014 -0.0015 -0.0013 0.0009 0.0020图(2)相关函数第二题:用PC机产生()1,0kkX(=),N分布的正态序列{},20003,2,1(1)打印出前50个数{}ii=X3,2,1,(50),(2)分布检验(3)均值检验(4)方差检验(5)计算出相关函数{}±±=iB(±i),10,2,,0,1x源程序:clear;clc;x=randn(1,2000);fprintf('1.输出前50个数:');for i=1:5j=1:10;X(i,j)=x((i-1)*10+j);endX % 打印出前50个数y1=x(find(x>=0&x<0.1));t(1)=length(y1);y2=x(find(x>=0.1&x<0.2));t(2)=length(y2);y3=x(find(x>=0.2&x<0.3));t(3)=length(y3);y4=x(find(x>=0.3&x<0.4));t(4)=length(y4);y5=x(find(x>=0.4&x<0.5));t(5)=length(y5);y6=x(find(x>=0.5&x<0.6));t(6)=length(y6);y7=x(find(x>=0.6&x<0.7));t(7)=length(y7);y8=x(find(x>=0.7&x<0.8));t(8)=length(y8);y9=x(find(x>=0.8&x<0.9));t(9)=length(y9);y10=x(find(x>=0.9&x<1));t(10)=length(y10) ;fprintf('2.分布检验:');tsubplot(2,1,1);hist(x,10); % 分布检验fprintf('3.均值检验:');EX=mean(x) % 均值检验fprintf('4.方差检验:');DX=var(x) % 方差检验fprintf('5.计算相关函数:');for m=-10:1:10j=2000-abs(m);for i=1:jC(i)=(x(abs(m)+i)-EX).*(x(i)-EX);endB(m+11)=sum(C)/j;endfor i=1:3j=1:7;Bx(i,j)=B((i-1)*7+j);endBx % 计算相关函数subplot(2,1,2)m=-10:10;plot(m,B)1.输出前50个数:X =Columns 1 through 8-1.0457 -1.0045 -0.7384 -0.9445 -0.1354 -0.4226 1.5979 -0.38110.3409 0.5486 -1.0160 -1.6335 -1.8104 -0.0349 0.6758 -0.8909-0.9381 -1.5436 0.1596 -0.3688 -1.0122 0.1134 0.8850 -0.5823 -0.3197 1.6065 1.0613 0.3005 0.3511 0.9522 -0.6329 -0.8587 -0.0243 0.9170 -0.5015 -0.2513 1.6728 -1.3644 -0.3351 1.2946 Columns 9 through 100.2348 -0.3093-1.8913 2.2175-0.7176 -0.67331.7461 -0.55610.4811 -0.25202.分布检验:t =71 81 70 78 66 62 71 71 58 49图(3)分布检验3.均值检验: 理论值:EX =0实际值:EX = -0.0054 4.方差检验: 理论值:DX =1实际值:DX = 0.9916 均值和方差表:5.计算相关函数: Bx =-0.0097 -0.0258 -0.0077 0.0131 0.0244 -0.0224 0.0590 0.0228 0.0272 0.0208 0.9911 0.0212 0.0271 0.0224 0.0588 -0.0223 0.0238 0.0125 -0.0083 -0.0255 -0.0082图(4)相关函数第三题:设{}1000,3,2,1),( =k k ε为正态白色序列,服从()1,0N 分布,()()()14-+=k k k X εε,1000,3,2,1 =k 求(1) ()()∑==1000110001k k X k EX (2) ()()∑==100012210001k k X k EX(3) ()()()[]22k EX k EX k DX -=(4) ()()[]()[]{}∑-=--+=mn xxx m n X m m n X m B 1000110001,10,,2,1,0±±±= m ,并画出x B (m)图源程序:clfclearp=randn(1,1001);k=2:1001;x=p(k)+4.*p(k-1);m=mean(x)m1=mean(x.^2)s=m1-m.^2for i=-10:10l=0;p=1000-abs(i);for k=1:pl=l+[x(k+abs(i))-m]*[x(k)-m];endb(i+11)=l/p;endi=-10:10;plot(i,b)1. 均值EX:理论值:EX =0实际值:EX =-0.02092.均方值:EX^2:理论值:EX^2= 17实际值:EX^2= 16.39993. 方差DX:理论值:DX = 17实际值:DX = 16.3995均值和方差表:4. 相关函数:B(m) =x0.1462 0.6689 -0.0319 0.1473 0.1085 -0.3709 0.2299 0.6721 0.1214 4.4418 16.8904 4.4418 0.1214 0.6721 0.2299 -0.3709 0.1085 0.1473 -0.0319 0.6689 0.1462图(5) 相关函数第四题:设{()k ξ,k=0,1,2,…}为N (0,1)正态白序列,()k ξ~N(0,1) 令()()()0.7071X k X k k ξ+-=,k =1,2,…,1000; ()10X -=。
实验2.1 随机过程的模拟与特征估计
实验2.1 随机过程的模拟与特征估计实验结果及分析:实验2.1 (1)估计x(n)=0.8*x(n-1)+1+4.*randn(N,1)随机序列的自相关函数和功率谱MATLAB仿真程序%估计x(n)=0.8*x(n-1)+1+4.*randn(N,1)随机序列的自相关函数和功率谱%x(n)=0.8*x(n-1)+1+4.*randn(N,1)随机序列的产生a=0.8;N=500;w=1+2.*randn(N,1);x(1)=w(1);for n=2:Nx(n)=a*x(n-1)+w(n);endsubplot(3,2,1);plot(x);title('随机序列x(n)=0.8*x(n-1)+1+4.*randn(N,1)');grid on%估计自相关函数R=xcorr(x,'coeff');subplot(3,2,2);axis([0 500 0 1]);plot(R);title('自相关函数');grid on%估计功率谱%周期图功率谱估计subplot(3,2,3);periodogram(x,[],512,1000);axis([0 500 -50 0]);title('周期图功率谱估计')%加汉宁窗window=hann(500);subplot(3,2,4);periodogram(x,window,512,1000); axis([0 500 -50 10]);title('汉宁周期功率谱估计')%相关函数法R=xcorr(x)/15000;Pw=fft(R);subplot(3,2,5);f=(0:length(Pw)-1)*1000/length(Pw); plot(f,10*log10(abs(Pw)));axis([0 500 -50 10]);title('BT功率谱估计')grid onsubplot(3,2,6);pwelch(x,128,64,[],1000); axis([0 500 -50 10]);title('韦尔奇功率谱估计'); grid on;实验2.1 (2)x=sin(2*pi*0.05*n)+2*cos(2*pi*0.12*n)+randn(N,1)随机序列的自相关函数和功率谱N=256时的结果:N=1024时的结果:MATLAB仿真程序N=256:%估计x=sin(2*pi*0.05*n)+2*cos(2*pi*0.12*n)+randn(N,1)随机序列的自相关函数和功率谱%x=sin(2*pi*0.05*n)+2*cos(2*pi*0.12*n)+randn(N,1)随机序列的产生N=256; %N=256或1024w=randn(N,1);for n=1:Nx(n)=sin(2*pi*0.05*n)+2*cos(2*pi*0.12*n)+w (n);endsubplot(3,2,1);plot(x);axis([0 260 -8 8]);title('随机序列x(N)=sin(2*pi*0.05*n)+2*cos(2*pi*0.12*n)+r andn(N,1)/N=256');grid on%估计自相关函数R=xcorr(x,'coeff');subplot(3,2,2);plot(R);axis([0 500 -1 1]);title('自相关函数/N=256');grid on%估计功率谱%周期图功率谱估计subplot(3,2,3);periodogram(x,[],512,1000); axis([0 500 -50 0]);title('周期图功率谱估计/N=256')%加汉宁窗window=hann(256);subplot(3,2,4);periodogram(x,window,256,1000); axis([0 500 -50 10]);title('汉宁周期功率谱估计')%相关函数法R=xcorr(x)/15000;Pw=fft(R);subplot(3,2,5);f=(0:length(Pw)-1)*1000/length(Pw); plot(f,10*log10(abs(Pw)));axis([0 500 -50 10]);title('BT功率谱估计/N=256')grid onsubplot(3,2,6);pwelch(x,128,64,[],1000);axis([0 500 -50 10]);title('韦尔奇功率谱估计/N=256'); grid on;N=1024:%估计x=sin(2*pi*0.05*n)+2*cos(2*pi*0.12*n)+randn(N,1)随机序列的自相关函数和功率谱%x=sin(2*pi*0.05*n)+2*cos(2*pi*0.12*n)+randn(N,1)随机序列的产生N=1024; %N=256或1024w=randn(N,1);for n=1:Nx(n)=sin(2*pi*0.05*n)+2*cos(2*pi*0.12*n)+w (n);endsubplot(3,2,1);plot(x);axis([0 1030 -8 8]);title('随机序列x(N)=sin(2*pi*0.05*n)+2*cos(2*pi*0.12*n)+r andn(N,1)/N=1024');grid on%估计自相关函数R=xcorr(x,'coeff');subplot(3,2,2);plot(R);axis([0 2000 -1 1]);title('自相关函数/N=1024');grid on%估计功率谱%周期图功率谱估计subplot(3,2,3); periodogram(x,[],1024,1000);axis([0 500 -50 0]);title('周期图功率谱估计/N=1024')%加汉宁窗window=hann(1024);subplot(3,2,4);periodogram(x,window,1024,1000); axis([0 500 -50 10]);title('汉宁周期功率谱估计')%相关函数法R=xcorr(x)/15000;Pw=fft(R);subplot(3,2,5);f=(0:length(Pw)-1)*1000/length(Pw); plot(f,10*log10(abs(Pw)));axis([0 500 -50 10]);title('BT功率谱估计/N=1024')grid onsubplot(3,2,6);pwelch(x,128,64,[],1000);axis([0 500 -50 10]);title('韦尔奇功率谱估计/N=1024'); grid on;。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验名称:相关正态随机过程的仿真
一、实验目的
以正态随机过程为例,掌握离散时间随机过程的仿真方法,理解正态分布随机过程与均匀分布随机过程之间的相互关系,理解随机过程的相关函数等数值特征;培养计算机编程能力。
二、实验内容
相关正态分布离散随机过程的产生
(1)利用计算机语言的[0,1]区间均匀分布随机数产生函数生成两个相互独立的序列
{U1(n)|n=1,2,…100000},{U2(n)|n=1,2,…100000}
程序代码:
clc;
N=100000;
u1=rand(1,N);
u2=rand(1,N);%----------------在[0,1] 区间用rand函数生成两个相互独立的随机序列
n1=hist(u1,10);%--------------------------hist函数绘制分布直方图
subplot(121);%-----------------------------一行两列中的第一个图
bar(n1);
n2=hist(u2,10);
subplot(122);
bar(n2);
实验结果:
(2)生成均值为m=0,根方差σ=1的白色正态分布序列
{e(n)|n=1,2, (100000)
[][]m n u n u n +=)(2cos )(ln 2-)(e 21πσ
程序代码:
clc;
N=100000;
u1=rand(1,N);
u2=rand(1,N);%---------------在[0,1] 区间用rand 函数生成两个相互独立的随机序列 en=sqrt(-2*log(u1)).*cos(2*pi*u2);%--------定义白色正态分布e(n)
n=hist(en,100);%--------------------------hist 函数绘制分布直方图
bar(n); 实验结果:
(3)假设离散随机过程x(n)服从均值为x m =0、根方差为2x =σ、相关函数为||2)(r k x x k ασ= )6.0(=α
功率谱函数为
∑∞
-∞=----=-=k jw jw x x x e e jwk k r w P )1)(1()1()exp()()(22ααασ 1
211)(---=z z G x αασ 随机过程x(n)的生成方法为
)(1)1()(x 2n e n x n x ασα-+-= (n=1,2,…100000)
给定初始条件x(0)=0
程序代码:
clc;
N=100000;
u1=rand(1,N);
u2=rand(1,N);%---------------在[0,1] 区间用rand 函数生成两个相互独立的随机序列 en=sqrt(-2*log(u1)).*cos(2*pi*u2);%--------定义白色正态分布e(n)
a=0.6;
x(1)=2*sqrt(1-a*a)*en(1);%-----------------初始化
for n=1:100000-1;
x(n+1)=a*x(n)+2*sqrt(1-a*a).*en(n+1);
end%------------------------------------生成随机过程x(n)
hist(x,100);%--------------------------hist 函数绘制分布直方图
实验结果:
(4)采用集合统计的方法计算
∑==1000001'
)(1000001n x n x m ∑==10000012'
)(1000001n x n x σ ∑-=+-=k n x k n x n x k r 1000001'
)()(1000001 )4,3,2,1(=k 验证计算出来的统计参数与理论值是否一致,差异大小
程序代码:
sum=0;
for i=1:100000
sum=sum+x(i);%--------------------表示x(n)的1到100000项的累加和
end
mx=sum/100000%-----------------------------算出mx 的值
sum=0;
for i=1:100000
sum=sum+x(i)*x(i);%--------------------表示x(n)*x(n)的1到100000项的累加和 end
ax=sqrt(sum/100000)%-----------------------算出标准差
for k=1:4
sum=0;%--------------------------------sum 清零
for j=1:100000-k
sum=sum+x(j)*x(j+k);
end
r(k)=sum/(100000-k);%------------------用集合统计的方法算出相关函数
end
r%-----------------------------------------算出r 的值
实验结果:
(5)采用计算机程序计算正态分布的区间积分
00001.0]22)00001.0(exp[221
]22exp[2212000001222
22⨯⨯⨯-⨯=⨯-⨯=∑⎰=i i ds s P ππ
根据已生成的序列x(n),在100000个数据中,分别计算(-∞,-2),
[-2,0],(0,2],[2,∞)区间上数据出现的比例P1,P2,P3,P4。
比较P1,P2,P3,P4与理想值(0.5-P ), P , P ,(0.5-P )的一致性。
程序代码:
num1=0;num2=0;num3=0;num4=0;
for i=1:100000
if(x(i)<-2)
num1=num1+1;
else if(x(i)>=-2)&(x(i)<=0)
num2=num2+1;
else if(x(i)>0)&(x(i)<=2)
num3=num3+1;
else
num4=num4+1;
end
end
end
end
disp('实验值为')
p1=num1/100000
p2=num2/100000
p3=num3/100000
p4=num4/100000
p2=0;
for i=1:200000
p2=p2+1/(sqrt(2*pi)*2)*exp(-(i*0.00001)*(i*0.00001)/(2*2*2))*0.00001;
end
p3=p2;
p1=(1-2*p2)/2;
p4=p1;
disp('理想值为')
p1,p2,p3,p4
实验结果:
三、实验体会
学会了MATLAB的基本使用,用来进行随机过程的仿真十分
方便,不过对一些系统函数的功能还不熟悉,以及将文字叙述转化为程序代码能力还需要提高,对相关正态分布离散随机过程的产生有了更深的了解。