|
Фильтрация сигналов с датчиков, Требуется фильтровать сигнал с 4 датчиков скоррелированно |
|
|
|
Oct 9 2012, 14:52
|
Группа: Новичок
Сообщений: 5
Регистрация: 20-04-11
Пользователь №: 64 494

|
Добрый день, имеется 4 одинаковых датчика, которые меряют одну и ту же величину в разных точках системы. Они работают не очень стабильно, часто на одном из них встречаются выбросы, в то время как основная задача их работы - определение отклонения системы от стабильного состояния. Гарантируется, что при отклонении сигналы со всех 4 датчиков должны изменяться. Если фильтровать данные с каждого датчика отдельно, например, фильтром Баттерворта , то фильтруются хорошо только большие по амплитуде и короткие по времени броски, а иногда нужна большая точность и устойчивость фильтра. В связи с этим хотелось бы использовать корреляцию между сигналами датчиков, пожалуйста подскажите возможный вариант организации такой фильтрации. Пример данных с датчиков приведен на вложенном рисунке, на нем хорошо видны как интервалы, где есть значимый сигнал (небольшие скореллированные отклонения), так и многочисленные высокоамплитудные выбросы.
Эскизы прикрепленных изображений
|
|
|
|
|
 |
Ответов
(1 - 9)
|
Oct 10 2012, 19:39
|
Местный
  
Группа: Участник
Сообщений: 421
Регистрация: 2-01-08
Пользователь №: 33 778

|
Цитата(KalashKS @ Oct 10 2012, 19:41)  Как вариант: оценить корреляцию сигналов с датчиков, задаться некоторой моделью их изменения во времени и сделать фильтр Калмана. Возникают вопросы как быть с моделью шума, на графиках явно не белый нормально распределенный шум. Где-то будет нелинейность, имхо. Можно взвешивать данные с датчиков с переменныим весами, зависящими от разности выхода фильтра и значения с датчика, большое отклонение будет срезаться если оно зафиксировано на небольшом количестве датчиков. Но это безосновательная интуитивная идея. Да и важное условие, сумма весов равна единице. Так, что если все датчики дают отклонение, все веса уменьшаются, но далее нормируются и далеко не расходятся. Модель есть? во время выбросов остается только заменить показания датчика на априорную информацию скорректированную по оставшимся датчикам. Или такая динамика не требуется?
Сообщение отредактировал amaora - Oct 10 2012, 20:35
|
|
|
|
|
Oct 11 2012, 06:17
|
Местный
  
Группа: Участник
Сообщений: 236
Регистрация: 7-02-11
Пользователь №: 62 755

|
Цитата(amaora @ Oct 10 2012, 23:39)  Возникают вопросы как быть с моделью шума, на графиках явно не белый нормально распределенный шум. Где-то будет нелинейность, имхо. Согласен. В целом еще стоит понять, так ли нужны сами значения сигналов с датчиков. Возможно следует определить, сколько там независимых сигналов и оценивать их по незабракованным данным.
|
|
|
|
|
Oct 12 2012, 15:09
|
Группа: Новичок
Сообщений: 5
Регистрация: 20-04-11
Пользователь №: 64 494

|
Спасибо за ответы! Извиняюсь, что ввел в заблуждение: оказалось, на картинке приведены данные после ФНЧ, на самом деле дребезг с большой амплитудой - это единичные точки-выбросы, их можно просто отбрасывать. Используются дешевые датчики в не совсем пригодных для их функционирования условиях, поэтому периодически некоторые начинают дребезжать. Интересует в основном возможность фильтрации небольших локальных отклонений, их можно увидеть на картинке, но они не так бросаются в глаза  Значения с датчиков имеют ценность, по 4м значениям рассчитывается состояние системы, поэтому небольшое, но правдоподобное отклонение одного датчика даст погрешность в его текущей оценке. По-видимому, нужно что-то похожее на предложение amaora, но не с переменными весами (на выходе фильтра не один сигнал, а все 4), а с какой-то дифференциальной поправкой к частоте среза. Если все сигналы меняются, то и этому нужно разрешить изменяться, а иначе нужно резать частоту глубже, чтобы держал предыдущий тренд до окончания выброса.
|
|
|
|
Guest_TSerg_*
|
Oct 15 2012, 06:43
|
Guests

|
Напрашивается мажоритарная логика.
|
|
|
|
Guest_TSerg_*
|
Oct 15 2012, 13:36
|
Guests

|
Цитата(dac @ Oct 15 2012, 11:56)  медианный фильтр - прямо предназначен для фильтрации выбросов С выбросами он разобрался уже
|
|
|
|
|
Oct 15 2012, 19:23
|
Местный
  
Группа: Участник
Сообщений: 421
Регистрация: 2-01-08
Пользователь №: 33 778

|
Посмотрел на гарфики ещё раз. Может ошибаюсь, ТС должен знать лучше что там происходит, возможно достаточно будет посчитать матрицу ковариации, взять за состояние вектор из четырех показаний датчиков и сделать уже упомянутый ФК. Детерминированная часть системы в самом простом случае описывается единичной матрицей. Если шум низкочастотный, можно добавить ещё четыре элемента в вектор состония для его оценки. Фильтр будет линейный, и если бы не единичные выбросы наверно можно было бы даже расчитать K заранее. А так имеем переменное количество выходов, то есть разную C на каждом такте. Хотя наверно можно считать ошибку по дребезжащему выходу нулевой, будет ли тот же эффект, что и с переменной C? я не проверял.
Другими словами, предполагаю, что все сводится к взвешиванию со статическими весами в рекурсивном фильтре. В самом простом случае, не считая отбрасывания дребезжащих показаний.
|
|
|
|
Guest_TSerg_*
|
Oct 15 2012, 19:47
|
Guests

|
Предлагаю ТС разместить для скачивания длинный ( >10к )тренд исходных сигналов с пояснениями. Желающие поразмышлять найдутся. Очень желателен предполагаемый спектр сигнала и отличие в точках размещения датчиков.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|