Подсчитайте периоды формы сигнала и вычислите частоту

#excel #vba

#excel #vba

Вопрос:

У меня есть некоторое время колебаний v смещения данных Excel от привода, которые мне нужно проанализировать, и моя цель — иметь возможность подсчитывать циклы, используя количество раз, когда значение смещения пересекает 0. Почти как подсчет периода синусоидальной волны. Проблема, с которой я сталкиваюсь, заключается в том, что частота этих данных изменяется несколько раз по всему набору данных и может не всегда или когда-либо = 0. Я думаю, что если бы у меня был способ подсчитать, сколько раз значение смещения «пересекало» ноль, я мог бы использовать каждые 3 из этих точек для вычисления циклов и частоты волновых форм. Я написал много простых вещей на VBA, но ни в коем случае не являюсь экспертом, поэтому буду признателен за любую помощь.

Ответ №1:

Я думаю, что простым способом сделать это было бы сохранить сравнение знака предыдущего значения со знаком текущего значения.

Например, значение1 = -0,1236 , значение2 = 0,5482. Итак, между этими двумя значениями вы знаете, что оно должно было пересечь 0. Вы можете попросить программу проверить каждое значение в данных, подсчитать все изменения знака, и это должно быть число, которое вы ищете.

Пример кода для сравнения значений:

 If Current_Value < 0 <> Previous_Value < 0 then Counter = Counter   1