实验一-随机信号的产生、相关分析及其应用实验_第1页
实验一-随机信号的产生、相关分析及其应用实验_第2页
实验一-随机信号的产生、相关分析及其应用实验_第3页
实验一-随机信号的产生、相关分析及其应用实验_第4页
实验一-随机信号的产生、相关分析及其应用实验_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

大连理工大学实验预习报告学院〔系〕:信息与通信工程学院专业:电子信息工程班级:1401姓名:*****学号:*****组:___实验时间:2023/10/31实验室:C227实验台:指导教师:李小兵实验I:随机信号的产生、相关分析及其应用实验实验目的和要求通过实验理解掌握随机信号样本生成的原理和方法、掌握随机过程相关函数的计算原理和方法。训练MATLAB程序代码编写能力,要求完成以下工作,并将实验结果与理论分析对照。1.基于均匀分布伪随机数,掌握均匀分布白噪声典型生成方法。2.基于均匀分布伪随机数,掌握高斯分布白噪声典型生成方法。3.掌握随机信号相关函数计算、相关分析及实现方法。实验原理和内容 1实验原理较简单的伪随机序列产生方法是采用数论中基于数环理论的线性同余法〔乘同余法、混合同余法〕,其迭代公式的一般形式为f(x)=(r*x+b)ModM,其离散形式为s(n+1)=[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-1)+1<231-1。通常公式中参数常用取值为s(0)=12357,r=2045,b=1,M=1048576。较简单的高斯白噪声产生方法是基于概率论中的中心极限定理。即无穷多个同分布随机变量之和构成随机变量服从高斯分布。方便起见,可用N个〔通常N=12〕均匀分布随机变量之和Xi近似高斯分布随机变量。假设Xi,i=0,1,…,11在[0,1)上服从均匀分布,那么Y=i=011随机信号相关函数计算、相关分析及实现方法原理:离散随机序列自相关函数定义为Rx(m)=E[x(n)x(n+m)]。对于各态历经随机过程,统计平均可用时间平均代替,即Rx(m)=limn→∞12N+1n=-NNxnx(n+m)工程实践中,无法获得无限长数据,只能用有限平均来近似,即Rx(m)=1N-m 2实验内容(1)编程实现产生10000个在(0,1)区间均匀分布随机数。计算生成随机数的1~4阶矩,最大值,最小值,频度直方图。(2)编程实现产生10000个N(3,4)高斯随机数。计算生成随机数的1~4阶矩,最大值,最小值,频度直方图。(3)编程实现产生10000个N(1,2)高斯随机数和10000个N(3,4)高斯随机数。计算其自相关函数,计算两个高斯随机信号的互相关函数。(4)生成一个10000点高斯随机信号x(n):N(1,4)。将该信号延迟N点,N<200,得到随机信号y(n)。计算两个信号的互相关函数,搜索峰值位置估算延迟。3实验仪器设备微型计算机、Matlab开发环境〔本报告采用MATLAB2023a〕实验步骤实现产生

10000

个在(0,1)区间均匀分布随机数。计算生成随机数的1~4阶矩,最大值,最小值,频度直方图。编程实现产生10000个N(3,4)高斯随机数。计算生成随机数的1~4阶矩,最大值,最小值,频度直方编程实现产生10000个N(1,2)高斯随机数和10000个N(3,4)高斯随机数。计算其自相关函数,计算两个高斯随机信号的互相关函数。生成一个10000点高斯随机信号x(n):N(1,4)。将该信号延迟N点,N<200,得到随机信号y(n)。、计算两个信号的互相关函数,搜索峰值位置估算延迟。实验数据记录表格表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(n+1)=[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-1)+1<231-1。通常公式中参数常用取值为s(0)=12357,r=2045,b=1,M=1048576。 2实验内容(1)编程实现产生10000个在(0,1)区间均匀分布随机数。计算生成随机数的1~4阶矩,最大值,最小值,频度直方图。(2)编程实现产生10000个N(3,4)高斯随机数。计算生成随机数的1~4阶矩,最大值,最小值,频度直方图。(3)编程实现产生10000个N(1,2)高斯随机数和10000个N(3,4)高斯随机数。计算其自相关函数,计算两个高斯随机信号的互相关函数。(4)生成一个10000点高斯随机信号x(n):N(1,4)。将该信号延迟N点,N<200,得到随机信号y(n)。计算两个信号的互相关函数,搜索峰值位置估算延迟。主要仪器设备微型计算机、Matlab开发环境〔本报告采用MATLAB2023a〕〔注:以下为代码内容已经有详细的说明已包括步骤和操作方法〕四、实验步骤与操作方法实验内容〔1〕:编程实现产生10000个在(0,1)区间均匀分布随机数。计算生成随机数的1~4阶矩,最大值,最小值,频度直方图代码如下:%%去除以前数据缓存以及命令行窗口的显示clearclc%%均匀分布随机数的产生%生成10000数据s=randuniform(1048576,1,2045,12357,10000);%%画线figure,plot(s)%全部title('全部数据连线')figure,plot(s(1:100))%前100个数据title('前100个数据连线')%%画点figure,plot(s,'.')%全部title('全部数据画点')figure,plot(s(1:100),'*')%前100个数据title('前100个数据画点')%%画直方图hist(s)title('10个区间')hist(s,100)title('100个区间')%%估计随机数的分布[f,xi]=ksdensity(s);figure,plot(xi,f);title('利用MATLAB函数ksdensity估计得概率密度')%%随机数的均值、均方值、一维三阶原点矩、一维四阶原点矩m=zeros(1,4);%生成[0000]fori=1:10000m(1)=m(1)+s(i);%均值m(2)=m(2)+s(i)^2;%二阶矩m(3)=m(3)+s(i)^3;%三阶m(4)=m(4)+s(i)^4;%四阶endm5=max(s);%最大值m6=min(s);%最小值m=m/10000;disp(['均值=',num2str(m(1))]);disp(['均方值=',num2str(m(2))]);disp(['三阶原点矩=',num2str(m(3))]);disp(['四阶原点矩=',num2str(m(4))]);disp(['最大值=',num2str(m5)]);disp(['最小值=',num2str(m6)]);%比照:Matlab函数disp('========以下比照Matlab库函数生成的数据========')disp('=====按任意键继续=====')pause;%生成10000数据sm=rand(1,10000);%画线figure,plot(sm)%全部title('全部数据连线')figure,plot(sm(1:100))%前100个数据title('前100个数据连线')%画点figure,plot(sm,'.')%全部title('全部数据画点')figure,plot(sm(1:100),'*')%前100个数据title('前100个数据画点')%画直方图hist(sm)title('10个区间')hist(sm,100)title('100个区间')%估计随机数的分布[f,xi]=ksdensity(sm);figure,plot(xi,f);title('利用MATLAB函数ksdensity估计得概率密度')%求随机数的均值、均方值、一维三阶原点矩、一维四阶原点矩m=zeros(1,4);%生成[0000]fori=1:10000m(1)=m(1)+sm(i);%均值m(2)=m(2)+sm(i)^2;%二阶矩m(3)=m(3)+sm(i)^3;%三阶m(4)=m(4)+sm(i)^4;%四阶endm5=max(sm);%最大值m6=min(sm);%最小值m=m/10000;disp(['均值=',num2str(m(1))]);disp(['均方值=',num2str(m(2))]);disp(['三阶原点矩=',num2str(m(3))]);disp(['四阶原点矩=',num2str(m(4))]);disp(['最大值=',num2str(m5)]);disp(['最小值=',num2str(m6)]);实验内容(2):编程实现产生10000个N(3,4)高斯随机数。计算生成随机数的1~4阶矩,最大值,最小值,频度直方图。代码如下:%%去除以前数据缓存以及命令行窗口的显示clearclc%%高斯分布随机数的产生%生成10000数据m=0;a=1;num=10000;s=rnd(m,a,num);%rnd()自己编写的产生高斯随机数的函数%%画线figure,plot(s)%全部title('全部数据连线')figure,plot(s(1:100))%前100个数据title('前100个数据连线')%%画点figure,plot(s,'.')%全部title('全部数据画点')figure,plot(s(1:100),'*')%前100个数据title('前100个数据画点')%%画直方图hist(s)title('10个区间')hist(s,100)title('100个区间')%%估计随机数的分布[f,xi]=ksdensity(s);figure,plot(xi,f);title('利用MATLAB函数ksdensity估计得概率密度')%%求随机数的均值、均方值、一维三阶原点矩、一维四阶原点矩、最大值和最小值m=zeros(1,4);%生成[0000]fori=1:10000m(1)=m(1)+s(i);%均值m(2)=m(2)+s(i)^2;%二阶矩m(3)=m(3)+s(i)^3;%三阶m(4)=m(4)+s(i)^4;%四阶endm5=max(s);%最大值m6=min(s);%最小值m=m/10000;disp(['均值=',num2str(m(1))]);disp(['均方值=',num2str(m(2))]);disp(['三阶原点矩=',num2str(m(3))]);disp(['四阶原点矩=',num2str(m(4))]);disp(['最大值=',num2str(m5)]);disp(['最小值=',num2str(m6)]);%%比照:Matlab函数disp('========以下比照Matlab库函数生成的数据========')disp('========按任意键继续========')%pause;%%生成10000数据sm=random('normal',0,1,1,num);%%画线figure,plot(sm)%全部title('全部数据连线')figure,plot(sm(1:100))%前100个数据title('前100个数据连线')%%画点figure,plot(sm,'.')%全部title('全部数据画点')figure,plot(sm(1:100),'*')%前100个数据title('前100个数据画点')%%画直方图hist(sm)title('10个区间')hist(sm,100)title('100个区间')%%估计随机数的分布[f,xi]=ksdensity(sm);figure,plot(xi,f);title('利用MATLAB函数ksdensity估计得概率密度')%%求随机数的均值、均方值、一维三阶原点矩、一维四阶原点矩、最大值和最小值m=zeros(1,4);%生成[0000]fori=1:10000m(1)=m(1)+sm(i);%均值m(2)=m(2)+sm(i)^2;%二阶矩m(3)=m(3)+sm(i)^3;%三阶m(4)=m(4)+sm(i)^4;%四阶endm5=max(sm);%最大值m6=min(sm);%最小值m=m/10000;disp(['均值=',num2str(m(1))]);disp(['均方值=',num2str(m(2))]);disp(['三阶原点矩=',num2str(m(3))]);disp(['四阶原点矩=',num2str(m(4))]);disp(['最大值=',num2str(m5)]);disp(['最小值=',num2str(m6)]);实验内容〔3〕:(3)编程实现产生10000个N(1,2)高斯随机数和10000个N(3,4)高斯随机数。计算其自相关函数,计算两个高斯随机信号的互相关函数。代码如下:%%去除以前数据缓存以及命令行窗口的显示clearclc%定义高斯随机的方差和均值及产生的数量m1=1;a1=2;m2=3;a2=4;num=10000;%利用自带函数产生高斯随机数d1=random('norm',1,2,1,num);d2=random('norm',3,4,1,num);%计算自相关和互相关函数Rx1=xcorr(d1);Rx2=xcorr(d1);Rx1x2=xcorr(d1,d2);m=-num+1:num-1;figure,plot(m,Rx1);figure,plot(m,Rx2);figure,plot(m,Rx1x2);实验内容〔4〕:(4)生成一个10000点高斯随机信号x(n):N(1,4)。将该信号延迟N点,N<200,得到随机信号y(n)。计算两个信号的互相关函数,搜索峰值位置估算延迟。代码如下:%%去除以前数据缓存以及命令行窗口的显示clearclc%定义高斯随机的方差和均值及产生的数量m1=1;a1=4;num=10000;fs=500;N=100;long=1000;%由于数据过多,延时图比拟不明显,显示1000个数据%利用自带函数产生高斯随机数x1=random('norm',1,4,1,num);x2=random('norm',1,4,1,num);x=random('norm',1,4,1,N);%产生一个1维N个随机高斯随机数,用来替换延时后的空位%延时Nfori=1:10000if(i<=100)x2(i)=0;%将延时后的前100用零代替elsex2(i)=x1(i-N);endendfigure,subplot(2,1,1),plot(x1(1:long));title('原随机信号')subplot(2,1,2),plot(x2(1:long),'r');%延迟与原随机信号同一张图中比拟title('用0替换延时后的延时信号')[cor11,lag11]=xcorr(x1,x2);figure,plot(lag11/fs,cor11)title('延时100且用高斯随机数替代延时后两个函数的互相关函数')%求最大值,和延时max11=0;fori=1:10000if(cor11(1,i)>max11)max11=cor11(1,i);delay11=lag11(1,i);endendmax11delay11%延时Nfori=1:10000if(i>N)x2(i)=x1(i-N);elsex2(i)=x(i);%将延时后的前100用产生的高斯随机数代替endendfigure,subplot(2,1,1),plot(x1(1:long));%延迟与原随机信号同一张图中比拟title('原随机信号')subplot(2,1,2),plot(x2(1:long),'r');%延迟与原随机信号同一张图中比拟title('用高斯随机数替换后的延时信号')[cor12,lag12]=xcorr(x1,x2);figure,plot(lag12/fs,cor12)title('延时100且用高斯随机数替代延时后两个函数的互相关函数')%求最大值,和延时max12=0;fori=1:10000if(cor12(1,i)>max12)max12=cor12(1,i);delay12=lag12(1,i);endendmax12delay12附:本次作业中用到的两个随机信号源代码产生(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:nums(i)=mod(s(i-1)*r+b,M);ends=s/M;高斯随机序列产生函数:function[s1,s2]=rnd(m,a,num)%其中a是均值,m是方差,num变量那么是数据量%%调用例如:s=rnd(0,1,1000),x1=rand(1,num);x2=rand(1,num);y1=sqrt(-2*log(x1)).*cos(2*pi*x2);y2=sqrt(-2*log(x1)).*sin(2*pi*x2);s1=a*y1+m;s2=a*y2+m;end五、实验数据记录和处理实验内容〔2〕结果:图1-1.1:10000个均匀随机数的连线图〔自编函数〕图1-1.2:前100个均匀随机数连线图〔自编函数〕图1-1.3:10000个均匀随机数数据点图〔自编函数〕图1-1.4:10000个均匀随机变量频度直方图〔自编函数〕图1-1.5:估得的概率密度图〔自编函数〕图1-1.6:10000个均匀随机数的连线图〔库函数〕图1-1.7:前100个均匀随机数的连线图〔库函数〕图1-1.9:10000个均匀随机变量频度直方图〔库函数〕图1-1.8:10000个均匀随机数的数据点图〔自编函数〕图1-1.10:估得的概率密度图〔库函数〕以下是得到的运算数据:表1-1.1实验内容〔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个高斯随机数的连线图〔自编函数〕图1-2.2:前100个高斯随机数的连线图〔自编函数〕图1-2.3:10000个高斯随机数的数据点图〔自编函数〕图1-2.4:10000个高斯随机变量频度直方图〔自编函数〕图1-2.5:估得的高斯概率密度图〔自编函数〕图1-2.6:10000个高斯随机数的连线图〔库函数〕图1-2.7:前100个高斯随机数的连线图〔库函数〕图1-2.8:10000个高斯随机数的数据点图〔库函数〕图1-2.9:10000个高斯随机变量频度直方图〔库函数〕图1-2.10:估得的高斯概率密度图〔库函数〕以下是得到的运算数据:表1-2.1实验内容〔2〕自编函数数据处理记录表均值均方值三阶原点矩-0.0106970.99069-0.011689四阶原点矩最小值最大值2.9351-3.77273.945表1-2.2实验内容〔2〕库函数数据处理记录表均值均方值三阶原点矩-0.00218151.0159-0.022676四阶原点矩最小值最大值3

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论