Объяснить терминологию технологического шума в Kalman Filter
Я просто изучаю фильтр Калмана. В терминологии Kalman Filter у меня возникают трудности с шумом процесса. По-видимому, шум процесса игнорируется во многих конкретных примерах (большинство из них сосредоточено на измерении шума). Если кто-то может указать мне на какую-то вводную ссылку уровня, которая хорошо описывает процессы шума с примерами, это будет здорово.
Позволяет использовать конкретный скалярный пример для моего вопроса, учитывая:
x_j = a x_j-1 + b u_j + w_j
Допустим, что x_j
моделирует температуру в холодильнике со временем. Он равен 5 градусам и должен оставаться таким, поэтому мы моделируем a = 1
. Если в какой-то момент t = 100
температура холодильника становится 7 градусов (т.е. Жаркий день, плохая изоляция), то я считаю, что шум процесса в этот момент составляет 2 градуса. Итак, наша переменная состояния x_100 = 7
градусов, и это истинное значение системы.
Вопрос 1:
Если я тогда перефразирую фразу, которую я часто вижу для описания фильтра Калмана, "мы фильтруем сигнал х, чтобы эффекты шума w были сведены к минимуму", http://www.swarthmore.edu/NatSci/echeeve1/Ref/Kalman/ScalarKalman.html, если мы минимизируем влияние двух степеней, пытаемся ли мы избавиться от разницы в 2 степени? Но истинное состояние at x_100 == 7
градусов. Что мы делаем с шумом процесса w точно, когда мы фильтруем Kalmen?
Вопрос 2:
Шум процесса имеет дисперсию Q
. В простом примере холодильника кажется простой моделью, потому что вы знаете, что истинное состояние составляет 5 градусов, и вы можете принять Q
как отклонение от этого состояния. Но если истинное основное состояние колеблется со временем, когда вы моделируете, какая часть этого будет считаться флуктуацией состояния или "шумом процесса". И как мы будем определять хороший Q
(опять-таки пример будет приятным)?
Я обнаружил, что, поскольку Q
всегда добавляется к предсказанию ковариации независимо от того, на каком временном шаге вы находитесь, (см. формулу предсказания ковариации от http://greg.czerniak.info/guides/kalman1/), если вы выберете слишком большой Q
, тогда это не похоже, что фильтр Калмана будет хорошо себя вести.
Спасибо.
EDIT1 Моя интерпретация
Моя интерпретация термина process noise - это разница между фактическим состоянием системы и состоянием, смоделированным из матрицы перехода состояния (т.е. a * x_j-1
). И то, что пытается сделать фильтр Калмана, заключается в приближении прогноза к фактическому состоянию. В этом смысле он фактически частично "включает" шум процесса в предсказание через механизм остаточной обратной связи, а не "устраняет" его, чтобы он мог лучше предсказать фактическое состояние. Я не читал такого объяснения нигде в моем поиске, и я был бы признателен, если бы кто-нибудь прокомментировал эту точку зрения.
Ответы
Ответ 1
В фильтрации Калмана "технологический шум" представляет собой идею/функцию, из-за которой состояние системы изменяется с течением времени, но мы не знаем точных данных о том, когда/как происходят эти изменения, и, следовательно, нам нужно моделировать их как случайный процесс.
В вашем примере холодильника:
- Состояние системы - это температура,
- мы получаем измерения температуры на некотором временном интервале, например ежечасно,
глядя на шкалу термометра. Обратите внимание, что вам обычно необходимо
представляют неопределенности, связанные с процессом измерения
в фильтрации Калмана, но вы не сосредоточились на этом в своем вопросе.
Предположим, что эти ошибки малы.
- В момент
t
вы смотрите на термометр, видите, что он говорит 7 градусов;
поскольку мы предположили, что ошибки измерения очень малы, это означает
что истинная температура (очень близко) составляет 7 градусов.
- Теперь возникает вопрос: какова температура в какое-то позднее время, скажем, 15 минут
после того, как вы посмотрели?
Если мы не знаем, если /, когда включается конденсатор в холодильнике, мы могли бы:
1. температура в более позднее время еще выше 7 градусов (15 минут управляет чтобы приблизиться к максимальной температуре в цикле),
2. Опустите, если конденсатор запущен или даже работает,
3. примерно то же самое.
Эта идея о том, что существует распределение возможных исходов для реального состояния
система в какой-то более поздний момент представляет собой "технологический шум"
Примечание: моя качественная модель для холодильника: конденсатор не работает, температура поднимается до тех пор, пока она не достигнет пороговой температуры на несколько градусов выше номинальной заданной температуры (обратите внимание - это датчик, поэтому в нем может быть шум условия температуры, при которой включается конденсатор), конденсатор остается включенным до тех пор, пока температура
получает несколько градусов ниже установленной температуры. Также обратите внимание, что если кто-то откроет дверь, то произойдет скачок температуры; поскольку мы не знаем, когда кто-то может это сделать, мы моделируем его как случайный процесс.
Ответ 2
- Да, я не думаю, что это предложение хорошее. Основной целью фильтра Калмана является минимизация эффектов шума наблюдения, а не шума процесса. Я думаю, что автор может объединить фильтрацию Калмана с контролем Калмана (где вы пытаетесь минимизировать влияние шума процесса).
- Состояние не "колеблется" со временем, за исключением влияния шума процесса.
Помните, что система обычно не имеет собственного "истинного" состояния. Холодильник - плохой пример, потому что это уже система управления с нелинейными свойствами. Лучшим примером может служить летающий пушечный ящик. Существует какое-то место, где оно "действительно есть", но это не является неотъемлемой частью А. В этом примере вы можете думать о ветре как о "шуме процесса". (Не отличный пример, так как это не белый шум, а работа со мной здесь.) Ветер - это трехмерный шум процесса, влияющий на скорость пушечного ядра; это не влияет непосредственно на позицию пушечного ядра.
Теперь предположим, что ветер в этой области всегда дует на северо-запад. Мы должны видеть положительную ковариацию между северным и западным компонентами ветра. Отклонение скорости пушечного ядра на север должно заставить нас ожидать подобного отклонения на запад и наоборот.
Подумайте о Q скорее как ковариацию, чем как дисперсию; автокорреляционный аспект этого почти случайный.
Ответ 3
Это хорошая дискуссия, проходящая здесь. Я хотел бы добавить, что концепция шума процесса заключается в том, что когда-либо предсказание, созданное на основе модели, имеет некоторые ошибки и представляется с использованием Q-матрицы. Если вы заметили уравнения в KF для предсказания матрицы ковариации (P_prediction), которая на самом деле является средней квадратичной ошибкой предсказанного состояния, Q просто добавляется к ней. PPredict = APA '+ Q. Я предлагаю, это даст хорошее представление, если бы вы могли найти вывод уравнений KF.