您的当前位置:首页正文

实验一09141005何晓龙

2020-11-17 来源:星星旅游


汕 头 大 学 实 验 报 告

学院:工 系: 电子系 专业: 电子信息工程 年级: 2009 成绩:

姓名: 何晓龙 学号: 09141005 组 实验时间: 2011.11.15 指导教师签字: _______________________________________________________________________________

实验一 随机序列的产生与统计分析

一、实验内容和目标

利用计算机产生常见随机序列,并对不同分布的随机序列进行统计分析,目的是了解随机信号的产生与主要统计分析方法。

1) 利用计算机产生常见随机序列;

2) 随机序列的统计特性分析与特征估计; 3) 数字图像直方图的均衡;

二、实验任务

1) 利用计算机产生正态分布、均匀分布和指数分布的随机数,分别画出200点和2000

点的波形;

(1)正态分布:其概率密度为f(x)(xm)2exp,m0,1 22211(2)均匀分布的:0-1分布,其概率密度为f(x)0f(x)(3)指数分布:

(1)MATLAB程序如下:

x=normrnd(0,1,[1,200]); subplot(2, 1, 1); plot(x);

xlabel(‘n’) ; ylabel(‘x(n)’) ;

title('200点时的正态分布'); x=normrnd(0,1,[1,2000]); subplot(2, 1, 2); plot(x);

xlabel(‘n’) ; ylabel(‘x(n)’) ;

title('2000点时的正态分布');

0x1其他

1xexp(),2

运行结果如果图1所示

图 1

(2) MATLAB程序如下:

x=rand(200,1); subplot(2,1,1); plot(x);

xlabel(‘n’); ylabel(‘x(n)’);

title(’200点时的均匀分布图’); x=rand(2000,1); subplot(2,1,2); plot(x);

xlabel(‘n’); ylabel(‘x(n)’);

title(’2000点时的均匀分布图’);

运行结果如果图2所示

图2

(3) MATLAB程序如下:

x=exprnd(2,200,1); subplot(2,1,1); plot(x);

xlabel(‘n’); ylabel(‘x(n)’);

title(‘200点时的指数分布图’); x=exprnd(2,2000,1); subplot(2,1,2); plot(x);

xlabel(‘n’); ylabel(‘x(n)’);

title(‘2000点时的指数分布图’);

运行结果如果图3所示

图3

2)计算上面三种分布的均值与方差的理论值,并画出理论的概率密度(图);利用计算机分析画出这3种随机序列分别在100、5000和10000点的概率密度、均值与方差,比较分析不同长度下的统计结果;

(1)上面三种分布的均值与方差的理论值 1、正态分布 E(x)m0,D(x)21

ab(ba)20.5,D(x)0.083 2、均匀分布 E(x)223、指数分布 E(x)2,D(x)4

(2)上面三种分布的理论概率密度图

1、正态分布

MATLAB程序如下:

x=-8:0.01:8;

y=normpdf(x,0,1); subplot(2,1,1); plot(x,y); axis square; xlabel(‘x’) ; ylabel(‘f(x)’) ;

title(‘正态分布的概率密度函数’);

运行结果如图4所示

2

图4

2、均匀分布

MATLAB程序如下:

x=-10 :0.01 :10 ; y=unifpdf(x,0,1) ; subplot(1,2,1) ; plot(x,y) ; xlabel(‘x’) ; ylabel(‘f(x)’) ;

title(‘均匀分布的概率密度函数’);

运行结果如图5所示

图5

3、指数分布

MATLAB程序如下:

x=0 :0.01 :40 ; y=exppdf(x,2) ; subplot(1,2,1) ; plot(x,y) ; xlabel(‘x’) ; ylabel(‘f(x)’) ;

title(‘指数分布的概率密度函数’);

运行结果如图6所示

图6

(3)上面三种随机序列在100、5000、10000点的概率密度、均值和方差 1、概率密度

正态分布MATLAB程序如下:

x=-6:0.01:10;

y=normrnd(0,1,[1,100]); subplot(3,1,1); hist(y,x);

title(‘100点的正态分布概率密度函数’); m1=mean(y) sigma1=var(y) x=-6:0.01:10;

y=normrnd(0,1,[1,5000]); subplot(3,1,2);

hist(y,x);

title(‘5000点的正态分布概率密度函数’); m2=mean(y) sigma2=var(y) x=-6:0.01:10;

y=normrnd(0,1,[1,10000]); subplot(3,1,3); hist(y,x);

title(‘10000点的正态分布概率密度函数’); m3=mean(y); sigma3=var(y);

运行结果如图7

图7 均匀分布的MATLAB程序如下: x=0:0.01:1; y=rand(100,1); subplot(3,1,1); hist(y,x);

title(‘100点的均匀概率密度函数’); m1=mean(y) sigma1=var(y) y=rand(5000,1); subplot(3,1,2); hist(y,x);

title(‘5000点的均匀概率密度函数’); m2=mean(y) sigma2=var(y) y=rand(10000,1); subplot(3,1,3); hist(y,x);

title(‘10000点的均匀概率密度函数’); m3=mean(y);

sigma3=var(y); 运行结果如图8

图8 指数分布的MATLAB程序如下:

x=-1 :0.01 :10 ; y=exprnd(2,100,1) ; subplot(3,1,1) ; hist(y,x) ;

title(‘100点的指数概率密度函数’); m1=mean(y) sigma1=var(y)

y=exprnd(2,5000,1) ; subplot(3,1,2) ; hist(y,x) ;

title(‘5000点的指数概率密度函数’); m2=mean(y)

sigma2=var(y)

y=exprnd(2,10000,1) ; subplot(3,1,3) ; hist(y,x) ;

title(‘10000点的指数概率密度函数’); m3=mean(y) sigma3=var(y) 运行结果如图9

图9

2、均值与方差

(1)正态分布 均值 方差 均值 方差 均值 方差

理论值 0 1 (2)均匀分布 理论值 0.5 0.083 (3)指数分布

理论值 2 4 100点 0.1128 1.4659 100点 0.5487 0.0827 100点 1.9384 4.6752 5000点 0.0110 0.9989 5000点 0.5016 0.0823 5000点 2.0069 4.0088 10000点 -0.0064 0.9973 10000点 0.4982 0.0827 10000点 1.9917 3.9828

分析结果:从运行结果可以看出,当所取点数越多,各序列的概率密度函数图

与理论概率密度函数图越接近,而且其均值与方差也越接近理论值的均值与方差。即所取随机变量越多,随机序列的统计特性也越接近于序列的理论统计特性。 3) 画出2种指定参数下的二维正态概率密度曲线,其联合概率密度为:

fX1X2(x1,x2)12X1X2(x1mX1)21exp{[2222(1r)X1r1(x2mX2)22r(x1mX1)(x2mX2)XX122X2]}

(1)

mX1mX20,X1X21,r0 (2)

其(1)的MATLAB程序如下:

r=0; mx1=0; mx2=0; sigma1=1; sigma2=1;

[x1,x2]=meshgrid(-5:0.2:10); r2=1-r.^2;

sigma3=sigma1.*sigma2;

k1=1./(2.*pi.*sigma3.*sqrt(r2)); k2=-0.5./r2;

q1=(x1-mx1).^2./(sigma1.^2);

q2=2.*r.*(x1-mx1).*(x2-mx2)./sigma3; q3=(x2-mx2).^2/(sigma2.^2); fx1_x2=k1.*exp(k2.*(q1-q2+q3)); mesh(x1,x2,fx1_x2);

title(‘二维正态概率密度’);

运行结果如下图

mX12,mX24,X11,X22,r0.5

其(1)的MATLAB程序如下:

r=0.5; mx1=2; mx2=4; sigma1=1; sigma2=2;

[x1,x2]=meshgrid(-5:0.2:10); r2=1-r.^2;

sigma3=sigma1.*sigma2;

k1=1./(2.*pi.*sigma3.*sqrt(r2)); k2=-0.5./r2;

q1=(x1-mx1).^2./(sigma1.^2);

q2=2.*r.*(x1-mx1).*(x2-mx2)./sigma3; q3=(x2-mx2).^2/(sigma2.^2); fx1_x2=k1.*exp(k2.*(q1-q2+q3)); mesh(x1,x2,fx1_x2);

title(‘二维正态概率密度’);

运行结果如下图

4) 实现一个信号处理的应用实例:处理所给图片素材(Lena.jpg),进行图像直方图的均衡,画出原始图像和经过均衡处理后的图像以及它们的直方图,并做比较分析。 MATLAB程序如下:

pic=imread(‘D:\\lena.jpg’); [m,n,o]=size(pic); imshow(pic); gp=zeros(1,256); for i=1:256

gp(i)=length(find(pic==(i-1)))/(m*n); end

figure,bar(0:255,gp);

title(‘均衡前的直方图’); xlabel(“灰度值’); ylabel(‘出现的概率’); newgp=zeros(1,256); s1=zeros(1,256); s2=zeros(1,256); tmp=0;

for i=1:256 tmp=tmp+gp(i); s1(i)=tmp;

s2(i)=round(s1(i)*256); end

for i=1:256

newgp(i)=sum(gp(find(s2==i))); end

figure,bar(0:255,newgp); title(‘均衡后的直方图’); xlabel(‘灰度值’); ylabel(‘出现的概率’); newgraypic=pic; for i=1:256

newgraypic(find(pic==(i-1)))=s2(i); end

figure,imshow(newgraypic); 运行后的结果如下图

原图片 处理后的图片

分析结果:原来的图片其灰度值比较集中在一段灰度级上,经过均衡后的图片其灰度值在0-250之间均存在,即其灰度级别更加均匀了,所以处理后的图片对比度相对较高。 三、实验体会和收获

此次实验让我第一次接触了图像处理,感觉非常有意思,虽然没系统地学习过MATLAB这个软件,但通过本次实验也对这个软件有了进一步的了解,同时也对随机信号的各方面特性有了更进一步的理解。

因篇幅问题不能全部显示,请点此查看更多更全内容