资源描述:
《统计信号分析与处理实验报告》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、一、实验目的和要求了解随机过程特征估计的基本概念和方法,学会运用Matlab函数对随机过程进行特征估计,并且通过实验了解不同估计方法所估计出来结果之间的差异。二、实验环境、内容和方法内容:实验原理设随机序列X(n)、Y(n)为各态历经过程,样本分别为x(n)、y(n)(n=0,1,....N-1)。1、均值的估计2、方差的估计方差估计有两种情况,如果均值mx已知,则如果均值未知,那么3、相关函数估计4、功率谱估计功率谱的估计有几种方法,(1)自相关法先求相关函数的估计然后对估计的相关函数做傅立叶变换,(2)周期图法先对序列x(n)做傅立叶
2、变换,则功率谱估计为周期图法是一种非参数谱估计方法,另外还有一种修正的周期图方法,也叫Welch法,MATLAB有周期图和Welch法的谱估计函数。(3)现代谱估计技术现代谱估计主要有参数谱估计和子空间谱估计。参数谱估计法是假定待估计功率谱的信号是白噪声驱动线性系统的输出,常用的方法有基于最大墒估计的伯格算法和Yuler-Walk自回归(AR)方法,这些方法是估计线性系统的参数,通常会得到比经典谱估计方法更好的估计。子空间法也称为高分辨率谱估计或超分辨率谱估计,常用的方法有MUSIC法和特征矢量法,这些方法是根据相关矩阵的特征分析或特征分
3、解得到对信号的频率分量的估计,特别适合于线谱(即正弦信号)的估计,是低信噪比环境下检测正弦信号的有效方法。三、实验过程描述第一题1)、产生一组均值为1,方差为4的正态分布的随机序列(1000个样本),估计该序列的均值与方差。2)画出图像的代码如下:n=1:1:1000;w(n)=1+randn(1,1000)*sqrt(4);plot(n,w(n));mean(w(n))ans=1.0711var(w(n))ans=4.05493)运行以上代码,得到如下图:第二题1)按如下模型产生一组随机序列:x(n)=0.8x(n-1)+w(n),其中
4、w(n)为均值为1,方差为4的正态分布白噪声序列。估计过程的自相关函数与功率谱。2)编写代码如下:forn=1:1:1000;ifn<2;x(n)=rand(1);else;x(n)=0.8*x(n-1)+randn(1)*sqrt(4)+1;end;end;n=1:1:1000;figure(1);plot(n,(x(n)));title('随机数列x(n)');Fs=1000;window=boxcar(length(x(n)));[Pxx,w]=periodogram(x(n),window,n,Fs);c=xcorr(x(n));
5、figure(2);subplot(1,2,1);plot(c);title('估计过程的自相关函数')subplot(1,2,2);plot(w,10*log10(Pxx));title('估计过程的功率谱')2)运行以上代码,得到如下图:第三题1)设信号为x(n)=sin(2πf1n)+2cos(2πf2n)+w(n),n=1,2,....,N,其中f1=0.05,f2=0.12,w(n)为正态白噪声,试在N=356和1024点时,分别产生随机序列x(n)、画出x(n)的波形并估计x(n)的相关函数和功率谱。2)编写代码如下:f1=0
6、.05;f2=0.12;n=1:365;x(n)=sin(2*pi*f1*n)+2*cos(2*pi*f2*n)+randn(1);Fs=1000;window=boxcar(length(x(n)));[Pxx,w]=periodogram(x(n),window,n,Fs);subplot(3,2,1);plot(n,x(n));title('N=365点时产生的随机序列x(n)')c=xcorr(x(n))subplot(3,2,3);plot(c);title('N=365点时产生的随机序列x(n)的自相关函数')subplot(
7、3,2,5);plot(w,10*log10(Pxx));title('N=365点时产生的随机序列x(n)的功率谱')n=1:1024;x(n)=sin(2*pi*f1*n)+2*cos(2*pi*f2*n)+randn(1);subplot(3,2,2);plot(n,x(n));title('N=1024点时产生的随机序列x(n)')c=xcorr(x(n));subplot(3,2,4);plot(c);title('N=1024点时产生的随机序列x(n)的自相关函数')window=boxcar(length(x(n)));Fs
8、=1000;[Pxx,w]=periodogram(x(n),window,n,Fs);subplot(3,2,6);plot(w,10*log10(Pxx));title('N=1024点时