Нахождение выборки в начале периода составного периодического сигнала

У меня есть сигнал, состоящий из суммы ряда синусоидальные волны. Они разнесены на 100 Гц, с самой низкой компонентной частотой на 200 Гц (200 Гц, 300 Гц ... и т. Д.) Все компонентные синусоидальные волны начинаются в одной и той же точке с фазой = 0. В моем программном обеспечении DSP, где я собираюсь умножить этот сигнал по нескольким другим сигналам, мне нужно найти точку, в которой все составляющие исходного сигнала все снова находятся в фазе = 0.

Если бы я использовал только одну синусоидальную волну, я мог бы просто искать изменение знака с от отрицательного к положительному. Однако, если сигнал имеет, скажем, компоненты на 200 Гц и 300 Гц, есть три перехода через ноль, где знак меняется с отрицательного на положительный, но только один, который представляет начало периода, и это увеличивается с увеличением количества составляющих волн. У меня есть контроль над амплитудами каждой частоты компонента во время начальной последовательности запуска. Если бы эти волны были строго гармоническими (200 Гц, 400 Гц, 800 Гц и т. Д.), Я мог бы просто удалить все, кроме самой низкой частоты, найти начало ее периода и использовать это как мою нулевую выборку. Однако у меня нет такой полосы пропускания. Может ли кто-нибудь предложить альтернативный подход?

Редактировать:

(Я разъяснил и интегрировал это правка в основной вопрос.)

Редактировать 2:

Этот рисунок должен продемонстрировать проблему.Частоты двух составляющих здесь n и 3n / 2. Не отфильтровывая все, кроме самой низкой частоты, или используя БПФ, предложенный @hotpaw, алгоритм, который ищет только нулевые переходы, когда знак меняется с отрицательного положительного, попадет в одну из трех, и я должен найти первую из них. три (это единственная точка, в которой каждый компонентный сигнал находится в фазе = 0). Я понимаю, что использование БПФ будет работать, но я имею дело с очень ограниченной вычислительной мощностью и задаюсь вопросом, есть ли более простой подход.

Sample waveform

5
задан GarlicFries 16 November 2011 в 10:10
поделиться