![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
программное определение частоты
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 (быстрое Фурье-преобразование)