您好,欢迎访问三七文档
当前位置:首页 > 金融/证券 > 投融资/租赁 > matlab求均值-方差
实用文档实验报告随机信号的数字特征分析一、实验目的1.了解随机信号自身的特性,包括均值(数学期望)、方差、均方值等;2.掌握随机信号的分析方法;二、实验原理1.均值测量方法均值ˆxm表示集合平均值或数学期望值。基于随机过程的各态历经性,最常用的方法是取N个样本数据并简单地进行平均,即101ˆ[]NxdimXiN其中,样本信号的采样数据记为[](,)dXiXiT,sT为采样间隔。2.均方误差的测量方法随机序列的均方误差定义为:2211()lim()NiNiEXxnN3.方差测量方法如果信号的均值是已知的,则其方差估计设计为12201ˆ([])NxXdiXimN它是无偏的与渐进一致的。三、实验内容利用MATLAB中的伪随机序列产生函数randn()产生多段1000点的序列,编制一个程序,计算随机信号的数字特征,包括均值、方差、均方值、最后把计算结果平均,绘制数字特征图形。源程序如下:clearall;实用文档clc;%产生50个1000以内点的伪随机序列x=randn(50,1000);%计算随机产生的50个点序列的均值,方差,均方average=zeros(1,50);variance=zeros(1,50);square=zeros(1,50);%计算均值fori=1:50forj=1:1000average(i)=average(i)+x(i,j);endaverage(i)=average(i)/1000;end%计算方差fori=1:50forj=1:1000variance(i)=variance(i)+(x(i,j)-average(i)).^2;endvariance(i)=variance(i)/1000;end%计算均方值fori=1:50forj=1:1000square(i)=square(i)+x(i,j).^2;endsquare(i)=square(i)/1000;endEX=sum(average)/50;DX=sum(variance)/50;RMS=sum(square)/50;plot(average);title('50个随机序列的均值');figure;实用文档plot(variance);title('50个随机序列的方差');figure;plot(square);title('50个随机序列的均方值');四、实验结果及分析实用文档实用文档由上结果可知:将图中的计算结果平均后,得到的结果为:产生的50个点的随机序列均值的平均值为:EX=0.0090197;产生的50个点的随机序列方差的平均值为DX=1.0078;产生的50个点的随机序列均方值的平均值为RMS=1.0087。由上面所得到的图形可以看出50个点的伪随机序列的均值都在0附近,方差以及均方差都在1附近,将这些均值平均后得出的均值也是在0值附近,方差在1附近,与统计的结果相符合。实用文档实验二数字相关和数字卷积程序一、实验目的熟悉数字相关和数字卷积运算。二、实验原理1.线性以及循环相关的原理1.1线性相关的原理假定x1(n)是列长为N的有限长序列,x2(n)是列长为M的有限长序列,两者的线性相关的结果为:12()()()mynxmxmn1.2循环相关的原理假定x1(n)是列长为N的有限长序列,x2(n)是列长为M的有限长序列,两者循环相关的结果为:1120()()(())()NNNmynxmxmnRn2.线性以及循环卷积的原理2.1线性卷积的原理假定x1(n)是列长为N的有限长序列,x2(n)是列长为M的有限长序列,两者的线性卷积的结果为:1212()()*()()()mynxnxnxmxnm2.2循环卷积的原理循环卷积的矩阵表示形式如下所示:其中x和H是两个输入的序列,y是循环卷积得到的实验结果。yHx其中,TNyyy)]1(),...,1(),0([y,TNxxx)]1(),...,1(),0([x实用文档)0()2()1()2()0()1()1()1()0(hNhNhhhhhNhhH三、实验内容编写函数实现两个随机序列的线性、循环相关和线性、循环卷积的程序:源程序如下:两个序列线性相关的函数:clearallclcx=ones(1,8);h=ones(1,10);nx=length(x);nh=length(h);n=nx+nh-1;fori=nh+1:nh(i)=0;endfori=nx+1:nx(i)=0;endfori=1:nforj=1:nH(i,j)=h(mod(i+j-2,n)+1);endendy=H*x';subplot(3,1,1);stem(x);title('随机序列1');subplot(3,1,2);stem(h);title('随机序列2');subplot(3,1,3);stem(y);title('线性相关结果');两个序列循环相关的函数:clearallclc实用文档x=ones(1,8);h=ones(1,10);nx=length(x);nh=length(h);n=nx;if(nxnh)fori=nh+1:nh(i)=0;endendif(nxnh)n=nh;fori=nx+1:nx(i)=0;endendfori=1:nforj=1:nH(i,j)=h(mod(i+j-2,n)+1);endendy=H*x';subplot(3,1,1);stem(x);title('随机序列1');subplot(3,1,2);stem(h);title('随机序列2');subplot(3,1,3);stem(y);title('循环相关结果');两个序列线性卷积的函数:clearallclcx=ones(1,8);h=ones(1,10);nx=length(x);nh=length(h);n=nx+nh-1;fori=nx+1:nx(i)=0;endfori=nh+1:n实用文档h(i)=0;endfori=1:nforj=1:nH(i,j)=h(mod(i+n-j,n)+1);endendy=H*x';subplot(3,1,1);stem(x);title('随机序列1');subplot(3,1,2);stem(h);title('随机序列2');subplot(3,1,3);stem(y);title('线性卷积结果');两个序列循环卷积的函数:clearallclcx=ones(1,8);h=ones(1,10);n=15;nx=length(x);nh=length(h);if(nnx||nnh)fprintf('输入圆周卷积的点数不正确');breakendfork=nh+1:nh(k)=0;endfork=nx+1:nx(k)=0;endfork=1:nforl=1:nH(k,l)=h(mod(k+n-l,n)+1);endendy=H*x';subplot(3,1,1);stem(x);title('随机序列1');subplot(3,1,2);stem(h);title('随机序列2');实用文档subplot(3,1,3);stem(y);title('循环卷积结果');四、实验结果及分析1.线性相关实现的程序及结果y={8886543211234567}2.循环相关实现的程序及结果y={8888888888}实用文档3.线性卷积实现的程序及结果y={12345678887654321}实用文档4.循环卷积实现的程序及结果当n=15时y={333456788876543}当n=17时y={12345678887654321}实用文档由上图可知:15点循环卷积结果与线性卷积的结果是不一致的,但是17点循环卷积结果与线性卷积的结果是一致的。实用文档实验三维纳-霍夫方程的求解一、实验目的学习使用Matlab实现W-H程序的编写。二、实验原理一个线性系统,如果它的单位样本响应为h(n),当输入一个随机信号x(n):()()()xnsnn其中s(n)表示信号,表示噪声,则输出y(n)为()()()mynhmxnm我们希望x(n)通过线性系统h(n)后得到的y(n)尽量接近于s(n),因此称y(n)为s(n)的估计值,用ˆ()sn表示,即ˆ()()ynsn维纳滤波的标准方程如果我们以ˆss与分别表示信号的真值与估计值,而用e(n)表示它们之间的误差ˆ()()()ensnsn目标:均方误差2{()}Eenmin(MMSE准则)0ˆ()()()()mynsnhmxnm上式可看成输出等于现在和过去各输入的加权之和1ˆ()iiisnhx,其中11(1)()(1)()iiimmihhihmxxnixnm或现在的问题是需要求得使2ˆEss最小的ih,为此,将这式对ih求偏导,并令其结果等于0,得1201()0iijijEshxxjEenx于是00()()()()00ptmEsnhmxnmxnkk这样就得到维纳滤波的标准方程实用文档0()()(),k0sxoptxxmkhmkmFIR维纳滤波器设h(n)是一个因果序列可以用有限长(长度为N)的序列去逼近它,有上述得到W-H方程的矩阵形式为:1112112122221212121212NNNNNNNxxxxxxxsNxxxxxxxsNxxxxxxxsNihhhihhhiNhhh即:xxxsh,其中xx自相关矩阵称,xs为x与s的互相关矩阵12Nhhhh12Nxsxsxsxs1112121222212NNXXXxxxxxxxxxxxxxxNxNxNN这样得到W-H方程的解为:10xxxspthh三、实验内容编写函数解W-H方程,寻找最优的滤波器,并检验该程序的准确性。源程序如下:clearall;clc;%输入信号A=1;f=1000;fs=10^5;t=(0:999);Mlag=100;x=A*cos(2*pi*f*t/fs);%给正弦波信号加入信噪比为20dB的高斯白噪声xn=awgn(x,5);figure;subplot(2,2,1)实用文档plot(t,xn)title('输入信号图像')%计算输入信号自相关函数Rxn=xcorr(xn,Mlag,'biased');subplot(2,2,2)plot((-Mlag:Mlag),Rxn)title('输入信号自相关函数')%维纳滤波N=100;Rxnx=xcorr(xn,x,Mlag,'biased');rxnx=zeros(N,1);rxnx(:)=Rxnx(101:101+N-1);Rxx=zeros(N,N);Rxx=diag(Rxn(101)*ones(1,N));fori=2:Nc=Rxn(101+i)*ones(1,N+1-i);Rxx=Rxx+diag(c,i-1)+diag(c,-i+1);endRxx;h=zeros(N,1);h=inv(Rxx)*rxnx;yn=filter(h,1,xn);subplot(2,2,3)plot(yn);title('经过维纳滤波器后信号信号');Ryn=xcorr(yn,Mlag,'biased');subplot(2,2,4);plot((-Mlag:Mlag),Ryn);title('经过维纳滤波器后信号自相关函数');四、实验结果实用文档从图中可以看出,滤波后得到的正弦信号仍然有一定
本文标题:matlab求均值-方差
链接地址:https://www.777doc.com/doc-5070452 .html