《统计信号分析与处理实验报告.docx》由会员分享,可在线阅读,更多相关《统计信号分析与处理实验报告.docx(23页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
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
17、b的书籍中有关内容,然后在Matlab上学会用help中的相关协助、查找功能。 五、试验总结及心得体会 试验总结: 本试验是运用Matlab作为工具来对随机过程中的一些特征值进行计算和估计,由于随机过程中涉及的数据和运运算往往比较繁多和困难,运用Matlab这个软件的强大的数据、运算和图像处理功能可以很好的解决随机过程中的一些问题。随机过程特征估计主要包括均值、方差、相关函数及功率谱的估计,这些值可以很全面很简要的概括描述随机过程的一些特征。 此外,这个试验也从实际动手的角度加深了我们对随机过程特征估计的理解,运用Matlab处理的图形也可以很深刻的帮助我们理解相关学问。 心得体会: 这次试验
18、对队员和我来说刚起先时是很不简单的,但是经过和同学的协作、查找参看一些相关资料,我们对Matlab的实际操作之后,我们还是有一些收获的,我们对Matlab有了进一步相识,对于随机过程这一重要内容也有所了解,对于统计信号分析的一些学问也不仅仅只是再停留在理论方面了,这次试验让我们以实际动手的方式去认知感受统计信号的学问。更重要的是我觉得,这次试验也在肯定程度上,熬炼、提高我们通信工程专业学生的依据理论分析和试验工具来设计分析试验的思维和实力。 试验5 典型时间序列AR模型分析 一、试验目的 1,、熟识一种典型的时间序列模型:AR 模型; 2、理解并分析AR模型的原理; 3、学会运用 Matlab
19、工具对AR模型进行统计特性分析; 4、通过对模型的仿真分析,探讨该模型的适用范围,并且通过试验分析理论分析与试验结果之间的差异。 二、试验原理 在生产和科学探讨中,对某一个或一组变量x(t)进行视察测量,将在一系列时刻t1, t2, , tn (t为自变量且t1 AR模型,即自回来(AutoRegreive, AR)模型又称为时间序列模型,数学表达式为AR : y(t)=a1y(t-1)+.any(t-n)+e(t) 其中,e(t)为均值为0,方差为某值的白噪声信号。AR模型是一种线性预料,即已知N个数据,可由模型推出第N点前面或后面的数据(设推出P点),所以其本质类似于插值,其目的都是为了增
20、加有效数据,只是AR模型是由N点递推,而插值是由两点(或少数几点)去推导多点,所以AR模型要比插值方法效果更好。 时间序列分析是依据系统观测得到的时间序列数据,通过曲线拟合和参数估计来建立数学模型的理论和方法。它一般采纳曲线拟合和参数估计方法(如非线性最小二乘法)进行。 时间序列建模基本步骤是: 用观测、调查、统计、抽样等方法取得被观测系统时间序列动态数据。 依据动态数据作相关图,进行相关分析,求自相关函数。相关图能显示出改变的趋势和周期,并能发觉跳点和拐点。跳点是指与其他数据不一样的观测值。假如跳点是正确的观测值,在建模时应考虑进去,假如是反常现象,则应把跳点调整到期望值。拐点则是指时间序列
21、从上升趋势突然变为下降趋势的点。假如存在拐点,则在建模时必需用不同的模型去分段拟合该时间序列,例如采纳门限回来模型。 辨识合适的随机模型,进行曲线拟合,即用通用随机模型去拟合时间序列的观测数据。对于短的或简洁的时间序列,可用趋势模型和季节模型加上误差来进行拟合。对于平稳时间序列,可用通用ARMA模型(自回来滑动平均模型)及其特别状况的自回来模型、滑动平均模型或组合-ARMA模型等来进行拟合。当观测值多于50个时一般都采纳ARMA模型。对于非平稳时间序列则要先将观测到的时间序列进行差分运算,化为平稳时间序列,再用适当模型去拟合这个差分序列。 AR 模型分析 首先要依据给定二阶的 AR 过程,用递
22、推公式得出最终的输出序列,或者根据一个白噪声通过线性系统的方式得到,依据函数产生相应的样本函数,并画出波形;然后,估计均值和方差,画出理论的功率谱密度曲线;最终,运用Yule-Walker方程可以求出理论的 AR 模型的自相关序列,估计自相关函数和功率谱密度。 三、试验内容 1、熟识试验原理,将试验原理上的程序应用 matlab 工具实现; 2、设有AR(2)模型, x(n) =W(n)+0.3W(n-1)+0.2W(n-2) W(n)是零均值正态白噪声,方差为4。 (1)用MATLAB 模拟产生X(n)的500 观测点的样本函数,并绘出波形。 (2)用产生的500 个观测点估计X(n)的均值
23、和方差。 (3)画出理论的功率谱。 (4)估计X(n)的相关函数和功率谱。 分析:给定二阶的 AR 过程,可以用递推公式得出最终的输出序列。或者根据一个白噪声通过线性系统的方式得到,这个系统的传递函数为: 11+0.3z-1+0.2z-2 这是一个全极点的滤波器,具有无限长的冲激响应。对于功率谱,可以这样得到 可以看出,P ()x 完全由两个极点位置确定。对于 AR 模型的自相关函数 这称为Yule-Walker方程,当相关长度大于p 时,由递推式求出: 这样,就可以求出理论的 AR 模型的自相关序列。 详细步骤: 1.产生样本函数,并画出波形 题目中的 AR 过程相当于一个零均值正态白噪声通
24、过线性系统后的输出,可以根据上面的方法进行描述。 程序及仿真图形依次如下: clear all; b=1; a=1 0.3 0.2; % 由描述的差分方程,得到系统传递函数 h=impz(b,a,20); % 得到系统的单位冲激函数,在20点处已经可以认为值是0 randn(state,0); w=normrnd(0,2,1,500); % 产生题设的白噪声随机序列,标准差为2 x=filter(b,a,w); % 通过线形系统,得到输出就是题目中要求的2阶AR过程 plot(x,r);ylabel(x(n);title(产生的AR随机序列);grid 2.估计均值和方差 可以首先计算出理论输
25、出的均值和方差,对于方差可以先求出理论自相关输出,然后取零点的值。 并且,代入有 可以采纳上面介绍的方法,对式中的卷积进行计算。 在最大值处就是输出的功率,也就是方差,为 对实际数据进行估计,均值为mean(x)= -0.0703,而方差为var(x)= 5.2795,两者和理论值吻合的比较好。 3.画出理论的功率谱密度曲线 理论的功率谱为,相关程序及仿真图形如下: delta=2*pi/1000;w_min=-pi;w_max=pi;Fs=1000; w=w_min:delta:w_max; % 得到数字域上的频率取样点,范围是-pi,pi Gx=4*(abs(1./(1+0.3*exp(-
26、i*w)+0.2*exp(-2*i*w).2); % 计算出理论值 Gx=Gx/max(Gx); % 归一化处理 f=w*Fs/(2*pi); % 转化到模拟域上的频率 plot(f,Gx,b),grid on; 那么可以看出这个系统是带通系统。 4.估计自相关函数和功率谱密度 依据原理估计相关函数和功率谱,相关程序及仿真图形如下: % 计算理论和实际的自相关函数序列 Mlag=20; % 定义最大自相关长度 Rx=xcorr(x,Mlag,coeff); m=-Mlag:Mlag; stem(m,Rx,r.); grid on; 由仿真图形可以分析出它和上面的理论输出值基本一样。 实际的功率
27、谱密度的程序及仿真图形如下: window=hamming(20); % 采纳hanmming窗,长度为20 noverlap=10; % 重叠的点数 Nfft=512; % 做FFT的点数 Fs=1000; % 采样频率,为1000Hz Px,f=pwelch(x,window,noverlap,Nfft,Fs, onesided); % 估计功率谱密度 f1=-fliplr(f) f(1:end); % 构造一个对称的频率,范围是-Fs/2, Fs/2 Px=-fliplr(Px) Px(1:end); % 对称的功率谱 plot(f1,10*log10(Px),b); grid on;
28、四、试验中所遇到问题及解决方法 问题 1、对一些典型的时间序列模型不了解。 解决方法:通过对试验原理的分析,还有课本内容及查找的相关资料的参阅,以及与同学们的探讨,渐渐地就建立了一些有关时间序列的很基础的观念。 问题 2、运用 Matlab工具对AR模型进行统计特性分析很麻烦。 解决方法:也是查找Matlab的书籍中有关内容,然后在Matlab上学会用help中的相关协助、查找功能。 问题 3、运用Matlab编程时编写的程序经过运行之后有错,而且很难发觉其中错误。 解决方法:充分利用Matlab运行出错之后的英文提示进行分析和改正,同时也要学会运用Matlab上一些有用的学习资源。 五、试验
29、总结及心得体会 试验总结: 本试验是用解Yule-Walker方程估计法来实现AR模型的求解,是一种AR模型参数的干脆估计法。 时间序列一靠数据依次,二靠数据大小,蕴含着客观世界及其改变的信息,表现着改变的动态过程,因此,时间序列也往往称为“动态数据”,对动态数据建立模型就是数据建模。因此,从系统角度来考察,某一时间序列表现着客观世界的某一动态过程,换而言之,表现着某一系统的某一行为及其改变过程,也可以说,某一时间序列就是某一相应系统的有关输出或响应。 现代谱估计是通过观测数据估计参数模型再根据求参数模型输出功率的方法估计信号功率谱,主要是针对经典谱估计的辨别率低和方差性能不好等问题提出的,应
30、用最广的是AR参数模型。现代谱估计的参数模型有自回来滑动平均(ARMA)模型、自回来(AR)模型、滑动平均(MA)模型,Wold分解定理阐明白三者之间的关系:任何有限方差的ARMA或MA模型的平稳随机过程可以用无限阶的AR模型表示,任何有限方差的ARMA或MA模型的平稳随机过程可以用无限阶的AR模型表示。但是由于只有AR模型参数估计是一组线性方程,而实际的物理系统往往是全极点系统,因而AR应用最广。 试验总结: 刚刚起先做试验时我们的确是一点头绪也没有,不知道该如何下手,只是查找和参看一些Matlab和统计信号分析的书籍,但是也试验似乎都没有进展。对于我来说,首先要解决的问题就是要学着运用Ma
31、tlab这个有很好用的工具,不仅要基本相识Matlab而且还要学会编写程序。这个过程是不简单的,要参看大量资料而且还要花大量时间来自己编写程序。其次还要很仔细的反复看课本上的相关内容也要看一些书籍。 总之,这次试验对我来说刚起先时是很不简单的,但是经过和同学的协作、查找参看一些相关资料之后,最终还是有一些收获的,终归我付出了时间和精力。或许我做得不是特殊好,但是通过努力之后,不行否认的,我们对Matlab有了进一步相识,对于AR模型的确有了肯定的认知和理解,对于统计信号分析的一些学问也不仅仅只是再停留在理论方面了,这次试验让我们以实际动手的方式去认知感受统计信号的学问。更重要的是我觉得,这次试
32、验也在肯定程度上,熬炼、提高我们通信工程专业学生的依据理论分析和试验工具来设计分析试验的思维和实力。因为面对老师布置的试验任务,我们必需有一个对于试验的全面的认知和大体的结构把握才有可能去一步步的去实现,否则我们是无从下手的。或许,这种遇到问题所须要的思维方法和实力才是这次试验的精华,也是对我们最有好处的。 统计信号分析与处理试验报告 信号分析与处理试验报告2 随机信号分析试验报告 数字信号处理试验报告 数字信号处理试验报告 数字信号处理试验报告 语音信号处理试验报告要求 信号与系统 MATLAB试验报告 信号与系统试验报告1 信号与系统试验报告总结 本文来源:网络收集与整理,如有侵权,请联系作者删除,谢谢!第23页 共23页第 23 页 共 23 页第 23 页 共 23 页第 23 页 共 23 页第 23 页 共 23 页第 23 页 共 23 页第 23 页 共 23 页第 23 页 共 23 页第 23 页 共 23 页第 23 页 共 23 页第 23 页 共 23 页