随机信号分析实验报告——基于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)均匀分布随机数,通常采用的方法为线性同余法,公式如下:y0=1,y n=ky n(mod N)⁄x n=y n N序列{x n}为产生的(0,1)均匀分布随机数。
定理1.1若随机变量X 具有连续分布函数F x(x),而R 为(0,1)均匀分布随机变量,则有X=F x−1(R)2.MATLAB中产生随机序列的函数(1)(0,1)均匀分布的随机序列函数:rand用法:x = rand(m,n)功能:产生m×n 的均匀分布随机数矩阵。
(2)正态分布的随机序列函数:randn用法:x = randn(m,n)功能:产生m×n 的标准正态分布随机数矩阵。
如果要产生服从N(μ,σ2)分布的随机序列,则可以由标准正态随机序列产生。
(3)其他分布的随机序列分布函数分布函数二项分布binornd 指数分布exprnd泊松分布poissrnd 正态分布normrnd 离散均匀分布unidrnd 瑞利分布raylrnd 均匀分布unifrnd X2分布chi2rnd3.随机序列的数字特征估计对于遍历过程,可以通过随机序列的一条样本函数来获得该过程的统计特征。
这里我们假定随机序列X(n)为遍历过程,样本函数为x(n),其中n=0,1,2,……N-1。
那么,X(n)的均值、方差和自相关函数的估计为m̂X=1N∑x(n)N−1n=0σ̂X2=1N−1∑[x(n)−m̂X]2N−1n=0R̂X(m)=1N−|m|∑x(n)x(n+m) m=0,±1,±2⋯N−1n=0利用MATLAB的统计分析函数可以分析随机序列的数字特征。
(1)均值函数函数:mean用法:m = mean(x)功能:返回按1.3式估计X(n)的均值,其中x为样本序列x(n)。
(2)方差函数函数:var用法:sigma2 = var(x)功能:返回按(1.4)式估计X(n)的方差,其中x为样本序列x(n),这一估计为无偏估计。
(3)互相关函数函数:xcorr用法:c = xcorr(x,y)c = xcorr(x)c = xcorr(x,y,'opition')c = xcorr(x,'opition')功能:xcorr(x,y)计算X(n)与Y(n)的互相关,xcorr(x)计算X(n)的自相关。
option 选项可以设定为:'biased' 有偏估计'unbiased' 无偏估计'coeff' m = 0 时的相关函数值归一化为1'none' 不做归一化处理实验内容及实验结果1.采用线性同余法产生均匀分布随机数1000个,计算该序列均值和方差与理论值之间的误差大小。
改变样本个数重新计算。
程序代码:y=1;k=7;N=10^10;xn=[];for i=1:1000y=mod(y*k,N);x=y/N;xn=[xn x];endm=mean(xn)n=var(xn)me=0.5-mne=1/12-n实验结果:m = 0.4813n = 0.0847me= 0.0187ne= -0.00132.参数为λ的指数分布的分布函数为F X(x)=1−e−λx利用反函数法产生参数为0.5的指数分布随机数1000个,测试其方差和相关函数。
程序代码:j=1:1999;y=1;k=7;N=10^10;xn=[];for i=1:1000y=mod(y*k,N);x=y/N;xn=[xn x];endy=(-2)*log(1-xn);n=var(y)c=xcorr(y,'coeff');plot(j-1000,c);实验结果:方差 n=3.7596自相关函数:3. 产生一组N(1,4)分布的高斯随机数(1000个样本),估计该序列的均值、方差、和相关函数。
程序代码: i=1:1000; j=1:1999;x=normrnd(1,2,1,1000); m=mean(x) n=var(x)c=xcorr(x,'coeff'); subplot(211); plot(i,x);title(‘随机序列’); subplot(212); plot(j-1000,c);title(‘自相关函数’);实验结果: 均值 m=1.0082 方差 n=3.8418-1000-800-600-400-200200400600800100000.10.20.30.40.50.60.70.80.91实验小结本次实验对随机数的生成做了练习。
具体来说,包括线性同余法,生成已知分布函数的随机数,rand 函数等,还有就是有关均值、方差、相关的调用函数。
01002003004005006007008009001000-5510随机序列-1000-800-600-400-20002004006008001000-0.500.51自相关函数实验二随机过程的模拟与数字特征实验目的1.学习利用 MATLAB模拟产生随机过程的方法。
2.熟悉和掌握特征估计的基本方法及其 MATLAB实现。
实验原理1.正态分布白噪声序列的产生MATLAB提供了许多产生各种分布白噪声序列的函数,其中产生正态分布白噪声序列的函数为randn。
函数:randn用法:x = randn(m,n)功能:产生 m×n的标准正态分布随机数矩阵。
如果要产生服从N(μ,σ2)分布的随机序列,则可以由标准正态随机序列产生。
如果X~N(0,1),则μ+σX~N(μ,σ)。
2.相关函数估计MATLAB提供了函数 xcorr用于自相关函数的估计。
函数:xcorr用法:c = xcorr(x,y)c = xcorr(x)c = xcorr(x,y,'opition')c = xcorr(x,'opition')功能:xcorr(x,y)计算 X (n)与 Y(n)的互相关,xcorr(x)计算 X (n)的自相关。
Option 选项可以设定为:'biased' 有偏估计。
'unbiased' 无偏估计。
'coeff' m =0时的相关函数值归一化为1。
'none' 不做归一化处理。
3.功率谱估计对于平稳随机序列 X (n),如果它的相关函数满足+∞∑|R X(m)|<∞m=−∞那么它的功率谱定义为自相关函数R X(m)的傅里叶变换:+∞S X(ω)=∑R X(m)e−jmωm=−∞功率谱表示随机信号频域的统计特性,有着重要的物理意义。
我们实际所能得到的随机信号的长度总是有限的,用有限长度的信号所得的功率谱只是真实功率谱的估计,称为谱估计或谱分析。
功率谱估计的方法有很多种,以下是两种通用谱估计方法。
(1)自相关法先求自相关函数的估计R X(m),然后对自相关函数做傅里叶变换。
ŜX(ω)=∑R̂X(m)e−jmωN−1m=−(N−1)其中N表示用于估计样本序列的样本个数。
(2)周期图法先对样本序列 x(n)做傅里叶变换X(ω)=∑x(n)N−1n=0e−jmω其中0≤n≤N−1,则功率谱估计为ŜX(ω)=1N|X(ω)|2MATLAB函数 periodogram实现了周期图法的功率谱估计。
函数:periodogram用法:[Pxx,w] = periodogram(x)[Pxx,w] = periodogram(x,window)[Pxx,w] = periodogram(x,window,nfft)[Pxx,f] = periodogram(x,window,nfft,fs)periodogram(...)功能:实现周期图法的功率谱估计。
其中:Pxx为输出的功率谱估计值;f为频率向量;w为归一化的频率向量;window代表窗函数,这种用法种对数据进行了加窗,对数据加窗是为了减少功率谱估计中因为数据截断产生的截断误差,表 2.1列出了产生常用窗函数的MATLAB函数窗函数MATLAB函数窗函数MATLAB函数矩形窗boxcar Blackman窗blackman三角窗triang Chebyshev窗chebwinHanning窗hann Bartlett窗bartlettHamming hamming Kaiser窗kaiser nfft设定 FFT算法的长度;fs表示采样频率;如果不指定输出参数(最后一种用法),则直接会出功率谱估计的波形。
实验内容及实验结果1.按如下模型产生一组随机序列x(n)=0.8x(n−1)+ω(n)其中ω(n)是均值为1,方差为4的正态分布白噪声序列。
估计过程的自相关函数和功率谱。
程序代码:w=normrnd(1,4,1,1024);x(1)=w(1);i=2;while i<1025x(i)=0.8*x(i-1)+w(i); i=i+1; endR=xcorr(x);[S,W]=periodogram(x);subplot(3,1,1); plot(x);title('x(n)');axis tight; subplot(3,1,2); plot(R);title('R(m)');axis tight; subplot(3,1,3); plot(S);title('S(W)');axis tight;实验结果:2. 设信号为x (n )=sin (2πf 1n )+2cos (2πf 2n )+ω(n )其中f 1=0.05,f 2=0.12,ω(n )为正态分布白噪声序列,试在N=256和N=1024点时,分别产生随机序列x (n ),画出x (n )的波形并估计x (n )的相关函数和功率谱。