|
![](static/image/common/ico_lz.png)
楼主 |
发表于 2016-10-12 15:54:28
|
显示全部楼层
我又找到了一个FFT程序如下,vd是一位的数据流,
ntot=length(vd);
osr=32;
N=8192;
fsignal=476562.5;
fs=32000000;
fbin=N*fsignal/fs;
w=hann(N);
nb=3;
w1=norm(w,1);
w2=norm(w,2);
NBW=(w2/w1)^2;
V=fft(w.*vd)/(w1/2);
signal_bins=fbin+[-(nb-1)/2 nb-1)/2];
inband_bins=0:N/(2*osr);
noise_bins=setdiff(inband_bins,signal_bins);
snr=dbp(sum(abs(V(signal_bins+1)).^2)/sum(abs(V(noise_bins+1)).^2));
figure(1);
clf;
semilogx([1:N/2]/N,dbv(V(2:N/2+1)),'b','Linewidth',1);
hold on
[f p]=logsmooth(V,fbin,2,nb);
plot(f,p,'m','linewidth',1.5);
s=sprintf('SNR= %4.1fdB\n',snr);
text(0.1,-120,s);
figureMagic([1/N 0.5],[],[],[-140 0],10,2);
但得到的SNR只有-3.5,是怎么回事呀?请指教 |
|