版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
大连理工大学实验预习报告
学院(系):信息与通信工程学院专业:电子信息工程班级:1401
姓名:*****学号:*****组:
实验时间:2023/10/31实验室:C227实验台:
指导教师:李小兵
实验I:随机信号的产生、相关分析及其应用实验
一、实验目的和要求
通过实验理解掌握随机信号样本生成的原理和方法、掌握随机过程相关函数的计算
原理和方法。训练MATLAB程序代码编写能力,要求完成以下工作,并将实验结果与
理论分析对照。
1.基于均匀分布伪随机数,掌握均匀分布白噪声典型生成方法。
2.基于均匀分布伪随机数,掌握高斯分布白噪声典型生成方法。
3.掌握随机信号相关函数计算、相关分析及实现方法。
二、实验原理和内容
1实验原理
较简单的伪随机序列产生方法是采用数论中基于数环理论的线性同余法(乘同
余法、混合同余法),其迭代公式的一般形式为f(x)=(r*x+b)ModM,其离散形式
为s(n+I)=[r*s(n)+b]ModM。其中,s(n)为n时刻的随机数种子,r为扩展因子,
b为固定扰动项,M为循环模,ModM表示对M取模。为保证s(n)的底期为M,
r的取值应满足r=4k+1,pM2,k与p的选取应满足:r<M,r(M-l)+1<
231-lo通常公式中参数常用取值为s(0)=12357,r=2045,b=1,M=1()48576o
较简单的高斯白噪声产生方法是基于概率论中的中心极限定理。即无穷多个同分
布随机变量之和构成随机变量服从高斯分布。方便起见,可用N个(通常N=12)
均匀分布随机变量之和Xi近似高斯分布随机变量。假设Xi,i=0,1,…,11在
[0,1)上服从均匀分布,那么Y二E::()Xi-6近似服从均值为o,方差为1的高斯
分布。
随机信号相关函数计算、相关分析及实现方法原理:
离散随机序列自相关函数定义为Rx(m)=E[x(n)x(n+m)]o对于各态历经随机过程,
统计平均可用时间平均代替,即1^(01)二吧而#:=-在呐6+«1)工程实践中,无
法获得无限长数据,只能用有限平均来近似.即Rx(m)二寸=£:[:x(n)x(n+m).小巾,
1,…,K-l;K<N.为保证估计质量,通常要求K«N。此时Rx(m)也可以简化为
;2:[;x(n)x(n+m)。同理,也类似地计算互相关函数。
2实验内容
(1)编程实现产生10000个在(0,1)区间均匀分布随机数。计算生成随机数的1〜4
阶矩,最大值,最小值,频度直方图。
(2)编程实现产生1()000个N(3,4)高斯随机数。计算生成随机数的1~4阶矩,
最大值,最小值,频度直方图。
(3)编程实现产生10000个N(1,2)高斯随机数和10000个N(3,4)高斯随机数。
计算其自相关函数,计算两个高斯随机信号的互相关函数。
(4)生成一个H)(X)()点高斯随机信号x(n):N(l,4)。将该信号延迟N点,Nv20(),
得到随机信号y(n)。计算两个信号的互相关函数,搜索峰值位置估算延迟。
3实验仪器设备
微型计算机、Matlab开发环境(本报告采用MATLAB2023a)
三、实验步骤
(1)实现产生10。00个在(0,1)区间均匀分布随机数。
(2)计算生成随机数的04阶矩,最大值,最小值,频度直方图。
(3)编程实现产生10000个N(3,4)高斯随机数。
(4)计算生成随机数的广4阶矩,最大值,最小值,频度直方
(5)编程实现产生10000个N(l,2)高斯随机数和10000个N(3,4)高斯随机数。
(6)计算其自相关函数,计算两个高斯随机信号的互相关函数。
(7)生成一个10000点高斯随机信号x(n):N(l,4)o
(8)将该信号延迟N点,N<200,得到随机信号y(n)。、
(9)计算两个信号的互相关函数,搜索峰值位置估算延迟。
四、实验数据记录表格
表1-1实验内容(1)数据处理记录表
均值均方值三阶原点矩
四阶原点矩最小值最大值
表1-2实验内容(2)数据处理记录表
均值均方值三阶原点矩
四阶原点矩最小值最大值
表1-3实验内容(4)数据处理记录表
峰值位置延迟估算
大连理工大学实验报告
学院(系):信息与通信工程学院专业:电子信息工程班级:1401
姓名:*****学号:*****组:__
实验时间:2023/10/31实验室:C227实验台:
指导教师:
实验I:随机信号的产生、相关分析及其应用实验
一、实验目的和要求
通过实验理解掌握随机信号样本生成的原理和方法、掌握随机过程相关函数的计算
原理和方法。训练MATLAB程序代码编写能力,要求完成以下工作,并将实验结果与理论
分析对照。
1.基于均匀分布伪随机数,掌握均匀分布白噪声典型生成方法。
2.基于均匀分布伪随机数,掌握高斯分布白噪声典型生成方法。
3.掌握随机信号相关函数计算、相关分析及实现方法。
二、实验原理和内容
1实验原理
较简单的伪随机序列产生方法是采用数论中基于数环理论的线性同余法(乘同
余法、混合同余法),其迭代公式的一般形式为f(x)=(r*x+b)ModM,其离散形
式为s为+1)=[r*s(n)+b]ModM。其中,s(n)为n时刻的随机数种子,r为扩
展因子,b为固定扰动项,M为循环模,ModM表示对M取模。为保证s(n)的周期
为M,r的取值应满足r=4k+l,pM2,卜与口的选取应满足:r<M,r(M-l)
+l<231-lo通常公式中参数常用取值为s(0)=12357,r=2045,b=1,M=1048576。
2实验内容
(1)编程实现产生10000个在(o,1)区间均匀分布随机数。il算生成随机数的
「4阶矩,最大值,最小值,频度直方图。
(2)编程实现产生10000个N(3,4)高斯随机数。计算生成随机数的「4阶矩,
最大值,最小值,频度直方图。
(3)编程实现产生10000个N(l,2)高斯随机数和10000个N(3,4)高斯随机
数。计算其自相关函数,计算两个高斯随机信号的互相关函数。
(4)生成一个10000点高斯随机信号x(n):N(l,4)。将该信号延迟N点,N<200,
得到随机信号y(n)。计算两个信号的互相关函数,搜索峰值位置估算延迟。
三、主要仪器设备
微型计算机、Matlab开发环境(本报告采用MATLAB2023a)
(注:以下为代码内容已经有详细的说明已包括步骤和操作方法)
四、实验步骤与操作方法
实验内容(1):编程实现产生10000个在(0,1)区间均匀分布随机数。计算生成随
机数的广4阶矩,最大值,最小值,频度直方图
代码如下:
嬲去除以前数据缓存以及命令行窗口的显示
clear
clc
%%均匀分布随机数的产生
%生成10000数据
s=randuniform(1048576,1,2045,12357,10000);
%%画线
figure,plot(s)%全部
title('全部数据连线')
figure,plot(s(l:100))%前100个数据
title('前100个数据连线')
%%画点
figure,plot(s,'.')%全部
title('全部数据画点')
figure,plot(s(l:100),'*')%前100个数据
title('前100个数据画点')
%%画直方图
hist(s)
titleC)10个区间')
hist(s,100)
title。100个区间')
%%估计随机数的分布
[f,xi]=ksdensity(s':
figure,plot(xi,f);
title('利用MATLAB函数ksdensity估计得概率密度')
%%随机数的均值、均方值、一维三阶原点矩、一维四阶原点矩
m=zeros(1,4);先生成[0000]
fori=1:10000
m(l)=m(l)+s(i);%均值
m(2)=m(2)+s(i)、2;%二阶矩
m(3)=m(3)+s(i)*3;%三阶
m(4)=m(4)+s(i)~4;%四阶
end
m5=max(s)最大值
m6=min(s):%最小值
m=m/10000;
disp(「均值=1,num2str(m(l))]);
disp(['均方值=f,num2str(m(2))]);
disp(「三阶原点矩=*,num2str(m(3))]);
disp(「四阶原点矩=*,num2str(m(4))]);
disp(['最大值=>,num2str(m5)]);
disp(「最小值=>,num2str(m6)]);
%比照:Matlab函数
disp('=======以下比照Matlab库函数生成的数据========,)
dispC===按任意键继续===')
peiuse;
%生成10000数据
sm=rand(l,10000):
%画线
figure,plot(sm)%全部
tille('全部数据连线')
figure,plot(sm(l:100))与前100个数据
title('前10U个数据连线')
%画点
figure,plot(sm,'.')[全部
titleC全部数据画点')
figure,plot(sm(l:100),'*')%前100个数据
title('前100个数据画点')
%画直方图
hist(sm)
titleC10个区间')
hist(sm,100)
titleC100个区间')
%估计随机数的分布
[f,xi]=ksdensity(sn):
figure,plot(xi,f);
titleC利用MATLAB函数ksdensity估计得概率密度')
%求随机数的均值、二匀方值、一维三阶原点矩、一维四阶原点矩
m=zeros(1,4);益生成[0000]
fori=1:10000
m(l)=m(l)+sm(i);%均值
m(2)=m(2)+sm(i)”2;%二阶矩
m(3)=m(3)+sm(i)*3;%三阶
m(4)=m(4)+sm(i)*4;%四阶
end
m5=max(sni)最大值
iu6=uiiii(tsiii);%最小值
m=m/10000;
disp(「均值=>,nun2str(m(l))]);
disp(「均方值=J,num2str(m(2))]);
disp(「三阶原点矩=*,num2str(m(3))]);
disp(「四阶原点矩=*,num2str(m(4))]);
disp(['最大值=>,num2str(mb)]);
disp(「最小值=*,num2str(m6)]);
实验内容(2):编程实现产生10000个N(3,4)高斯随机数。计算生成随机数的
广4阶矩,最大值,最小值,频度直方图。
代码如下:
嬲去除以前数据缓存以及命令行窗口的显示
clear
clc
嬲高斯分布随机数的产生
%生成10000数据
m=0;
a=l;
num=10000;
s=rnd(m,a,num);虹nd()自己编写的产生高斯随机数的函数
%%画线
figure,plot(s)%全部
title('全部数据连线')
figure,plot(s(l:100))%前100个数据
title('前100个数据连线')
%%画点
figure,plot(s,*.*)%全部
title('全部数据画点')
figure,plot(s(l:100),**')%前100个数据
title('前100个数据画点')
%%画直方图
hist(s)
title。10个区间')
hist(s,100)
title。100个区间')
%%估计随机数的分布
[f,xi]=ksdensity(s':
figure,plot(xi,f);
titleC利用MATLAB函数ksdensity估计得概率密度')
%%求随机数的均值、均方值、一维三阶原点矩、一维四阶原点矩、最大值和最小值
m=zeros(1,4);与生成[0000]
fori=1:10000
m(l)=m(l)+s(i);%均值
m(2)=m(2)+s(i),2;%二阶矩
m(3)=m(3)十s(i)”3;%三阶
m(4)=m(4)+s⑴.4;%四阶
end
m5=max(s);与最大值
m6=min(s);%最小值
m=m/10000;
disp(「均值=>,num2str(m(l))]);
disp(「均方值=*,num2str(m(2))]);
disp(['三阶原点矩=',num2str(m(3))]);
disp(「四阶原点矩=*,num2str(m(4))]);
disp(「最大值=f,num2str(m5)]);
disp(「最小值=f,num2str(m6)]);
%%比照:Matlab函数
disp('========以下比照Matlab库函数生成的数据========,)
dispC========按任意键继续========,)
%pause;
%%生成10000数据
sm=random(*normal,,0,1,1,num);
%%画线
figure,plot(sm)为全部
titleC全部数据连线')
figure,plot(sm(l:100))%前100个数据
title('前100个数据连线')
%%画点
figure,plot(sm,J)与全部
title('全部数据画点')
figure,plot(sm(l:100),'*')%前100个数据
title('前100个数据画点')
%%画直方图
hist(sm)
title。10个区间')
hist(sm,100)
titleC100个区间')
%%估计随机数的分布
[f,xi]=ksdensitir(sn);
figure,plot(xi,f);
title('利用MATLAB函数ksdensity估计得概率密度')
%%求随机数的均值、均方值、一维三阶原点矩、一维四阶原点矩、最大值和最小值
m=zeros(1,4);先生成[0000]
fori=1:10000
m(l)=m(l)+sm(i);%均值
m(2)=m(2)+sm(i)*21%二阶矩
m(3)=m(3)+sm(i)-3;为三阶
m(4)=m(4)+sm(i)\\%四阶
end
m5=max(sm);%最大值
m6=min(sni);%最小值
m=m/10000;
disp(「均值=>,num2str(m(l))]);
disp(「均方值=f,num2str(m(2))]);
disp(「三阶原点矩=*,num2str(m(3))]);
disp(「四阶原点矩=*,num2str(m(4))]);
disp(['最大值=>,num2str(m5)]);
disp(「最小值=>,num2str(m6)]);
实验内容(3):(3)编程实现产生3000个N(l,2)高斯随机数和10000个N(3,4)
高斯随机数。计算其自相关函数,计算两个高斯随机信号的互相关函数。
代码如下:
烟去除以前数据缓存以及命令行窗口的显示
clear
clc
先定义高斯随机的方差和均值及产生的数量
ml=l;
al=2;
m2=3;
a2=4;
num=10000;
与利用自带函数产生高斯随机数
dl二random('norm',1,2,1,num);
d2=random(,norm',3,4,1,num);
%计算自相关和互相关函数
Rxl=xcorr(dl);
Rx2=xcorr(dl);
Rxlx2=xcorr(dl,d2):
m=-num+1:num-1;
figure,plot(m,Rxl):
figure,plot(m,Rx2):
figure,plot(m,Rxlx2);
实验内容(4):(4)生成一个10000点高斯随机信号x(n):N(l,4)。将该信号延
迟N点,N<200,得到随机信号y(n)。计算两个信号的互相关函数,搜索峰值位置估
算延迟。
代码如下:
魏去除以前数据缓存以及命令行窗口的显示
clear
clc
先定义高斯随机的方差和均值及产生的数量
ml=l;
al=4;
num=10000;
fs=500;
N=100;
long=1000;%由于数据过多,延时图比拟不明显,显示1000个数据
%利用自带函数产生高斯随机数
xl=random(,norm',1,4,1,num);
x2二random('norm',1,4,1,num);
x=random('norm',1,4,1,N);%产生一个1维N个随机高斯随机数,用来替换延时后的空位
%延时N
fori=l:10000
if(i<=100)
x2(i)=0;与将延时后的前100用零代替
else
x2(i)=xl(i-N);
end
end
figure,subplot(2,1,1),plot(xl(1:long));
title('原随机信号')
subplot(2,1,2),plot(x2(l:long),*r);%延迟与原随机信号同一张图中比拟
title('用0替换延时后的延时信号')
[corl1,lagll]=xcorr(xl,x2);
figure,plot(lagl1/fs,corl1)
titleC延时100且用高斯随机数替代延时后两个函数的互相关函数')
先求最大值,和延时
max11=0;
fori=l:10000
if(corll(1,i)>naxll)
maxil=corll(1,i);
delayll=lagl1(1,i);
end
end
max11
delay11
%延时N
fori=l:10000
if(i>N)
x2(i)=xl(i-N);
else
x2(i)=x(i);%将延时后的前100用产生的高斯随机数代替
end
end
figure,subplot(2,1,1),plot(xl(1:long))圈延迟与原随机信号同一张图中比拟
title('原随机信号
subplot(2,1,2),plot(x2(l:long),'r);%延迟与原随机信号同一张图中比拟
title('用高斯随机数替换后的延时信号')
[corl2,lagl2]=xcorr(xl,x2);
figure,plot(lagl2/fs,corl2)
title('延时100且用高斯随机数替代延时后两个函数的互相关函数')
%求最大值,和延时
max12=0;
fori=l:10000
if(corl2(1,i)>naxl2)
maxl2=cor12(l,i);
delayl2=lagl2(l,i);
end
end
max12
delay12
附:本次作业中用到的两个随机信号源代码
1.产生(0,1)区间均匀分布随机数的函数:
functions=randuniform(M,b,r,first,num)
%%调用例如:s=randuniform(1048576,1,2045,12357,10000)
%其中,s(n)为n时刻的随机数种子,r为扩展因子,b为固定扰动项,M为循
环模,ModM表示对M取模。
%通常公式中参数常用取值为s(0)=12357,r=2045,b=1,M=1048576。
s=zeros(1,num);
s(1)=first;
fori=2:num
s(i)=mod(s(i-l)*r+b,M);
end
s=s/M;
2.高斯随机序列产生函数:
function[si,s2]=rnd(m,a,num)
%其中a是均值,m是方差,num变量那么是数据量
—调用例如:s=rnd(0,1,1000),
xl=rand(1,num);
x2=rand(l,num);
yl=sqrt(-2*log(xl)).*cos(2*pi*x2);
y2=sqrt(-2*log(xl)).*sin(2*pi*x2);
sl=a*yl+m;
s2=a*y2+m;
end
五、实验数据记录和处理
实验内容(2)结果:
图IT.1:10000个均匀随机数的连线图(自编函数)函数)
图L1.2:前100个均匀随机数连线图[自编函数)图1T.5:估得的概率密度图(自编函数)
图L-1.3:10000个均匀随机数数据点图(自编函数)图1T.6:10000个均匀随机数的连线图(库函数)
图1-1.4:10000个均匀随机变量频度直方图(自编
图1T.7:前100个均匀随机数的连线图图1-1,9:10000个均匀随机变量频度直方
(库函数)图(库函数)
图L1.8:10000个均匀随机数的数据点图(自编函图1T.10:估得的概率密度图(库函数)
数)
以下是得到的运算数据:
表111实验内容(1)自编函数数据处理记录表
均值均方值三阶原点矩
0.497240.330620.24762
四阶原点矩最小值最大值
0.197957.6294e-060.99986
表1-1.2实验内容(1)库函数数据处理记录表
均值均方值三阶原点矩
0.499560.332460.24874
四阶原点矩最小侑最大侑
0.198477.0261e-050.99979
实验内容(2)结果:
图1-2.1:10000个高斯随机数的连线图(自编函数)全部数抠画也
010002000300040005000600070008000900010000
图1-2.3:10000个高斯随机数的数据点图(自编函数)
图1-2.2:前100个高斯随机数的连线图(自编函数)图1-2.4:10000个高斯随机变量频度直方图(自编
函数)
图1-2.5:估得的高斯概率密度图(自编函数)
图1-2.6:10000个高斯随机数的连线图(库函数)
图1-2.7:前100个高斯随机数的连线图(库函数)
图1-2.8:1000()个高斯随机数的数据点图(库函数)
图1-2.9:10000个高斯随机变量频度真方图(库函
数)
图1-2.10:估得的高斯概率密度图(库函数)
以下是得到的运算数据:
表1-21实验内容(2)自编函数数据处理记录表
均值均方值三阶原点矩
-0.0106970.99069-0.011689
四阶原点矩最小值最大值
2.9351-3.77273.945
表1-2.2实验内容(2)库函数数据处理记录表
均值均方值三阶原点矩
-0.00218151.0159-0.022676
四阶原点矩最小值最大值
3.0189-3.8723.9845
实验内容(3)结果:
图1-3.1:高斯随机变量xl的自相关函数
图1-3.2:高斯随机变量x
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 外科护理中的职业发展与继续教育
- 护理安全的重要性
- 干眼症眼部卫生护理指导
- 外科患者的健康教育
- 心理护理学:心理评估工具与技术
- 幼儿园活动教育教学反思
- 危重病护理评估中的护理效果评价
- 卧床病人护理操作指南
- 我是小老师:状语从句用法知识点梳理
- 冷热疗护理的法律法规
- 2026年厂区消防应急器材使用试题库及答案
- 2026年安徽商企文化旅游投资有限公司公开招聘工作人员2名笔试模拟试题及答案详解
- 2026年哈尔滨市南岗区六年级下学期数学期末试题及答案0707
- 股骨粗隆间骨折护理疑难病例讨论
- 《资治通鉴》与为将之道知到课后答案智慧树章节测试答案2025年春武警指挥学院
- 陈天强陈婷婷养成计划
- 高三物理电磁学综合练习题
- 外贸销售沟通技巧培训
- 不寐-《中医内科学》教案
- (正式版)JBT 3300-2024 平衡重式叉车 整机试验方法
- 锂电池行业MES应用解决方案
评论
0/150
提交评论