统计信号分析与处理实验报告.docx





《统计信号分析与处理实验报告.docx》由会员分享,可在线阅读,更多相关《统计信号分析与处理实验报告.docx(23页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、统计信号分析与处理实验报告 试验2 随机过程的计算机模拟 一、试验目的 1、给定功率谱(相关函数)和概率分布,通过计算机模拟分析产生相应的随机过程; 2、通过该随即过程的实际功率谱(相关函数)和概率分布验证该试验的有效性; 3、学会运用Matlab 函数对随机过程进行模拟。 二、试验原理 1、标准正态分布随机序列的产生方法:利用随机变量函数变换的方法。 设r1,r2为两个相互独立的(0,1)匀称分布的随机数,假如要产生听从均值为m,方差为正态分布的随机数x,则可以按如下变换关系产生: 2、正态随机矢量的模拟:设有一 N 维正态随机矢量 ,其概率密度为 为协方差矩阵,且是正定的。 3、具有有理谱
2、的正态随机序列的模拟 依据随机过程通过线性系统的理论,白噪声通过线性系统后,输出是正态的,且输出功 率谱只与系统的传递函数有关。利用这一性质,我们可以产生正态随机过程。 如上图所示,输入W(n)为白噪声,假定功率谱密度为G (z) = 1 W ,通过离散线性系统 后,输出X (n)是正态随机序列,由于要求模拟的随机序列具有有理谱,则G (z) X 可表示为: 其中,G (z) X+ 表示有理谱部分,即全部的零极点在单位圆之内,G (z) X 表示非有理谱部分,即全部零极点在单位圆之外。 4、满意肯定相关函数的平稳正态随机过程的模拟,当已知平稳随机过程的相关函数而要确定该随机过程的模拟算法。很明
3、显,只要我们设计一个合适的滤波器,使得该白噪声通过滤波器后,输出的功率谱满意上述相关函数的傅里叶变换,就可以模拟得到该随机过程。 三、试验内容 1、产生两组相互独立的(0,1)匀称分布的随机数(随机数个数:500) 程序及图形如下: clear; x=randn(1,500); y= randn(1,500); subplot(2,1,1); plot(x); title(其次组); subplot(2,1,2); plot(y); title(第一组) 2、根据试验原理中的方法产生一组均值为1,方差为1 的正态分布的随机序列(序列长度:500) 程序及图形如下: clear; y=1+sqr
4、t(1)*randn(1,500); plot(y); title(正态分布,均值方差都为1) 3、画出功率谱密度为G(w)=1/(1.25+cosw) 的功率谱图(一个周期内),采纳匀称采样方法,采样点数为500 程序及图形如下: clear; w=rand(1,500); M=1.25+cos(w); N=1; G=N./M; plot(G); title(匀称采样功率频谱); 5、模拟产生一个功率谱为G(w)=1/(1.25+cosw) 的正态随机序列 程序及图形如下: clear; w=randn(1,500); M=1.25+cos(w); N=1; G=N./M; plot(G);
5、 title(匀称采样功率频谱); 四、试验中所遇到问题及解决方法 问题 1、对Matlab软件很生疏、编程也不熟识。 解决方法:我和同学利用学校资源和网络查找和参看了很多有关Matlab的资料,对其中一些基本学问和有关随机信号处理的章节作了具体了解和练习。同时也向老师同学请教,经过试验课上和平常的练习,慢慢地有了一些好的进展,这个过程很漫长,但是很值得我们花时间和精力去了解。 问题 2、对Matlab中与统计信号处理随机过程中的某些函数的运用很有困难。 解决方法:也是查找Matlab的书籍中有关内容,然后在Matlab上学会用help中的相关协助、查找功能。 问题 3、运用Matlab编程时
6、编写的程序经过运行之后有错,而且很难发觉其中错误。 解决方法:充分利用Matlab运行出错之后的英文提示进行分析和改正,然后也要比较Matlab语言与C语言的差异和共同点,这样比较学习有利于我们更好地了解这门语言。 五、试验总结及心得体会 试验总结: 本试验是运用Matlab作为工具来对随机过程中的功率谱(相关函数)和概率分布函数进行模拟和验证,由于随机过程中涉及的数据和运运算往往比较繁多和困难,运用Matlab这个软件的强大的数据、运算和图像处理功能可以很好的解决随机过程中的一些问题。 此外,这个试验也从实际动手的角度加深了我们对随机过程特征估计的理解,运用Matlab处理的图形也可以很深刻
7、的帮助我们理解相关学问。 心得体会: 这次试验对于同学和我来说刚起先时是很不简单的,但是经过和同学的协作、查找参看一些相关资料,我们对Matlab的实际操作之后,我们还是有一些收获的,我们对Matlab有了进一步相识,对于随机过程这一重要内容也有所了解,对于统计信号分析的一些学问也不仅仅只是再停留在理论方面了,这次试验让我们以实际动手的方式去认知感受统计信号的学问。更重要的是我觉得,这次试验也在肯定程度上,熬炼、提高我们通信工程专业学生的依据理论分析和试验工具来设计分析试验的思维和实力。 此外,我们发觉做试验时理论学问也是很重要的,只有对理论学问有了很深的理解,这样才有可能运用课堂所学内容去指
8、导实践,也只有这样的实践才会加强我们对学问的驾驭程度。 试验3 随机过程的特征估计 一、试验目的 1、了解随机过程特征估计的基本概念和方法; 2、学会运用Matlab 函数对随机过程进行特征估计; 3、通过试验了解不同估计方法所估计出来结果之间的差异。 二、试验原理 设随机序列 X(n)、Y(n)为各态历经过程,样本分别为x(n)、y(n)(n=0,1,.N-1)。 1、均值的估计 2、方差的估计 方差估计有两种状况,假如均值 mx 已知,则 假如均值未知,那么 3、相关函数估计 4、功率谱估计 功率谱的估计有几种方法, (1)自相关法:先求相关函数的估计, 然后对估计的相关函数做傅立叶变换,
9、 (2)周期图法:先对序列 x(n)做傅立叶变换, 则功率谱估计为 周期图法是一种非参数谱估计方法,另外还有一种修正的周期图方法,也叫Welch 法, MATLAB 有周期图和Welch 法的谱估计函数。 (3)现代谱估计技术 现代谱估计主要有参数谱估计和子空间谱估计。参数谱估计法是假定待估计功率谱的信号是白噪声驱动线性系统的输出,常用的方法有基于最大墒估计的伯格算法和Yuler-Walk自回来(AR)方法,这些方法是估计线性系统的参数,通常会得到比经典谱估计方法更好的估计。子空间法也称为高辨别率谱估计或超辨别率谱估计,常用的方法有MUSIC 法和特征矢量法,这些方法是依据相关矩阵的特征分析或
10、特征分解得到对信号的频率重量的估计,特殊适合于线谱(即正弦信号)的估计,是低信噪比环境下检测正弦信号的有效方法。 MATLAB 有很多估计数字特征的统计函数: 1.均值与方差mean(A),返回序列的均值,序列用矢量A 表示。VAR(X),返回序列X 的方差。 2.相互关函数估计xcorr用法: c = xcorr(x,y) c = xcorr(x) c = xcorr(x,y,option) c = xcorr(x,option) xcorr(x,y)计算X 与Y 的相互关,矢量X 表示序列x(n),矢量Y 表示序列y(n)。xcorr(x)计算X 的自相关。option 选项是: bias
11、ed:有偏估计 unbiased::无偏估计 coeff:m=0 的相关函数值归一化为1。 none:不作归一化处理。 3.功率谱估计:MATLAB 供应了很多功率铺估计的函数: 三、试验内容 1、产生一组均值为1,方差为4 的正态分布的随机序列(1000 个样本),估计该序列的均值与方差。 程序及图形为: clc,clear N=1000;alp=1;sig=1;delt=1;a=1; mm=zeros(1,N);x1=rand(1,N);x2=rand(1,N); x3=a.*sqrt(-2*log(x1).*cos(2*pi*x2)+mm; %产生随高斯分布的随机数 y(1)=sig*x
12、3(1); for n=2:N y(n)=exp(-alp)*y(n-1)+sig*sqrt(1-exp(-2*alp*delt)*x3(n); end i=1:N; plot(i,y); hold on; plot(i,mm,-);title(正态分布随机序列) M=0;for i=1:N M=M+y(i);endM=M/ND=0;for i=1:N D=D+(y(i)-M)2; end D=D/N for m=1:N %计算自相关函数正半轴% for n=1:N-m+1 rr(n)=y(n)*y(n+m-1); end r2(m)=sum(rr)/N;end M =-0.0061 D =
13、0.8837 2、按如下模型产生一组随机序列: x(n)=0.8x(n-1)+w(n) 其中w(n)为均值为1,方差为4 的正态分布白噪声序列。估计过程的自相关函数与功率谱。程序及图形为: N=500; u=randn(N,1); w=1+2.*u; x(1)=w(1); for i=2:N; x(i)=0.8*x(i-1)+w(i); end subplot(2,2,1); plot(x); subplot(2,2,3); R=xcorr(x,coeff); plot(R); subplot(2,2,4); P=periodogram(x); plot(P); 3、设信号为x(n)=sin(
14、2f1n)+2cos(2f2n)+w(n),n=1,2,.,N,其中f1=0.05,f2=0.12,w(n)为正态白噪声,试在N=356 和1024 点时,分别产生随机序列x(n)、画出x(n)的波形并估计x(n)的相关函数和功率谱。 程序及图形为: Fs=1000; n=0:1/Fs:1; xn=sin(2*pi*0.05*n)+2*cos(2*pi*0.12*n)+randn(size(n); nfft=356; subplot(3,1,1) plot(n,abs(xn) title(x(n)=sin(2pi*f1*n)+2cos(2pi*f1*n)+w(n) cxn=xcorr(xn,u
15、nbiased); CXk=fft(cxn,nfft); Pxx=abs(CXk); index=0:round(nfft/2-1); k=index*Fs/nfft; plot_Pxx=10*log10(Pxx(index+1); subplot(3,1,2) plot(k,plot_Pxx) title(相关函数) window=boxcar(length(xn); Pxx,f=periodogram(xn,window,nfft,Fs); Subplot(3,1,3) plot(f,10*log10(Pxx) title(功率谱) 四、试验中所遇到问题及解决方法 问题 1、对Matlab
16、软件很生疏、编程也不熟识。 解决方法:我和同学利用学校资源和网络查找和参看了很多有关Matlab的资料,对其中一些基本学问和有关随机信号处理的章节作了具体了解和练习。同时也向老师同学请教,经过试验课上和平常的练习,慢慢地有了一些好的进展,这个过程很漫长,但是很值得我们花时间和精力去了解。 问题 2、对统计信号处理随机过程中的相关函数及功率谱的概念及算法不是特殊熟识。 解决方法:查找相关资料和仔细参看课本,多次和同学探讨之后就对相关函数和功率谱的熟识程度渐渐增加。 问题 3、对Matlab中与统计信号处理随机过程中的均值、方差、相关函数及功率谱的函数的运用很有困难。 解决方法:也是查找Matla
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 统计 信号 分析 处理 实验 报告

限制150内