• 大小: 1KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-07-05
  • 语言: 其他
  • 标签: 信噪比  

资源简介

计算信噪比,相信很多学信号处理的同学们还不能很准确地计算信噪比,好好探讨和学习一下吧

资源截图

代码片段和文件信息

%自己写的信噪比计算工具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


评论

共有 条评论