Как исправить дрейф датчика от внешней среды?
У меня есть электромагнитный датчик, который сообщает, сколько напряженности электромагнитного поля он считывает в космосе. И у меня также есть устройство, которое излучает электромагнитное поле. Он охватывает 1 метр площади.
Поэтому я хочу отчасти предсказать положение датчика, используя его показания. Но на датчик воздействует металл, поэтому он делает смещение прогнозирования положения.
Это как если чтение равно 1, и вы кладете его рядом с металлом, вы получаете 2. Что-то в этом роде. Это не просто шум, это постоянный дрейф. Если вы не удалите металл, он всегда будет показывать 2.
Какие методы или темы мне нужно изучить в целом, чтобы восстановить чтение 1 из 2? Предположим, что металл зафиксирован где-то в пространстве, и я могу откалибровать датчик, поместив его сначала рядом с металлом.
Вы можете предложить что-нибудь об устранении заноса в целом. Также, пожалуйста, учтите, что у меня может быть другой источник излучений, чтобы я мог легче восстановить истинное значение.
1 ответ
Позвольте мне предложить вам рассматривать выходной сигнал вашего датчика как комбинацию двух факторов:
sensor_output = emitter_effect + environment_effect
И вы хотите получить emitter_effect
без добавления environment_effect
, Итак, конечно же нужно вычесть:
emitter_effect = sensor_output - environment_effect
Вычитание влияния окружающей среды на ваш датчик обычно называется компенсацией. Чтобы компенсировать это, вы должны быть в состоянии смоделировать или предсказать эффект, который ваша среда (лишний металл плавает вокруг) оказывает на датчик. Форма модели для вашей среды может быть очень простой или очень сложной.
Простые методы обычно используют отдельный датчик для оценки environment_effect
, Я не уверен точно, каков ваш сценарий, но вы можете выбрать датчик, который будет независимо измерять количество помех (металл) в вашей настройке.
Более сложные методы могут выполнять компенсацию без обращения к независимому датчику для измерения помех. Например, если вы ожидаете, что расстояние будет в среднем на уровне 10.0 с небольшими отклонениями, вы можете использовать этот факт для оценки количества помех. По моему опыту, этот тип метода менее надежен; Системы с независимыми датчиками для измерения помех более предсказуемы и надежны.
Вы можете начать читать о фильтрации Калмана, если вас интересует оценка на основе моделей:
https://en.wikipedia.org/wiki/Kalman_filter
Это сложная тема, поэтому вы должны ожидать крутой кривой обучения. Фильтрация Калмана (и связанные с ней байесовские методы оценки) - это формальный способ перехода от "плохого показания датчика" к "скорректированному показанию датчика".