Сравнение дискретных сигналов

Все что касается фильтрации
Ответить
Gosha
Сообщения: 2
Зарегистрирован: 02 фев 2019, 11:59

Сравнение дискретных сигналов

Сообщение Gosha » 02 фев 2019, 12:04

Коллеги, здравствуйте!

Мне нужно решить задачу кворумирования, то есть сравнения значений трёх сигналов чтобы "браковать" один из них.
Как это лучше сделать с помощью библиотеки?

Аватара пользователя
Бахурин Сергей
Администратор
Сообщения: 862
Зарегистрирован: 05 окт 2010, 19:55
Контактная информация:

Re: Сравнение дискретных сигналов

Сообщение Бахурин Сергей » 02 фев 2019, 17:07

подробнее плиз

Gosha
Сообщения: 2
Зарегистрирован: 02 фев 2019, 11:59

Re: Сравнение дискретных сигналов

Сообщение Gosha » 02 фев 2019, 23:28

Постановка задачи примерно следующая: имеются три датчика, измеряющих одну и ту же физическую величину (например, температуру).
Есть программа, которая с определённой частотой считывает данные со всех 3 датчиков.
Нужно написать алгоритм, который сможет браковать данные одного из датчиков по результатам сравнения с двумя другими в случае, если датчик "подвис" (его значения стали сильно расходиться с другими).

Пока из идей только реализовать расчёт критерия Стьюдента попарно для определённого числа замеров (выборок) для 3 датчиков и на основе этого выбирать отказавший.
Очень сомневаюсь, что это поможет.

Алексей Климов
Сообщения: 12
Зарегистрирован: 11 дек 2018, 09:09

Re: Сравнение дискретных сигналов

Сообщение Алексей Климов » 04 фев 2019, 11:47

Это точно что-то из проверки статистических гипотез)
Можно, посчитать попарно корреляцию и потом ее уровень значимости. После провести моделирование для определения порога уровня, меняя порог и смотря на результат (угодно вам больше ложных тревог или пропуска цели).

ivan219
Сообщения: 61
Зарегистрирован: 09 май 2011, 16:39

Re: Сравнение дискретных сигналов

Сообщение ivan219 » 04 фев 2019, 23:03

За основу порога можно взять класс точности термадатчика (относительная погрешность) +-dT. (1%, 0.5%, 0.25% и.т.д. % допустимого метрологического отклонения от всего диапазона измерения)
Если значение одного датчика отклонилось больше чем dT, относительно истинного значения, значит датчик вышел за границу допустимой заявленной производителем метрологической погрешности. (После этого данный измерительный прибор не может считаться средством измерения и переходит в класс показометров :) )

Показания датчиков нужно сравнивать по парно, при этом отклонение между двумя датчиками должно быть не более |2 * dt|
Если больше 2dt значит один из двух датчиков точно вышел из метрологических характеристик.

Соответственно сравнивая три датчика будет три значения где при условии неработающего одного датчика будет 1, 2 значения больше выбранного порога. Порог в пределах (0..2dt).
Либо гарантированно выбрать порог > 2 dt ложных срабатываний точно не будет правда при условии точного расположения датчиков в одном месте.

Пример:
dt = 1%
Диапазон датчика по паспорту -40..80 гр. весь диапазон 120 гр.
dt = 1% от 120 = 1.2 гр. 2 dt = |-dt|+|+dt|= 2 * dt = 2.4 гр.
Истинная температура t = 51 гр.
T1 = 50 гр.
T2 = 52 гр.
T3 = 45 гр. (предполагаем показывает ложное значение)

|T1 - T2| = 2 гр. < 2.4 гр. -> True
|T2 - T3| = 7 гр. < 2.4 гр. -> False
|T3 - T1| = 5 гр. < 2.4 гр. -> False

При пороге 2dt значение 2 и 3 дают срабатывание а дальше логика.
Находим общее а общие показания датчика T3.
И как следствие показания между датчиками T1, T2 в пределах допустимой двойной метрологической погрешности.
Итоговую температуру можно взять как (T1 + T2) / 2 = 102/ 2 = 51 гр. тем самым "увеличить точность".
Увеличение точности тут условно в пределах от 0 до dt. И лучше изначально брать = максимальной погрешности самого не точного датчика. В идеале должны быть 3 одинаковых датчика от одного производителя.
В этом случае при любом исходе показания у оператора будут в пределах заявленного допуска от истинного значения температуры.

Правда может возникнуть пограничная ситуация когда сработает только одно условие.
При этом можно выводить предупреждение тем самым дать оператору понять что пока не страшно но обратить внимание стоит.
Предупреждение может помочь выявить проблему заблаговременно чем датчик окончательно накроется. Тут как в поговорке предупрежден значит вооружён.
Если предупреждение возникнет от |T2 - T3| (T3 = 48 гр.) значит доверять показаниям датчиков T2 и T3 не стоит и за истину нужно взять показания датчика T1.
Тут рекомендую проработать все возможные варианты развития событий и все это четко описать в логике.
Иначе вероятность неблагополучного исхода станет вше. И польза от использования трех датчиков одномоментно сведется к нулю.

В идеале при соблюдении производителем все норм и правил dT должно быть не более 0.8 от заявленного.
Поэтому порог может быть меньше или равным 1.6 dt от заявленного производителем.
Но тут нужно уточнить. Для датчиков давления это справедливо. Для датчиков температуры не уверен.

Ответить

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 3 гостя