1386 подписчиков
Создаем модель алгоритма для надежных измерений
В жизни мы постоянно сталкиваемся с измерениями — например, надо измерять температуру помещения для управления отоплением. Но правильно ли мы это делаем? Если мы ошибемся с измерением температуры в комнате, то ничего страшного не произойдет. А если мы измеряем угол тангажа самолета? Тут ошибки должны быть минимизированы! Поэтому во многих системах датчики дублируются или тренируются, и применяются специальные алгоритмы обработки их показаний.
➡ Как это работает?
Смоделировали алгоритм объединения показаний нескольких датчиков с проверками исправности и отбрасыванием выбросов. Алгоритм назначает каждому датчику вес, который характеризует степень доверия к датчику — чем ниже вес, тем меньше мы доверяем датчику. Эти веса учитываются при объединении показаний, и если вес какого-то датчика меньше порогового значения, мы просто не работаем с его показаниями. А еще не забыли сначала применить фильтр на входе алгоритма для сглаживания сигнала.
➡ Как это смоделировать?
Обработка показаний датчиков начинается с фильтрации. Изучили спектр измеряемого сигнала и синтезировали БИХ-фильтр нижних частот с помощью приложения Редактор Цифровых Фильтров. Для алгоритмов контроля исправности датчиков и исключения выбросов будем применять блоки из библиотеки Обработка сигналов. Сам наш алгоритм реализован в коде и работает внутри Engee Function. Мы не делаем ветки модели для каждого датчика, так как все блоки Engee умеют работать с векторными сигналами, и достаточно мультиплексировать показания датчиков перед работой алгоритма.
➡ Проверяем работу
Мы смоделировали реальные показания датчиков, зашумив их значения, и добавили имитацию отказа датчика. В результате тестов получили стабильные измерения, которые работают даже во время отказа одного из датчиков.
🔥 Польза
Получили алгоритм согласования показаний датчиков, который будет применяться в наших последующих проектах. Алгоритм работает с произвольным количеством датчиков.
1 минута
17 апреля