實驗一-隨機信號的產生、相關分析及其應用實驗_第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

提交評論