matlab求均值,方差
- 格式:docx
- 大小:602.43 KB
- 文档页数:25
实验报告随机信号的数字特征分析一、 实验目的1.了解随机信号自身的特性,包括均值(数学期望)、方差、均方值等;2. 掌握随机信号的分析方法;二、实验原理1.均值测量方法均值ˆx m表示集合平均值或数学期望值。
基于随机过程的各态历经性,最常用的方法是取N 个样本数据并简单地进行平均,即11ˆ[]N x d i mX i N-==∑ 其中,样本信号的采样数据记为[](,)d X i X iT ξ=,s T 为采样间隔。
2.均方误差的测量方法随机序列的均方误差定义为:2211()lim ()N i N i E X x n N →∞==∑3.方差测量方法如果信号的均值是已知的,则其方差估计设计为12201ˆ([])N x Xd i X i m Nσ-==-∑ 它是无偏的与渐进一致的。
三、实验内容利用MATLAB 中的伪随机序列产生函数randn()产生多段1000点的序列,编制一个程序,计算随机信号的数字特征,包括均值、方差、均方值、最后把计算结果平均,绘制数字特征图形。
源程序如下: clear all;clc;%产生50个1000以内点的伪随机序列x=randn(50,1000);%计算随机产生的50个点序列的均值,方差,均方average=zeros(1,50);variance=zeros(1,50);square=zeros(1,50);%计算均值for i=1:50for j=1:1000average(i)=average(i)+x(i,j);endaverage(i)=average(i)/1000;end%计算方差for i=1:50for j=1:1000variance(i)=variance(i)+(x(i,j)-average(i)).^2; endvariance(i)=variance(i)/1000;end%计算均方值for i=1:50for j=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()()()m y n x m x m n ∞=-∞=-∑ 1.2 循环相关的原理假定x1(n)是列长为N 的有限长序列,x2(n)是列长为M 的有限长序列,两者循环相关的结果为:1120()()(())()N N N m y n x m x m n R n -==-∑2.线性以及循环卷积的原理 2.1 线性卷积的原理假定x1(n)是列长为N 的有限长序列,x2(n)是列长为M 的有限长序列,两者的线性卷积的结果为:1212()()*()()()m y n x n x n x m x n m ∞=-∞==-∑2.2 循环卷积的原理循环卷积的矩阵表示形式如下所示:其中x 和H 是两个输入的序列,y 是循环卷积得到的实验结果。
y Hx =其中,T N y y y )]1(),...,1(),0([-=y ,T N x x x )]1(),...,1(),0([-=x⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡---=)0()2()1()2()0()1()1()1()0(h N h N h h h h h N h h H三、实验内容编写函数实现两个随机序列的线性、循环相关和线性、循环卷积的程序:源程序如下:两个序列线性相关的函数: clear allclcx=ones(1,8); h=ones(1,10); nx = length(x); nh = length(h); n = nx + nh - 1; for i = nh+1:nh(i) = 0; endfor i=nx+1:n x(i) = 0; endfor i=1:nfor j=1:nH(i,j) = h(mod(i+j-2,n)+1); end endy = 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('线性相关结果');两个序列循环相关的函数: clear all clcx=ones(1,8);h=ones(1,10);nx = length(x);nh = length(h);n = nx;if (nx>nh)for i = nh+1:nh(i) = 0;endendif (nx<nh)n = nh;for i=nx+1:nx(i) = 0;endendfor i=1:nfor j=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('循环相关结果');两个序列线性卷积的函数:clear allclcx=ones(1,8);h=ones(1,10);nx = length(x);nh = length(h);n = nx + nh - 1;for i = nx+1:nx(i) = 0;endfor i=nh+1:nh(i) = 0;endfor i=1:nfor j=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('线性卷积结果');两个序列循环卷积的函数:clear allclcx=ones(1,8);h=ones(1,10);n=15;nx = length(x);nh = length(h);if (n<nx||n<nh)fprintf('输入圆周卷积的点数不正确');breakendfor k=nh+1:nh(k) = 0;endfor k=nx+1:nx(k) = 0;endfor k=1:nfor l=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={ 8 8 8 6 5 4 3 2 1 1 2 3 4 5 6 7}2.循环相关实现的程序及结果y={ 8 8 8 8 8 8 8 8 8 8}3.线性卷积实现的程序及结果y={ 1 2 3 4 5 6 7 8 8 8 7 6 5 4 3 2 1}4.循环卷积实现的程序及结果当n=15时y={ 3 3 3 4 5 6 7 8 8 8 7 6 5 4 3}当n=17时y={ 1 2 3 4 5 6 7 8 8 8 7 6 5 4 3 2 1}由上图可知:15点循环卷积结果与线性卷积的结果是不一致的,但是17点循环卷积结果与线性卷积的结果是一致的。
实验三 维纳-霍夫方程的求解一、实验目的学习使用Matlab 实现W-H 程序的编写。
二、实验原理一个线性系统,如果它的单位样本响应为h(n),当输入一个随机信号x(n) :()()()x n s n n υ=+其中s(n)表示信号,表示噪声,则输出y(n)为()()()my n h m x n m =-∑我们希望x(n)通过线性系统h(n)后得到的y(n)尽量接近于s(n),因此称y(n)为s(n)的估计值,用ˆ()sn 表示,即 ˆ()()y n s n = 维纳滤波的标准方程如果我们以ˆs s与分别表示信号的真值与估计值,而用e(n)表示它们之间的误差ˆ()()()e n s n sn =- 目标:均方误差准则)0ˆ()()()()m y n sn h m x n m ∞===-∑ 上式可看成输出等于现在和过去各输入的加权之和 1ˆ()i i i s n h x ∞==∑,其中1 1(1)()(1)()i i i m m i h h i h m x x n i x n m ⎫⎪⎬⎪⎭=+=-=-==-+=-或现在的问题是需要求得使()2ˆE s s ⎡⎤⎢⎥⎣⎦-最小的为此,偏导,并令其结果等于0,得)120 1()0i i j i j E s h x x j E e n x ∞=⎫⎡⎤⎛⎪⎢⎥ ⎪⎢⎥⎝⎣⎦⎬⎪⎡⎤⎪⎣⎦⎭-=≥=∑于是00()()()()0 0pt m E s n h m x n m x n k k ∞=⎧⎫⎡⎤⎪⎪⎨⎬⎢⎥⎪⎪⎣⎦⎩⎭---=≥∑ 这样就得到维纳滤波的标准方程0()()(), k 0sx opt xx m k h m k m ϕϕ∞==-≥∑FIR 维纳滤波器设h(n)是一个因果序列可以用有限长(长度为N)的序列去逼近它 ,有上述得到W-H 方程的矩阵形式为:111211212222121212121 2 N N N N N N N x x x x x x x sN x x x x x x x s N x x x x x x x s N i h h h i h h h i N h h h ϕϕϕϕϕϕϕϕϕϕϕϕ⎫⎪⎪⎬⎪⎪⎭=+++==+++==+++=即:xx xs h ϕϕ⎡⎤⎡⎤⎡⎤⎣⎦⎣⎦⎣⎦=,其中xx ϕ自相关矩阵称,xs ϕ为x 与s 的互相关矩阵12 N h h h h ⎡⎤⎢⎥⎢⎥⎡⎤⎣⎦⎢⎥⎢⎥⎢⎥⎣⎦= 12 N x s x s xs x s ϕϕϕϕ⎡⎤⎢⎥⎢⎥⎡⎤⎣⎦⎢⎥⎢⎥⎢⎥⎣⎦= 1112121222212 N N X X X x x x x x x x x x x x x xx N xN xN N ϕϕϕϕϕϕϕϕϕϕ-⎡⎤⎢⎥⎢⎥⎡⎤⎣⎦⎢⎥⎢⎥⎢⎥⎣⎦= 这样得到W-H 方程的解为:10xx xs pt h h ϕϕ-⎡⎤⎡⎤⎡⎤⎡⎤⎣⎦⎣⎦⎣⎦⎣⎦==三、实验内容编写函数解W-H 方程,寻找最优的滤波器,并检验该程序的准确性。