实验一0914彭洋生.docx
《实验一0914彭洋生.docx》由会员分享,可在线阅读,更多相关《实验一0914彭洋生.docx(24页珍藏版)》请在冰豆网上搜索。
![实验一0914彭洋生.docx](https://file1.bdocx.com/fileroot1/2023-4/20/a0fcb3d7-44ee-487a-9cee-84b8d6bfc388/a0fcb3d7-44ee-487a-9cee-84b8d6bfc3881.gif)
实验一0914彭洋生
汕头大学实验报告
学院:
工学院系:
电子系专业:
通信工程年级:
2009成绩:
姓名:
彭洋生学号:
09142029实验时间:
2011.5.25指导教师签字:
_______________________________________________________________________________
实验一随机序列的产生与统计分析
一、实验目的和要求
利用计算机产生常见随机序列,并对不同分布的随机序列进行统计分析,目的是了解随机信号的产生与主要统计分析方法。
1)利用计算机产生常见随机序列;
2)随机序列的统计特性分析与特征估计;
3)数字图像直方图的均衡;
二、实验内容及实验数据记录与分析
1)利用计算机产生正态分布、均匀分布和指数分布的随机数,分别画出200点和2000点的波形;
(1)正态分布概率密度为
,取m=0,
=1,随机数分布
所用MATLAB程序为:
%200点标准正态分布
x=0:
1:
199;
y=randn(200,1);
plot(y)
xlabel('第n个随机数')
ylabel('随机数幅值')
title('标准正态分布随机数(200点)')
所用MATLAB程序为:
%2000点标准正态分布
x=0:
1:
1999;
y=randn(2000,1);
plot(y)
xlabel('第n个随机数')
ylabel('随机数幅值')
title('标准正态分布随机数(2000点)')
(2)均匀分布概率密度为
,其随机数分布为:
所用MATLAB程序为:
%200点0-1均匀分布
x=0:
1:
199;
y=rand(200,1);
plot(y)
xlabel('第n个随机数')
ylabel('随机数幅值')
title('标准正态分布随机数(200点)')
所用MATLAB程序为:
%2000点0-1均匀分布
x=0:
1:
1999;
y=rand(2000,1);
plot(y)
xlabel('第n个随机数')
ylabel('随机数幅值')
title('标准正态分布随机数(2000点)')
(3)指数分布概率密度为
,其随机数分布为:
所用MATLAB程序为:
%200点指数分布
x=0:
1:
199;
y=exprnd(2,200,1)
plot(y)
xlabel('第n个随机数')
ylabel('随机数幅值')
title('指数分布随机数(200点)')
所用MATLAB程序为:
%2000点指数分布
x=0:
1:
1999;
y=exprnd(2,2000,1)
plot(y)
xlabel('第n个随机数')
ylabel('随机数幅值')
title('指数分布随机数(2000点)')
2)计算上面三种分布的均值与方差的理论值,并画出理论的概率密度(图),利用计算机分析画出这3种随机序列分别在100、5000和10000点的概率密度、均值与方差,比较分析不同长度下的统计结果;
正态分布均值理论值:
正态分布方差理论值:
标准正态分布均值为0,方差为1。
其概率密度函数曲线如下:
分析:
曲线是关于x=0对称的,其顶点为(0,0.4)
所用MATLAB程序为:
%标准正态分布概率密度函数
x=-5:
0.01:
5;
y=normpdf(x,0,1);
plot(x,y)
xlabel('x')
ylabel('y')
title('标准正态分布概率密度函数')
均匀分布概率密度:
均匀分布均值理论值:
均匀分布方差理论值:
所以,(0-1)分布均值为0.5,方差为1/12=0.083333333
其概率密度函数曲线如下:
分析:
0-1分布概率密度在0-1区间外为0,而在0-1区间内为1
所用MATLAB程序为:
%均匀分布概率密度函数
x=-2:
0.01:
3;
y=unifpdf(x,0,1);
plot(x,y)
xlabel('x')
ylabel('y')
title('均匀分布概率密度函数')
axis([-2,3,0,1.2])
指数分布:
指数分布均值理论值:
指数分布方差理论值:
所以,这里指数分布均值理论值为2,方差理论值为4。
其概率密度函数曲线如下:
分析:
指数分布概率密度在x<0区间为0,另外随着自变量的增大,曲线逼近x轴
所用MATLAB程序为:
%指数分布概率密度函数
x=-4:
0.01:
10;
y=exppdf(x,2);
plot(x,y)
xlabel('x')
ylabel('y')
title('指数分布概率密度函数')
利用计算机分析画出这3种随机序列分别在100、5000和10000点的概率密度、均值与方差,比较分析不同长度下的统计结果
(1)正态分布随机序列概率密度
M=-0.0727SIGMA2=0.9650
所用MATLAB程序为:
x=randn(100,1);
M=mean(x)
SIGMA2=var(x)
[y,xi]=ksdensity(x);
plot(xi,y)
title('100点正态分布随机序列的概率密度估计')
M=-0.0166SIGMA2=0.9745
所用MATLAB程序为:
x=randn(5000,1);
M=mean(x)
SIGMA2=var(x)
[y,xi]=ksdensity(x);
plot(xi,y)
title('5000点正态分布随机序列的概率密度估计')
M=0.0065SIGMA2=1.0101
所用MATLAB程序为:
x=randn(10000,1);
M=mean(x)
SIGMA2=var(x)
[y,xi]=ksdensity(x);
plot(xi,y)
title('10000点正态分布随机序列的概率密度估计')
比较分析如下:
点
均值
方差
100
-0.0727
0.9650
5000
-0.0166
0.9745
10000
0.0065
1.0101
从实验结果看,点数越大,均值和方差越接近理论值的0和1,概率密度曲线接近理想正态分布,顶点越接近(0,0.4).
(2)0-1均匀分布随机序列概率密度
M=0.5255SIGMA2=0.0890
所用MATLAB程序为:
x=rand(100,1);
M=mean(x)
SIGMA2=var(x)
[y,xi]=ksdensity(x);
plot(xi,y)
title('100点0-1均匀分布随机序列的概率密度估计')
M=0.4989SIGMA2=0.0833
所用MATLAB程序为:
x=rand(5000,1);
M=mean(x)
SIGMA2=var(x)
[y,xi]=ksdensity(x);
plot(xi,y)
title('5000点0-1均匀分布随机序列的概率密度估计')
M=0.5005SIGMA2=0.0828
所用MATLAB程序为:
x=rand(10000,1);
M=mean(x)
SIGMA2=var(x)
[y,xi]=ksdensity(x);
plot(xi,y)
title('10000点0-1均匀分布随机序列的概率密度估计')
比较分析如下:
点
均值
方差
100
0.5255
0.0890
5000
0.4989
0.0833
10000
0.5005
0.0828
从实验结果看,点数越大,均值和方差越接近理论值的0.5和1/12,概率密度也越接近0-1分布的情况,接近于1的范围更开阔,转折点越接近0和1.
(2)指数分布随机序列概率密度
M=2.0386SIGMA2=5.5487
所用MATLAB程序为:
x=exprnd(2,100,1);
M=mean(x)
SIGMA2=var(x)
[y,xi]=ksdensity(x);
plot(xi,y)
title('100点指数分布随机序列的概率密度估计')
M=1.9990SIGMA2=4.1461
所用MATLAB程序为:
x=exprnd(2,5000,1);
M=mean(x)
SIGMA2=var(x)
[y,xi]=ksdensity(x);
plot(xi,y)
title(5000点指数分布随机序列的概率密度估计')
M=1.9670SIGMA2=3.8383
所用MATLAB程序为:
x=exprnd(2,10000,1);
M=mean(x)
SIGMA2=var(x)
[y,xi]=ksdensity(x);
plot(xi,y)
title(10000点指数分布随机序列的概率密度估计')
比较分析如下:
点
均值
方差
100
2.0386
5.5487
5000
1.9990
4.1461
10000
1.9670
3.8383
从实验结果看,点数越大,均值和方差越接近理论值的2和4,但5000点与10000点的均值和方差相差不大,而且5000点的较接近0和4,这是因为点数还不够大,出现这种情况也正常。
点数越大,概率密度也越接近指数分布的情况。
(3)画出2种指定参数下的二维正态概率密度曲线,其联合概率密度为:
1)
所用MATLAB程序为:
x1=-5:
0.2:
5;
x2=-5:
0.2:
5;
[X,Y]=meshgrid(x1,x2);
f=1/(2*pi).*exp(-1/2.*(X.^2+Y.^2));
waterfall(X,Y,f)
2)
所用MATLAB程序为:
x1=-5:
0.2:
5;
x2=-5:
0.2:
5;
[X,Y]=meshgrid(x1,x2);
f=1/(4*pi*sqrt(0.75)).*exp(-1/1.5.*((X-2).^2-(X-2).*(Y-4)./2+(Y-4).^2/4));
waterfall(X,Y,f)
(4)实现一个信号处理的应用实例:
处理所给图片素材(Lena.jpg),进行图像直方图的均衡,画出原始图像和经过均衡处理后的图像以及它们的直方图,并做比较分析。
实验所用MATLAB程序为:
I=imread('lena.jpg');
J=histeq(I);
imshow(I)
title('原始图像')
figure
imshow(J)
title('经过均衡处理后的图像')
figure;
imhist(I)
title('原始图像直方图')
figure;
imhist(J)
title('经过均衡处理后的图像直方图')
三、实验体会和收获
通过这次实验,我对于MATLAB编程有了更好的掌握,学会了各种随机序列产生的方法,绘制一维,二维的概率密度曲线,以及图像处理的初步知识,体会到了MATLAB强大的信号与图像处理能力,包括画随机序列分布,二维概率密度,以及进行图像直方图均衡处理。
这次实验也提高了我分析处理实验数据的能力。
在实验内容外,我还了解了一些其他的MATLAB图像处理,包括对图片加噪声、增强图片对比度,对图片进行灰度处理,检测图像边缘,放大旋转图片,直方图均衡化等等,体会到MATLAB软件给我们的生活科研带来极大的便利性,学会了MATLAB对于我们信号与系统课程中信号的仿真与处理,以及本课程随机信号分析与处理无疑是一大助手,让我们电子系的学生受益匪浅。
我相信随着对MATLAB编程学习的深入,将帮助我在本专业的学习中“披荆斩棘”,更好的掌握本专业知识。