电子科技大学通信与信息工程学院
标准实验报告
实验名称:随机数的产生及统计特性分析
电 子 科 技 大 学
实 验 报 告
学生姓名:吴振国 学 号:2011019190006 指导教师:周宁 实验室名称:通信系统实验室
实验项目名称: 随机数的产生及统计特性分析 【实验内容】
1、编写MATLAB 程序,产生正态分布或均匀分布或二项分布或泊松分布或你感 兴趣的分布的随机数,完成以下工作: (1)、测量该序列的均值,方差,并与理论值进行比较,测量其误差大小, 改变序列长度观察结果变化; (2)、分析其直方图、概率密度函数及分布函数,并与理论分布进行比较; (3)、计算其相关函数,检验是否满足 Rx(0)=mu^2+sigma2,观察均值mu 为0和不为0时的图形变化; (4)、 用变换法产生正态分布随机数,或用逆变换法产生其他分布随机数, (5)、重新完成以上内容,并与matlab 函数产生的随机数的结果进行比较。
2、已知随机信号:
仿真M 个样本,估计其自相关函数和样本的功率谱(用自相关法和周期图 法),并利用样本估计序列X (n )的功率谱。
【实验原理】
本实验采用matlab 实验方法进行实验,相关采样方法,作图方法等均在matlab 的学习中有过使用!下面不作具体介绍! 【实验程序】
1.程序1: clear;
sigma=1; mu=1; N=100;
X=normrnd(sigma,1,1,N); average=sigma; variable=sigma^2;
1212()cos(80)4cos(200)(),,~[0,2],()~(0,1)X n t t N t U N t N πφπφφφπ=++++白噪声
AVERAGE=mean(X)
ERR_AVERAGE=(AVERAGE-average)/average
VARIABLE=var(X)
ERR_VARIABLE=(VARIABLE-variable)/variable
subplot(2,2,1);hist(X);title('正态分布直方图');
f_x=-10:0.1:10;
cdf_f=normcdf(f_x,AVERAGE,VARIABLE);
pdf_f=normpdf(f_x,AVERAGE,VARIABLE);
cdf_f1=normcdf(f_x,mu,sigma);
pdf_f1=normpdf(f_x,mu,sigma);
subplot(2,2,2);stairs(f_x,cdf_f);title('概率分布图');hold on
plot(f_x,cdf_f1,'k--');
subplot(2,2,3);stem(f_x,pdf_f);title('概率密度分布图');hold on
plot(f_x,pdf_f1,'k--');
dt=0.1;
[a,b]=xcorr(X,'unbiased');
subplot(2,2,4);plot(b*dt,a);title('相关函数分布图');
程序2:
clear;
X=sum(rand(10000,12)')-6;
average=0;
variable=1;
AVERAGE=mean(X)
ERR_AVERAGE=(AVERAGE-average)/AVERAGE
VARIABLE=var(X)
ERR_VARIABLE=(VARIABLE-variable)/variable
subplot(2,2,1);hist(X); title('统计直方图');
f_x=-10:0.1:10;
cdf_f=normcdf(f_x,AVERAGE,VARIABLE);
pdf_f=normpdf(f_x,AVERAGE,VARIABLE);
cdf_f1=normcdf(f_x,0,1);
pdf_f1=normpdf(f_x,0,1);
subplot(2,2,2);stairs(f_x,cdf_f); title('概率分布图');hold on
plot(f_x,cdf_f1,'r');
subplot(2,2,3);stem(f_x,pdf_f); title('概率密度分布图');hold on
plot(f_x,pdf_f1,'r');
dt=0.1;
[a,b]=xcorr(X,'unbiased');
subplot(2,2,4);plot(b*dt,a); title('自相关函数图');
2. 程序:
f=500;a=1/f;
M=1000;
f1=80;f2=100;
t=0:a:(M-1)*a;
fai1=unifrnd(0,2*pi,1,1000);fai2=unifrnd(0,2*pi,1,1000); N0=0.001;sigma=sqrt(N0*250);Nt=normrnd(0,sigma,[1,1000]);
Xn=cos(2*pi*f1*t+fai1)+4*cos(2*pi*f2*t+fai2)+Nt;
subplot(311);plot(t,Xn);title('Signal');
R=xcorr(Xn)/M;subplot(312);
plot([-(M-1)*a:a:(M-1)*a],R);
title('The autocorrelation function');
subplot(313);periodogram(Xn,[],1000,f);
title('Power Spectrum');
【实验结果】
1.仿真1实验结果
(1)mu=0,sigma=1 N=100
(2)mu=0,sigma=1 N=10000
(3)mu=1,sigma=1 N=10000
仿真2实验结果:
(1)mu=0,sigma=1 N=100
(2)mu=0,sigma=1 N=10000
2.实验结果:
【实验分析】
仿真1:由(1)图像可知,采样数越大,得到的结果就越符合理论值,得到的图像就越相似,均值为1时得到的图像相比于均值为0时得到的图像更加接近理论值;由(2)图像可知,通过变换法产生的随机数比(1)的哥哥图像更符合理论值!仿真2是将余弦+白噪声函数的输入信号,自相关函数及功率谱在一副图中画出,图1是信号,图2是自相关函数,图3是功率谱!
【总结及心得体会】
利用matlab仿真可以轻松将各种图像画出,而且非常利于做相关的比较。
实验中遇到的各种问题及用到的解决方法都会加强个人对概念的认识,有利于对知识的理解及记忆。
同时,这种学习过程增强了自主学习的能力,有利于个人能力的提高。
报告评分:
指导教师签字:。