資源簡(jiǎn)介
把指定的噪聲疊加到信號(hào)上去,有標(biāo)準(zhǔn)噪聲庫(kù)NOISEX-92,其中帶有白噪聲、辦公室噪聲、工廠噪聲、汽車(chē)噪聲、坦克噪聲等等,在信號(hào)處理中往往需要把庫(kù)中的噪聲疊加到信號(hào)中去,而噪聲的采樣頻率與純信號(hào)的采樣頻率往往不一致,需要采樣頻率的校準(zhǔn)。
代碼片段和文件信息
%?2,把指定的噪聲疊加到信號(hào)上去
%?有標(biāo)準(zhǔn)噪聲庫(kù)NOISEX-92,其中帶有白噪聲、辦公室噪聲、工廠噪聲、汽車(chē)噪聲、坦克噪聲等等,在信號(hào)處理中往往需要把庫(kù)中的噪聲疊加到信號(hào)中去,而噪聲的采樣頻率與純信號(hào)的采樣頻率往往不一致,需要采樣頻率的校準(zhǔn)。
function?[YNOISE]?=?add_noisem(Xfilepath_nameSNRfs)
%?add_noisem?add?determinated?noise?to?a?signal.
%?X?is?signal?and?its?sample?frequency?is?fs;
%?filepath_name?is?NOISE‘s?path?and?name?and?the?SNR?is?signal?to?noise?ratio?in?dB.
[wavinfs1nbits]=wavread(filepath_name);
if?fs1~=fs
wavin1=resample(wavinfsfs1);
end
nx=size(X1);
%{
noisySize=size(wavin11);
NOISE=zeros(nx1);
if?nx>noisySize
????for?i=1:noisySize:nx
????????
????end
end
%}
NOISE=wavin1(1:nx);
NOISE=NOISE-mean(NOISE);
signal_power?=?1/nx*sum(X.*X);
noise_variance?=?signal_power?/?(?10^(SNR/10)?);
NOISE=sqrt(noise_variance)/std(NOISE)*NOISE;
Y=X+NOISE;
%?其中X是純信號(hào),filepath_name是指定噪聲文件(.wav)的路徑和文件名,SNR是要求的信噪比,fs是信號(hào)X的采樣頻率,Y是帶噪信號(hào),NOISE是疊加在信號(hào)上的噪聲。
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????文件???????1046??2012-03-03?16:34??add_noisem.m
-----------?---------??----------?-----??----
?????????????????1046????????????????????1
評(píng)論
共有 條評(píng)論