【数字信号处理】相关函数应用 ( 使用 matlab 计算相关函数 )
文章目錄
- 一、相關(guān)函數(shù)應(yīng)用場(chǎng)景
- 1、生成高斯白噪聲
- 2、信噪比 SNR
- 3、根據(jù)信噪比 SNR 求信號(hào)幅度
- 4、產(chǎn)生單載波信號(hào)及最終信號(hào)
- 5、求自相關(guān)函數(shù)及功率
- 6、matlab 完整代碼
一、相關(guān)函數(shù)應(yīng)用場(chǎng)景
求下面信號(hào)的 " 自相關(guān)函數(shù) " :
x(n)=sin?(2πfn)+N(n)x(n) = \sin(2\pi fn) + N(n)x(n)=sin(2πfn)+N(n)
其中 N(n)N(n)N(n) 為 高斯白噪聲 ;
高斯白噪聲 符合 正態(tài)分布 特性 , 其 均值為 000 , 方差為 111 , 其功率譜密度是白的 , 在所有的頻率上 , 其功率都相同 ;
在上一篇博客 【數(shù)字信號(hào)處理】相關(guān)函數(shù)應(yīng)用 ( 相關(guān)函數(shù)應(yīng)用場(chǎng)景 | 噪聲中檢測(cè)信號(hào)原理 ) 中 , 使用了公式推導(dǎo)的方法求相關(guān)函數(shù) , 本篇博客使用 matlab 求相關(guān)函數(shù) ;
下面開(kāi)始使用 matlab 計(jì)算 x(n)=sin?(2πfn)+N(n)x(n) = \sin(2\pi fn) + N(n)x(n)=sin(2πfn)+N(n) 的相關(guān)函數(shù) ;
1、生成高斯白噪聲
生成 高斯白噪聲 序列 , 均值 0 , 方差 1 ;
randn(1,200);上述代碼 生成的 高斯白噪聲 序列 是一個(gè) 有 200 個(gè)元素的行向量 ,
如果是 randn(2, 200) 代碼 , 則生成的是一個(gè) 2×2002 \times 2002×200 的矩陣 ;
2、信噪比 SNR
SNR 是信噪比 , PsP_sPs? 是信號(hào)功率 , PNP_NPN? 是噪聲功率 , 其關(guān)系是 :
SNR=10log?10PsPNSNR = 10 \log_{10}\cfrac{P_s}{P_N}SNR=10log10?PN?Ps??
在 matlab 中 , 設(shè)置信噪比為 777 ;
% 設(shè)置 信噪比 SNR = 7;3、根據(jù)信噪比 SNR 求信號(hào)幅度
信號(hào) Asin?ωnA \sin \omega nAsinωn , 其功率是 Ps=A22P_s = \cfrac{A^2}{2}Ps?=2A2? , 噪聲功率 是 PN=1P_N=1PN?=1 , 將其帶入到信噪比公式中 :
SNR=10log?10PsPN=10log?10A221=10log?10A22SNR = 10 \log_{10}\cfrac{P_s}{P_N} = 10 \log_{10}\cfrac{\cfrac{A^2}{2}}{1} = 10 \log_{10}\cfrac{A^2}{2}SNR=10log10?PN?Ps??=10log10?12A2??=10log10?2A2?
根據(jù)信噪比 計(jì)算 幅度 AAA :
SNR10=log10A22\cfrac{SNR}{10} = log_{10}\cfrac{A^2}{2}10SNR?=log10?2A2?
A22=10SNR10\cfrac{A^2}{2} = 10^{\cfrac{SNR}{10}}2A2?=1010SNR?
A2=2×10SNR10A^2 = 2 \times 10^{\cfrac{SNR}{10}}A2=2×1010SNR?
A=2×10SNR10A = \sqrt{2 \times 10^{\cfrac{SNR}{10}}}A=2×1010SNR??
寫(xiě)成 matlab 代碼為 :
% 根據(jù) 信噪比 計(jì)算信號(hào)幅度 SignalAmplitude = sqrt( 2 * 10^(SNR/10) );4、產(chǎn)生單載波信號(hào)及最終信號(hào)
根據(jù) Asin?ωnA \sin \omega nAsinωn 公式 , 產(chǎn)生 200 個(gè)信號(hào) , 其中 AAA 之前已經(jīng)求出 ;
% 根據(jù) Asinωn 產(chǎn)生 200 個(gè)信號(hào) x1 = A * sin( pi * 0.165 * (0:199) );然后將 信號(hào) 與 高斯白噪聲疊加 :
% 信號(hào) + 高斯白噪聲 x = x1 + xn;5、求自相關(guān)函數(shù)及功率
求自相關(guān)函數(shù) , 使用 xcorr 函數(shù) ;
% 求 x 的 自相關(guān)函數(shù) , 長(zhǎng)度為2N-1 y = xcorr(x, x);求信號(hào)功率 :
% 功率 : 自相關(guān)函數(shù) 幅度 求平均 % 自相關(guān)函數(shù) 就是 200 個(gè)功率之和 y = y / 200;6、matlab 完整代碼
matlab 完整代碼 :
% 清除之前的變量或內(nèi)存 clear; % 生成 高斯白噪聲 序列 , 均值 0 , 方差 1 % 生成的 高斯白噪聲 序列 是一個(gè) 有 200 個(gè)元素的行向量 xn = randn(1,200); % 設(shè)置 信噪比 SNR = 7;% 根據(jù) 信噪比 計(jì)算信號(hào)幅度 A = sqrt( 2 * 10^(SNR/10) );% 根據(jù) Asinωn 產(chǎn)生 200 個(gè)信號(hào) x1 = A * sin( pi * 0.165 * (0:199) ); % 信號(hào) + 高斯白噪聲 x = x1 + xn; % 求 x 的 自相關(guān)函數(shù) , 長(zhǎng)度為2N-1 y = xcorr(x, x); % 功率 : 自相關(guān)函數(shù) 幅度 求平均 % 自相關(guān)函數(shù) 就是 200 個(gè)功率之和 y = y / 200; %建立幕布 figure; %繪制 "輸出序列" 圖像 , 點(diǎn)用上三角表示 plot(y);% 打開(kāi)網(wǎng)格 grid on;執(zhí)行結(jié)果 :
總結(jié)
以上是生活随笔為你收集整理的【数字信号处理】相关函数应用 ( 使用 matlab 计算相关函数 )的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 【数字信号处理】相关函数应用 ( 相关函
- 下一篇: 【数字信号处理】相关函数应用 ( 高斯白