資源簡介
計算信噪比,相信很多學信號處理的同學們還不能很準確地計算信噪比,好好探討和學習一下吧

代碼片段和文件信息
%自己寫的信噪比計算工具snr2.m?
%snr2(s2anafsf0flfhblbh)
%s2ana:?待分析信號
%fs:采樣頻率
%f0:信號頻率
%[flfh]:信號能量分散帶
function?snr?=?snr2(s2anafsf0flfhblbh);
[sizeasizeb]?=?size(s2ana);
if?(sizea==1)
????s?=?s2ana‘;
else
????s?=?s2ana;
end
len?=?length(s);
s_window?=?s.*hann(len)/max(s2ana);
fft_s?=?fft(s_windowlen)/len;
psd_s?=?fft_s?.*conj(fft_s);
len1?=?fix(len/2);
psd1_s?=?psd_s(1:len1)*65/2;
figure;
plot((0:len1-1)/len*fs10*log10(psd1_s));grid;
%compute?the?fft?line?corresponding?to?flfhblbh;
fp_fl?=?fix(fl*len/fs)+1;
if?(fp_fl==0)
????fp_fl?=?1;
end
fp_fh?=?fix(fh*len/fs)+1;
if?(fp_fh>len1)
????fp_fh?=?len1;
end
fp_bl?=?fix(bl*len/fs)+1;
if?(fp_bl==0)
????fp_bl?=?1;
end
fp_bh?=?fix(bh*len/fs)+1;
if?(fp_bh>len1)
????fp_bh=len1;
end
energy_sig?=?0;
energy_noise?=?0;
energy_sig?=?sum(psd1_s(fp_fl:fp_fh));
energy_noise?=?sum(psd1_s(fp_bl:fp_bh))?-?energy_sig?...
????+?(fp_fh-fp_fl+1)*(psd1_s(fp_fl)+psd1_s(fp_fh))/2;
snr?=?10*log10(energy_sig?/??energy_noise);
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????1077??2008-07-02?08:15??新建文件夾?(6)\snr2.m
?????文件???????1561??2009-09-20?20:00??新建文件夾?(6)\SNR_Ana.m
?????目錄??????????0??2010-06-24?08:57??新建文件夾?(6)
-----------?---------??----------?-----??----
?????????????????2638????????????????????3
- 上一篇:七周成為數據分析師-全套視頻+課件
- 下一篇:對PL0語言及其編譯器進行擴充和修改
評論
共有 條評論