Выделение гармоник

sergeysalnikov71
Offline
Зарегистрирован: 12.06.2014

Здравствуйте.

есть входной аналоговый сигнал из которог необходимо выделить определенные гармоники, при совпадении которых активируется выход, сигнализируя совпадение гармоник. Подскажите как можно реализовать этот алгоритм?

платформа Arduinomega

спасибо

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

sergeysalnikov71 пишет:

Здравствуйте.

есть входной аналоговый сигнал из которог необходимо выделить определенные гармоники, при совпадении которых активируется выход, сигнализируя совпадение гармоник. Подскажите как можно реализовать этот алгоритм?

платформа Arduinomega

спасибо

как правило на параллельном контуре настроенном на нужную гармонику

nik182
Offline
Зарегистрирован: 04.05.2015

Это сильно зависит от того какие гармоники присутствуют. Если кратны двойке, то можно использовать FFT. Библиотеки есть. Если например разбирать тоновые посылки телефона, тоже есть алгоритмы. Надо только вовремя остановить оцифровку.

 

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

То есть для нечетных гармоник FFT бесполезно?

nik182
Offline
Зарегистрирован: 04.05.2015

Какой же вы академичный. Причем здесь четные и не четные? Для fft длина реализации кратна степени 2. Минимальная гармоника fft частота оцифровки / 2^n , каждая следущая гармоника = минимальная * i, где i =0..n/2. Если исследуемая гармоника не совпадает с гармоникой fft то реальную амплитуду исследуемой гармоники получить не удается, т.к. она распадается на ряд ложных гармоник. Если, например, две исследуемые гармоники лежат между двумя соседними гармониками fft то разделить их с помощью fft нельзя.

sergeysalnikov71
Offline
Зарегистрирован: 12.06.2014

на каких частотах возможно работать с fft?

 

nik182
Offline
Зарегистрирован: 04.05.2015

В принципе на любых. Но лучше если частота оцифровки будет превосходить исседуемые гармоники в 10 раз.