Телесистемы
 Разработка, производство и продажа радиоэлектронной аппаратуры
На главную   | Карта сайта | Пишите нам | В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:jobsmp@pochta.ru

Телесистемы | Электроника | Конференция «Микроконтроллеры и их применение»

Алгоритм Герцеля (Goertzel) точный или приближенный? Кто знает?

Отправлено Mike712 20 марта 2007 г. 17:16


Алгоритм Герцеля (Goertzel) используется для расчета спектра исходного сигнала на определенных частотах.

В MatLabe7.0 вычислил спектр сигнала стандартной функцией fft(s, Nf), и функцией Гертцеля (для всех частот) goertzel(s, 1:Nf), результаты немного отличаются.
В описаниях самого алгоритма в явном виде нигде не сказано, что он приближенный, вот меня сомнения и терзают.
Или может я что не правильно в МатЛабе сделал?


%Клок
Fclk = 3200000;
%Число точек времени
Nt = 1024;
%интервал времени
t = 0: 1/Fclk: Nt/Fclk
%Максимум входного сигнала
Us = 55;
%Частота входного сигнала
Fsig = 400e3;
%Форма сигнала
x = abs(t)>=222e-6;
z = abs(t)>=100e-6;

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
s = -(z-x).*(sin(2*pi*(Fsig)*t))*Us + 0;%сигнал

%№ гармоник для отображения на графике (соответсвуют 326,5-440,625кГц)
vec = 116:141;
%колво точек БПФ
Nf = 1024;
Ygoe = goertzel(s, 1:Nf);
Y = fft(s,Nf);

subplot (N_sub_plot,1,1)
plot( (vec), abs(Ygoe(vec)), 'g' );%Goertzel
hold on
xlabel('# harmonics ')
plot( (vec), abs(Y(vec)), 'r');%FFT
hold off



Составить ответ | Вернуться на конференцию

Ответы


Отправка ответа
Имя*: 
Пароль: 
E-mail: 
Тема*:

Сообщение:

Ссылка на URL: 
URL изображения: 

если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
введите число 38:

Перейти к списку ответов | Конференция | Раздел "Электроника" | Главная страница | Карта сайта

Rambler's Top100 Рейтинг@Mail.ru
 
Web telesys.ru