如何使用Matlab做數字信號處理的仿真1
阿新 • • 發佈:2018-10-23
分享 寫代碼 相關 技術分享 atl any alt 習題 src
例如 第三版數字信號處理P51 -1.14習題時域離散信號的相關性研究x(n)=Asin(ωn)+u(n),其中ω=π/16,u(n)是白噪聲,現要求
⑴、產生均值為0,功率P=0.1的均勻分布白噪聲u(n),求u(n)自相關函數ru(m)
⑵、使x(n)的信噪比10dB決定A的數值並畫出x(n)的圖形及其自相關函數的圖形
(1)
1 新建一個matlab腳本---edit 文件名.m
2 然後再.m後綴的文件中編寫代碼
3 在腳本中調試:直接打文件名+回車鍵就可以調試了,
4 過一會會出現如下最右邊的圖形
edit jaoany.m
p=0.1;N=50000;
u0=rand(1,N);u0=u0-mean(u0);
a=sqrt(p/0.083);u=u0*a;
power_u=dot(u,u)/N
plot(u(1:100));grid on;
求自相關函數
>> ru=xcorr(u,100,‘unbiased‘);plot(ru) %求自相關函數
⑵、使x(n)的信噪比10dB決定A的數值並畫出x(n)的圖形及其自相關函數的圖形
運行可以直接在>>l後面敲下代碼,不過錯了不好編輯,建議還是建立一個.m的文檔來編寫
n=0:49999;
y=0.5*pi*sin(0.0625*pi*n);
x=y+u;
plot(x(1:100));grid on;
求自相關函數>> rx=xcorr(x,100,‘unbiased‘);plot(rx)%求自相關函數
如何使用Matlab做數字信號處理的仿真1