[an error occurred while processing this directive]
Вот. Только переделанное для 3-го порядка.
(«Телесистемы»: Конференция «Цифровые сигнальные процессоры (DSP) и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено SM 31 июля 2003 г. 09:25
В ответ на: Одно другому не мешает. Окно+интерполяция. Поищите немного по конференции - я выкладывал скрипт для измерения частоты с интерполяцией 7-го (кажется) порядка, там точность по амплитуде была хорошая. отправлено SM 31 июля 2003 г. 08:27


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: 

Тема (обязательно):
Сообщение:

Ссылка на URL: 
Название ссылки: 

URL изображения: 


Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru