Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

программное определение частоты


aspen ©   (2002-12-03 13:45:00) 

есть массив со значениями некой периодической функцией... как можно определить частоту? желеательно чтоб алгоритм работал быстро...


Valentain   (2002-12-03 18:14:00) [1]

... а если знаем
- частоту дискритизации fd (2,0 - 98,0 кГц),
- количество отсчетов за один период сигнала Ni (по переходу -0 | +0)
разве трудно посчитать fd/Ni?...
Согласен, погрешность увеличивается с уменьшением Ni, но если взять среднее за 1с (или более), можно получить приемлемые значения...

С уважением.


MBo   (2002-12-03 14:32:00) [2]

Лучше сделай поиск в инете и почитай. Есть и готовые библиотеки и компоненты (например, на torry.ru)
Общие слова - из исходный массив из 2^n точек (требование fft), в общем случае комплексный, но мнимую часть обычно заполняют нулями, получается массив такого же размера, содержащий частотный спектр.
Например, если сделать массив со значениями функции
Y=sin(10x)+5sin(15x),
то в результате графике модуля FFT (Hypot(Re,Im)), получим два пика с отличающимися в полтора раза значениями абсцисс(для получения значений 10 и 15 нужно умножать на коэффициент, зависящий от числа точек и шага исходных отсчетов) и примерно в 5 раз значениями ординат - т.е. в исходном массиве присутствовали 2 гармоники с соотв. значениями частот и амплитуд


aspen   (2002-12-03 13:54:00) [3]

я про это думал... но где там искать частоту? можно подробнее?:)
Спасибо.


MBo   (2002-12-03 13:52:00) [4]

сделать FFT (быстрое Фурье-преобразование)


Наверх

Титульная страница Поиск, карта сайта Написать письмо