SNR的定義
SNR:信噪比薇缅,信號(hào)與噪聲的比率
P:平均能量
信號(hào)功率和噪聲功率有著相同的帶寬
如果信號(hào)是一個(gè)常量s耿焊,或者隨機(jī)變量S廉涕,那么對(duì)于隨機(jī)噪聲N的SNR為
E:期望
如果噪聲的期望為0,顯然
顯然扳躬,
分貝
因?yàn)樾盘?hào)動(dòng)態(tài)范圍很大锅减,所以糖儡,經(jīng)常用對(duì)數(shù)分貝縮放,
因此怔匣,
matlab代碼
function [res] = add_noise(data,snr_db)
%ADD_NOISE 此處顯示有關(guān)此函數(shù)的摘要
% 此處顯示詳細(xì)說明
% snr input actually is snr_db
% input:data,snr_dB
%snr_db=10log10(snr)
%snr=10^(snr_dn/10)
snr=power(10,snr_db/10);
% snr=p_s/p_n
% D(s)=E(s^2)-E(s)^2
p_s=var(data)+mean(data)^2;
p_n=p_s/snr;
sigma=sqrt(p_n);
noise=normrnd(0,sigma,100,1);
% x=(1:100)';
% plot(x,data,'r.');
% hold on;
% plot(x,data+noise);
% legend('原始數(shù)據(jù)','15dB噪聲');
res=data+noise;
end