В том то и дело, что не знаю где шум, а где сигнал!
Я могу подсчитать хоть средне, хоть среднеквадратичное, но только всего сигнала, ну т.е. какого-то интервала.
Но я не знаю где шум, а где сигнал. тут получается замкнутый круг))
Объясню чуть подробней: вот есть сигнал, как на картинке в вашем посте 28. Визуально я могу выделить сигнал и шум, а как программно - не знаю как подобрать нормальный алгоритм.
К сожалению от алгоритма герцеля пришлось отказаться, так как ооочень много шума, пришлось ставить ПФ порядком выше.
Хотя может после ПФ герцеля поставить?
Да еще чтоб при отсутствии сигнала, не ловить на уровне шума ложные срабатывания.
Мне кажется нужно использовать то, что отличает шум от сигнала: 1) это уровень 2) гармоничность 3) длительность
Сейчас вот есть такой алгоритм:
1) провожу подсчет среднего за N точек (синий на графике) (1/N кратен (частота сэмплов/частота искомого сигнала)) - по-моему это децимация называется? поправьте если ошибаюсь.
2) отрицательные значения умножаем на -1
2) считаем среднее за интервал длительности сигнала
Получаем что-то подобное:
Критерий: сигнал выше среднего 60-80 % времени - но критерий какой-то странный))