Форум: "Media";
Текущий архив: 2003.03.17;
Скачать: [xml.tar.bz2];
Внизпрограммное определение частоты Найти похожие ветки
← →
aspen (2002-12-03 13:45) [0]есть массив со значениями некой периодической функцией... как можно определить частоту? желеательно чтоб алгоритм работал быстро...
← →
MBo (2002-12-03 13:52) [1]сделать FFT (быстрое Фурье-преобразование)
← →
aspen (2002-12-03 13:54) [2]я про это думал... но где там искать частоту? можно подробнее?:)
Спасибо.
← →
MBo (2002-12-03 14:32) [3]Лучше сделай поиск в инете и почитай. Есть и готовые библиотеки и компоненты (например, на torry.ru)
Общие слова - из исходный массив из 2^n точек (требование fft), в общем случае комплексный, но мнимую часть обычно заполняют нулями, получается массив такого же размера, содержащий частотный спектр.
Например, если сделать массив со значениями функции
Y=sin(10x)+5sin(15x),
то в результате графике модуля FFT (Hypot(Re,Im)), получим два пика с отличающимися в полтора раза значениями абсцисс(для получения значений 10 и 15 нужно умножать на коэффициент, зависящий от числа точек и шага исходных отсчетов) и примерно в 5 раз значениями ординат - т.е. в исходном массиве присутствовали 2 гармоники с соотв. значениями частот и амплитуд
← →
Valentain (2002-12-03 18:14) [4]... а если знаем
- частоту дискритизации fd (2,0 - 98,0 кГц),
- количество отсчетов за один период сигнала Ni (по переходу -0 | +0)
разве трудно посчитать fd/Ni?...
Согласен, погрешность увеличивается с уменьшением Ni, но если взять среднее за 1с (или более), можно получить приемлемые значения...
С уважением.
Страницы: 1 вся ветка
Форум: "Media";
Текущий архив: 2003.03.17;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.007 c