[an error occurred while processing this directive]
[an error occurred while processing this directive]
|
Хорошо бы измерить спектр сигнала и спектр шумов, взять их отношение и на частоту максимума сляпать не очень узкополосный фильтр. На глаз эта процедура может быть сделана так: ширина импульса по уровню 5...10% = периоду самой "громкой" частоты с спектре. Спектр шумов скорее всего имеет слабый наклон и на него можно наплевать. Итого, если импульс = 100 мс, то частота = 10 Гц.
Мой любимый фильтр для таких случаев: 4 интегрирующих цепочки с RC = 1 / 2*pi*F = 16 мс и две дифференцирующих с тем же RC. Обычно верхние частоты (в ядерной физике) надо давить сильнее, но в вашем случае это может быть и не так.
После такого фильтра импульс становится двухполярным с расстоянием между вершинами около 50 мс.
Дальше можно стяпляпать такое:
Берём два отсчёта с расстоянием 50 мс: А1, А2.
Рисуем умную формулу А = А1 - А2.
Скользим этой "формулой" по ряду отсчётов.
Берём некоторый порог и, если А его превышает, считаем, что импульс есть.
Порог можно брать как, например, 50% от амплитуды предыдущего А.
З.Ы. Никаких доказательств правильности и оптимальности нет. Так что не надо разбивать в пух и прах несуществующую теорию. Хе-хе!
:-)))
E-mail: info@telesys.ru