[an error occurred while processing this directive]
|
SNR=-20;
F=995.5;Fs = 8000;
N=2048;
t = (0:N-1);
ph=rand(1,4)*2*pi;
% signal
s = sin((2*pi*(F/Fs).*t)+ph(1));
% noise
n = (10^(SNR/20)).*(2*rand(1,N)-1);
s = s+n;
w = nuttallwin(N)';
s = s .* w;
spectr = (-1/(sum(w)))*abs(fft(s));
spectr = spectr(1:N/2);
fr = (0:N/2-1) .* (Fs / N);
sp = spapi(3,fr,spectr);
[c,i] = min(spectr);
fq = (i-1)*(Fs / N);
resol = Fs/N;
[dummy,freq] = fnmin(sp,[(fq-resol*2) (fq+resol*2) ]);
err = abs(F - freq);
clc;
F
floor(freq*10+0.5)/10
-2*fnval(sp,freq)
Составить ответ ||| Конференция ||| Архив
Ответы
E-mail: info@telesys.ru