Здавствуйте.
Имеется синусоида. Есть 301 выборка, в которые помещается минимум два периода (в силу гуляния частоты 42,5 ... 57,5 Гц).
Необходима какая-то конструкция на С++, которая бы создавала массив из двух значений - два максимума синусоиды.
Проблема в том, что могут встречаться локальные максимумы. Например, если примитивно представить массив синусоиды, то
{ 1, 2, 3, 2, 5, 6, 7, 3, 2, 1, -3, -1, 2, 4, 5, 7, 3, 2, 1, 0} здесь третий элемент - это локальный максимум (а седбмой и шестнадцатый элементы - искомые максимумы)
Наличие же локальных максимумов усложняет конструкцию и делает невозможным применение (как критерия максимума) простого сравнения со следующим значением.
Думаю нужно как-то использовать информацию о том, что выше максимума значения нет.
Всё это нужно для определения периода синусоиды по двум опорным точкам. Алгоритм с переходами через "ноль" решается просто.
Но такой подход работает плохо когда в сигнале есть ВЧ составляющие, и как следствие частые переходы через ноль.
Поэтому нужно искать два максимума. А как незнаю...(( нужна помощь