ИзмеренияГлава 28 / 51

Частота, фильтр и калибровка

Как убрать шум, не спрятав полезное изменение?

Фильтр подавляет выбранные колебания сигнала и одновременно добавляет задержку. Его параметры определяют по времени физического процесса и по тому, для какого решения используются данные.

Фильтр делает линию спокойнее, но одновременно меняет задержку. Если слишком сильно усреднить свет, система поздно заметит затемнение. Если слишком часто измерять медленный процесс, поток данных вырастет без сопоставимой пользы.

Выбираем частоту и фильтр по изменению, которое хотим обнаружить. Сохраняем различие между сырым отсчётом и обработанным значением. Исправление калибровки также имеет версию: иначе через месяц будет невозможно понять, почему одна и та же история выглядит иначе.

Частоты измерения, передачи и решения#

Частота преобразования сенсора, чтения драйвера, отправки пакетов и записи истории может различаться. Например, узел собирает короткое окно отсчётов, отправляет среднее с минимумом и максимумом, а история позднее хранит минутные агрегаты. Нужно сохранить число исходных отсчётов и длительность окна: одно среднее не сообщает, были ли внутри короткие провалы.

Если интересующий сигнал меняется быстро, редкая выборка может показать ложную медленную картину. Это наложение частот нельзя надёжно убрать цифровым фильтром после того, как информация потеряна. Для собственного аналогового канала фильтр до ADC и частота выборки проектируются вместе. Для цифрового датчика исследуем внутреннее преобразование и интеграцию, а не только частоту вызова функции чтения.

Три фильтра и их цена#

МетодКогда полезенЧто можно потерять
Скользящее среднееСлучайные колебания вокруг медленного сигналаБыстрое изменение растягивается по окну
Медиана окнаОтдельные выбросы при достаточной частотеКороткое настоящее событие может исчезнуть
Экспоненциальное сглаживаниеМалое состояние и регулируемая инерцияВозникает запаздывание; коэффициент зависит от шага времени

Для последнего варианта удобно задавать постоянную времени τ\tau, а не произвольную долю предыдущего значения:

y^k=αkyk+(1−αk)y^k−1,αk=1−e−Δtk/τ. \hat y_k=\alpha_k y_k+(1-\alpha_k)\hat y_{k-1},\qquad \alpha_k=1-e^{-\Delta t_k/\tau}.

Здесь yky_k — новое измерение, Δtk\Delta t_k — прошедшее время. При нерегулярных пакетах такой коэффициент лучше выражает физический смысл фильтра. Однако большой пробел не превращает новое измерение в знание всей пропущенной траектории.

Расчётный пример: сглаживание света. При τ=2\tau=2 с и шаге Δt=0,2\Delta t=0{,}2 с получаем α≈0,095\alpha\approx0{,}095. После ступенчатого изменения идеальная модель фильтра достигает примерно 63% нового уровня за 2 с. Это может быть приемлемо для графика, но слишком медленно для подтверждения включения лампы. Поэтому график и проверка действия используют разные представления одного исходного сигнала.

I04Три представления одного потока: исходные наблюдения, сглаженное значение для интерфейса и отдельный детектор физического изменения. Сглаженная линия не подменяет первичные данные.

Признаки для моделей#

Для присутствия полезны длительность отсутствия движения, число событий в окне, качество связи, согласованность источников и признак ручного взаимодействия. Необходимо знать, какие из признаков наблюдаемы в момент решения. «Через минуту человек нажал кнопку» нельзя использовать при обучении модели, которая должна решить сейчас.

Нормализация, единицы, маски пропусков и границы окон — часть версии модели. Если тренировочный конвейер использовал секунды, а устройство передало миллисекунды, корректная нейросеть получит физически другой вход. Проверяем преобразования на постоянных тестовых примерах до сравнения качества AI.

Калибровка и дрейф#

Калибровка связывает показания с опорой в заданных условиях; подгонка под соседний непроверенный датчик даёт согласованность, но не независимое доказательство точности. Практически начинаем с сравнения повторяемости, затем изучаем влияние корпуса и размещения. Для световой модели отдельно измеряем вклад лампы в нескольких режимах фона.

Храним исходное значение, применённую поправку и идентификатор калибровки. Исправление коэффициента не должно незаметно переписывать историю, на основании которой вчера приняли решение. Новая интерпретация старых данных оформляется новой производной записью.

Инициализация фильтра — тоже часть алгоритма#

EMA начинается с первого допустимого значения либо с явно заданной начальной оценки. При большом пропуске применяется политика reset или расчёт коэффициента по реальному Δt; нельзя молча выполнить один обычный шаг как после регулярной выборки. После смены калибровки, gain или размещения фильтр не смешивает несовместимые шкалы.

Перед уменьшением частоты нужен фильтр против наложения частот, согласованный с наблюдаемым процессом. Но программная фильтрация не восстанавливает уже потерянные сенсором быстрые колебания. Для расчёта светового эффекта учитывается групповая задержка фильтра и интервал физического измерения; красивый сглаженный график не обязательно лучший вход быстрого решения. [106]

Найти в книге

Поиск по всем главам, схемам и техническим разделам.