Оценка состояний дискретно-временной нелинейной системы с помощью расширенного фильтра Калмана
Инструментарий системы управления/оценка состояния
Набор средств идентификации системы/оценщики
Блок расширенного фильтра Калмана оценивает состояния дискретно-временной нелинейной системы, используя алгоритм дискретно-временного расширенного фильтра Калмана первого порядка.
Рассмотрим установку со состояниями x, input u, output y, process noise w и measurement noise v. Предположим, что можно представить установку как нелинейную систему.

Используя функции перехода состояния и измерения системы и расширенный алгоритм фильтра Калмана, блок формирует оценки состояния ^ для текущего временного шага. Сведения об алгоритме см. в разделе Расширенные и незаметные алгоритмы фильтра Калмана для оценки состояния в режиме онлайн.
Создается нелинейная функция перехода состояния и функции измерения для системы, и эти функции задаются в блоке. Блок поддерживает оценку состояния системы с несколькими датчиками, которые работают с различной частотой дискретизации. Можно указать до пяти функций измерения, каждая из которых соответствует датчику в системе. Также можно указать якобинцы функций перехода и измерения состояния. Если они не указаны, программа численно вычисляет якобинцев. Дополнительные сведения см. в разделе Функции перехода и измерения состояния.
y1,y2,y3,y4,y5 - Измеренные выходы системыИзмеряемые выходные данные системы соответствуют каждой функции измерения, указанной в блоке. Количество портов равно количеству измерительных функций в системе. Можно указать до пяти функций измерения. Например, если система имеет два датчика, в блоке задаются две функции измерения. Первый порт y1 доступен по умолчанию. При нажатии кнопки Apply программа генерирует порт y2, соответствующий второй функции измерения.
Укажите порты в виде N-мерных векторов, где N - количество величин, измеренных соответствующим датчиком. Например, если система имеет один датчик, измеряющий положение и скорость объекта, то имеется только один порт y1. Порт задается как двумерный вектор со значениями, соответствующими положению и скорости.
Первый порт y1 доступен по умолчанию. Порты y2-y5 создаются при нажатии кнопки Добавить измерение (Add Measurement) и нажатии кнопки Применить (Apply).
Типы данных: single | double
StateTransitionFcnInputs - Дополнительный необязательный входной аргумент для функции перехода состоянияДополнительный необязательный входной аргумент для функции перехода состояния f кроме штата x и шум технологического процесса w. Для получения информации о функциях перехода состояний см. раздел Функции перехода состояний и измерения.
Предположим, что система имеет неаддитивный шум процесса и функцию перехода состояния f имеет следующую форму:
x(k+1) = f(x(k),w(k),StateTransitionFcnInputs)
Здесь k является временным шагом, и StateTransitionFcnInputs является дополнительным входным аргументом, отличным от x и w.
При создании f с использованием функции MATLAB ® (.m ), программа создает порт StateTransityFcnInputs при нажатии кнопки Применить. Входные данные этого порта можно указать как скаляр, вектор или матрицу.
Если функция перехода состояния имеет несколько дополнительных входных данных, используйте блок Simulink Function (Simulink) для задания функции. При использовании функционального блока Simulink дополнительные входные данные поступают непосредственно в функциональный блок Simulink с помощью блоков Inport (Simulink). Для дополнительных входов в блоке расширенного фильтра Калмана входные порты не создаются.
Этот порт генерируется только в том случае, если выполняются оба следующих условия:
Вы указываете f в функции с использованием функции MATLAB, и f находится на пути MATLAB.
f требует только одного дополнительного входного аргумента, кроме x и w.
Типы данных: single | double
MeasurementFcn1Inputs,MeasurementFcn2Inputs,MeasurementFcn3Inputs,MeasurementFcn4Inputs,MeasurementFcn5Inputs - Дополнительный необязательный входной аргумент для каждой функции измеренияДополнительные дополнительные входы в функции измерения, отличные от состояния x и измерительный шум v. Для получения информации о функциях измерения см. раздел Переходы состояний и Функции измерения.
MeasurementFcn1Inputs соответствует первой указанной функции измерения и т.д. Например, предположим, что система имеет три датчика и неаддитивный шум измерения, а также три функции измерения h1, h2, и h3 имеют следующую форму:
y1[k] = h1(x[k],v1[k],MeasurementFcn1Inputs)
y2[k] = h2(x[k],v2[k],MeasurementFcn2Inputs)
y3[k] = h3(x[k],v3[k])
Здесь k является временным шагом, и MeasurementFcn1Inputs и MeasurementFcn2Inputs являются дополнительными входными аргументами для h1 и h2.
При указании h1, h2, и h3 с использованием функций MATLAB (.m ) в Function программа генерирует порты MeasurementFcn1Inputs и MeasurementFcn2Inputs при нажатии Apply. Входные данные этих портов можно указать как скаляры, векторы или матрицы.
Если функции измерения имеют несколько дополнительных входных данных, используйте блоки Simulink Function (Simulink) для задания функций. При использовании функционального блока Simulink дополнительные входные данные поступают непосредственно в функциональный блок Simulink с помощью блоков Inport (Simulink). Для дополнительных входов в блоке расширенного фильтра Калмана входные порты не создаются.
Порт, соответствующий измерительной функции h генерируется только при выполнении обоих следующих условий:
Вы указываете h в функции с использованием функции MATLAB, и h находится на пути MATLAB.
h требует только одного дополнительного входного аргумента, кроме x и v.
Типы данных: single | double
Q - Ковариация изменяющегося во времени технологического шумаКовариация изменяющегося во времени шума процесса, заданная как скаляр, вектор или матрица в зависимости от значения параметра Шум процесса:
Уровень технологического шума: Additive - укажите ковариацию как скаляр, вектор Ns-элемента или матрицу Ns-by-Ns, где Ns - число состояний системы. Укажите скаляр, если между членами шума процесса нет взаимной корреляции, и все члены имеют одинаковую дисперсию. Укажите вектор длиной Ns, если нет взаимной корреляции между членами шума процесса, но все члены имеют разные дисперсии.
Уровень технологического шума: Nonadditive - задание ковариации в виде матрицы W-by-W, где W - число членов шума процесса в функции перехода состояния.
Этот порт генерируется, если ковариация шума процесса указана как изменяющаяся во времени. Порт появляется при нажатии кнопки Apply.
Типы данных: single | double
R1,R2,R3,R4,R5 - Ковариация изменяющегося во времени шума измеренийКовариации изменяющегося во времени шума измерений для до пяти измерительных функций системы, определяемых как матрицы. Размеры матриц зависят от значения параметра Measurement noise для соответствующей функции измерения:
Шум измерения Additive - укажите ковариацию как матрицу N-на-N, где N - количество измерений системы.
Шум измерения Nonadditive - определение ковариации в виде матрицы V-by-V, где V - количество членов шума измерения в соответствующей функции измерения.
Порт генерируется, если для соответствующей функции измерения для ковариации шума измерения задано значение Time-Variable. Порт появляется при нажатии кнопки Apply.
Типы данных: single | double
Enable1,Enable2,Enable3,Enable4,Enable5 - Включить коррекцию расчетных состояний при наличии измеренных данныхПредположим, что измеренные выходные данные недоступны во всех точках времени на порте y1, который соответствует первой измерительной функции. Использовать значение сигнала, отличное от 0 на Enable1 порте для обеспечения возможности коррекции оценочных состояний при наличии измеренных данных. Укажите значение порта как 0 когда измеренные данные недоступны. Аналогично, если измеренные выходные данные недоступны во всех временных точках порта yi для i-ой функции измерения укажите соответствующий порт Enablei как значение, отличное от 0.
Порт, соответствующий функции измерения, генерируется при выборе опции Add Enable port for this measurement function. Порт появляется при нажатии кнопки Apply.
Типы данных: single | double | Boolean
xhat - Расчетные состоянияОцененные состояния, возвращаемые как вектор размера Ns, где Ns - количество состояний системы. Для доступа к отдельным состояниям используйте блок выбора (Simulink).
Когда выбран параметр Использовать текущие измерения для улучшения оценок состояния, блок выводит скорректированную оценку состояния k 'k] на шаге времени. k, оценено с использованием измеренных выходов до времени k. Если очистить этот параметр, блок возвращает предсказанную оценку состояния − 1] для времениk, оцененный с использованием измеренного выходного сигнала до предыдущего времени k-1. Снимите этот параметр, если фильтр находится в цикле обратной связи и в модели Simulink ® имеется алгебраический цикл.
Типы данных: single | double
P - Ковариация ошибок оценки состоянияКовариация ошибок оценки состояния, возвращаемая в виде матрицы Ns-by-Ns, где Ns - количество состояний системы. Для доступа к отдельным ковариациям используйте блок выбора (Simulink).
Этот порт генерируется при выборе ковариации ошибки оценки состояния вывода на вкладке System Model и нажатии Apply.
Типы данных: single | double
Function - Имя функции перехода состоянияmyStateTransitionFcn (по умолчанию) | имя функцииФункция перехода состояния вычисляет вектор состояния Ns-элемента системы на временном шаге k + 1, учитывая вектор состояния на временном шаге k. Ns - количество состояний нелинейной системы. Вы создаете функцию перехода состояния и указываете имя функции в Function. Например, еслиvdpStateFcn.m - созданная и сохраненная функция перехода состояния, укажите функцию как vdpStateFcn.
Входные данные создаваемой функции зависят от того, указан ли шум процесса как аддитивный или неаддитивный в параметре Шум процесса (Process noise).
Уровень технологического шума: Additive - Функция перехода состояния f определяет, как состояния развиваются как функция значений состояния на предыдущем шаге времени:
x(k+1) = f(x(k),Us1(k),...,Usn(k)),
где x(k) - оценочное состояние в момент времени k, и Us1,...,Usn любые дополнительные входные аргументы, необходимые для функции перехода состояния, такие как системные входные данные или время выборки. Для просмотра примера функции перехода состояния с аддитивным технологическим шумом введите edit vdpStateFcn в командной строке.
Уровень технологического шума: Nonadditive - Функция перехода состояния также определяет, как состояния развиваются как функция шума процесса w:
x(k+1) = f(x(k),w(k),Us1(k),...,Usn(k)).
Дополнительные сведения см. в разделе Функции перехода и измерения состояния.
Можно создать f с помощью блока Simulink Function (Simulink) или в качестве функции MATLAB (.m файл).
Функцию MATLAB можно использовать только в том случае, если параметр f имеет один дополнительный входной аргумент. Us1 кроме x и w.
x(k+1) = f(x(k),w(k),Us1(k))
Программа создает дополнительный входной порт StateTransiveFcnInputs для указания этого аргумента.
Если используется функциональный блок Simulink, укажите x и w использование блоков Argument Inport (Simulink) и дополнительных входных данных Us1,...,Usn использование блоков Inport (Simulink) в блоке Simulink Function. Вы не предоставляете Us1,...,Usn к блоку расширенного фильтра Калмана.
Параметр блока: StateTransitionFcn |
| Тип: символьный вектор, строка |
По умолчанию: 'myStateTransitionFcn' |
Jacobian - Якобян государственной переходной функцииoff (по умолчанию) | onЯкобиан функции перехода состояния f, определяемой как одно из следующих:
off - Программное обеспечение вычисляет якобиан численно. Это вычисление может увеличить время обработки и численную неточность оценки состояния.
on - Создается функция для вычисления якобиана и указывается имя функции в якобиане. Например, если vdpStateJacobianFcn.m - функция Якобиана, укажите Якобиана как vdpStateJacobianFcn. Если функция перехода состояния f создается с помощью блока Simulink Function (Simulink), то якобиан создается с помощью блока Simulink Function. При создании f с помощью функции MATLAB (.m файл), затем создайте Jacobian с помощью функции MATLAB.
Функция вычисляет частные производные функции перехода состояния относительно состояний и шума процесса. Количество входов функции Якобиана должно быть равно количеству входов функции перехода состояния и должно быть указано в одном порядке в обеих функциях. Количество выходов функции Якобиана зависит от параметра Шум процесса:
Уровень технологического шума: Additive - функция вычисляет частную производную функции перехода состояния f относительно состояний (). Выходной сигнал представляет собой матрицу якобиана Ns-by-Ns, где Ns - число состояний.
Для просмотра примера функции якобиана для аддитивного технологического шума введите edit vdpStateJacobianFcn в командной строке.
Уровень технологического шума: Nonadditive - Функция также должна возвращать второй выход, который является частной производной функции перехода состояния f относительно членов шума процесса (). Второй выходной сигнал возвращается в виде матрицы Ns-by-W, где W - число членов шума процесса в функции перехода состояния.
Параметр блока: HasStateTransitionJacobianFcn |
| Текст: символьный вектор |
Значения: 'off','on' |
По умолчанию: 'off' |
Параметр блока: StateTransitionJacobianFcn |
| Тип: символьный вектор, строка |
По умолчанию: '' |
Process noise - Характеристики технологического шумаAdditive (по умолчанию) | NonadditiveХарактеристики технологического шума, указанные как одно из следующих значений:
Additive - Технологический шум w является аддитивной, а функция перехода состояния f, указанная в Function, имеет следующий вид:
x(k+1) = f(x(k),Us1(k),...,Usn(k)),
где x(k) - оценочное состояние в момент времени k, и Us1,...,Usn любые дополнительные входные аргументы, необходимые для функции перехода состояния.
Nonadditive - Шум процесса является неаддитивным, и функция перехода состояния определяет, как состояния развиваются как функция состояния и шума процесса на предыдущем шаге времени:
x(k+1) = f(x(k),w(k),Us1(k),...,Usn(k)).
Параметр блока: HasAdditiveProcessNoise |
| Текст: символьный вектор |
Значения: 'Additive', 'Nonadditive' |
По умолчанию: 'Additive' |
Covariance - Ковариация инвариантного по времени технологического шума1 (по умолчанию) | скаляр | вектор | матрицаКовариация инвариантного по времени шума процесса, заданная как скаляр, вектор или матрица в зависимости от значения параметра Шум процесса:
Уровень технологического шума: Additive - укажите ковариацию как скаляр, вектор Ns-элемента или матрицу Ns-by-Ns, где Ns - число состояний системы. Укажите скаляр, если отсутствует взаимная корреляция между членами шума процесса, и все члены имеют одинаковую дисперсию. Укажите вектор длиной Ns, если нет взаимной корреляции между членами шума процесса, но все члены имеют разные дисперсии.
Уровень технологического шума: Nonadditive - определение ковариации в виде матрицы W-by-W, где W - число членов шума процесса.
Если ковариация шума процесса является изменяющейся во времени, выберите Изменяющаяся во времени. Блок генерирует входной порт Q для задания изменяющейся во времени ковариации.
Этот параметр включен, если не указан шум процесса как изменяющийся во времени.
Параметр блока: ProcessNoise |
| Тип: символьный вектор, строка |
По умолчанию: '1' |
Time-varying - Ковариация изменяющегося во времени технологического шума'off' (по умолчанию) | 'on'При выборе этого параметра блок включает дополнительный входной порт Q для задания ковариации изменяющегося во времени шума процесса.
Параметр блока: HasTimeVaryingProcessNoise |
| Текст: символьный вектор |
Значения: 'off', 'on' |
По умолчанию: 'off' |
Initial state - Оценка начального состояния0 (по умолчанию) | векторНачальное значение оценки состояния, указанное как вектор Ns-элемента, где Ns - количество состояний в системе. Укажите начальные значения состояния на основе знаний о системе.
Параметр блока: InitialState |
| Тип: символьный вектор, строка |
По умолчанию: '0' |
Initial covariance - Ковариация ошибок оценки состояния1 (по умолчанию) | скаляр | вектор | матрицаКовариация ошибок оценки состояния, заданная как скаляр, вектор Ns-элемента или матрица Ns-by-Ns, где Ns - количество состояний системы. Если указать скаляр или вектор, программа создаст диагональную матрицу Ns-by-Ns со скалярными или векторными элементами на диагонали.
Укажите высокое значение ковариации, если нет уверенности в значениях начального состояния, указанных в поле Начальное состояние.
Параметр блока: InitialStateCovariance |
| Тип: символьный вектор, строка |
По умолчанию: '1' |
Function - Наименование измерительной функцииmyMeasurementFcn (по умолчанию) | имя функцииФункция измерения вычисляет выходной вектор измерения N-элемента нелинейной системы на временном шаге k, учитывая вектор состояния на временном шаге k. Необходимо создать функцию измерения и указать имя функции в поле Функция (Function). Например, если vdpMeasurementFcn.m функция измерения, которая была создана и сохранена, укажите функцию как vdpMeasurementFcn.
Входные данные создаваемой функции зависят от того, указан ли шум измерения в поле Шум измерения (Measurement noise) в качестве аддитивного или неаддитивного.
Шум измерения Additive - Функция измерения h определяет, как измерения развиваются в зависимости от состояния Значения:
y(k) = h(x(k),Um1(k),...,Umn(k)),
где y(k) и x(k) являются оценочным выходом и оценочным состоянием во время k, и Um1,...,Umn любые необязательные входные аргументы, необходимые для функции измерения. Например, если для отслеживания объекта используется датчик, дополнительным вводом может быть положение датчика.
Для просмотра примера функции измерения с аддитивным технологическим шумом введите edit vdpMeasurementFcn в командной строке.
Шум измерения Nonadditive- Функция измерения также определяет, как развивается выходное измерение в зависимости от шума измерения. v:
y(k) = h(x(k),v(k),Um1(k),...,Umn(k)).
Для просмотра примера функции измерения с неаддитивным технологическим шумом введите edit vdpMeasurementNonAdditiveNoiseFcn.
Дополнительные сведения см. в разделе Функции перехода и измерения состояния.
Можно создать h с помощью блока Simulink Function (Simulink) или в качестве функции MATLAB (.m файл).
Функцию MATLAB можно использовать только в том случае, если h имеет один дополнительный входной аргумент. Um1 кроме x и v.
y[k] = h(x[k],v[k],Um1(k))
Программное обеспечение генерирует дополнительный входной порт MeasureFcniВходные данные для задания этого аргумента для i-ой функции измерения.
Если используется функциональный блок Simulink, укажите x и v использование блоков Argument Inport (Simulink) и дополнительных входных данных Um1,...,Umn использование блоков Inport (Simulink) в блоке Simulink Function. Вы не предоставляете Um1,...,Umn к блоку расширенного фильтра Калмана.
При наличии в системе нескольких датчиков можно указать несколько функций измерения. С помощью кнопки «Добавить измерение» можно указать до пяти функций измерения. Чтобы удалить функции измерения, используйте команду Удалить измерение (Remove Measurement).
Параметр блока: MeasurementFcn1, MeasurementFcn2, MeasurementFcn3, MeasurementFcn4, MeasurementFcn5 |
| Тип: символьный вектор, строка |
По умолчанию: 'myMeasurementFcn' |
Jacobian - Якобиан функции измеренияoff (по умолчанию) | onЯкобиан функции измерения h, указанный как один из следующих:
off - Программное обеспечение вычисляет якобиан численно. Это вычисление может увеличить время обработки и численную неточность оценки состояния.
on - Создается функция для вычисления якобиана функции измерения h и указывается имя функции в якобиане. Например, если vdpMeasurementJacobianFcn.m - функция Якобиана, указать MeasurementJacobianFcn как vdpMeasurementJacobianFcn. Если вы создаете h с помощью блока Simulink Function (Simulink), то создайте Jacobian с помощью блока Simulink Function. При создании h с помощью функции MATLAB (.m файл), затем создайте Jacobian с помощью функции MATLAB.
Функция вычисляет частные производные функции h измерения относительно состояний и шума измерения. Количество входов функции Якобиана должно быть равно количеству входов функции измерения и должно быть указано в одном порядке в обеих функциях. Количество выходов функции Якобиана зависит от параметра Measurement noise:
Шум измерения Additive - функция вычисляет частные производные функции измерения относительно состояний (). Выходной сигнал представляет собой матрицу якобиана N-by-Ns, где N - число измерений системы, а Ns - число состояний.
Чтобы увидеть пример функции якобиана для шума аддитивных измерений, введите edit vdpMeasurementJacobianFcn в командной строке.
Шум измерения Nonadditive - Функция также возвращает второй выходной сигнал, который представляет собой частную производную функции измерения относительно членов шума измерения (). Второй выходной сигнал возвращается в виде матрицы якобиана N-на-V, где V - число членов шума измерения.
Параметр блока: HasMeasurementJacobianFcn1, HasMeasurementJacobianFcn2, HasMeasurementJacobianFcn3, HasMeasurementJacobianFcn4,HasMeasurementJacobianFcn5 |
| Текст: символьный вектор |
Значения: 'off','on' |
По умолчанию: 'off' |
Параметр блока: MeasurementJacobianFcn1, MeasurementJacobianFcn2, MeasurementJacobianFcn3, MeasurementJacobianFcn4, MeasurementJacobianFcn5 |
| Текст: символьный вектор |
По умолчанию: '' |
Measurement noise - Измерительные шумовые характеристикиAdditive (по умолчанию) | NonadditiveХарактеристики шума измерений, указанные как одно из следующих значений:
Additive - Измерительный шум v является аддитивной, и функция измерения h, указанная в Function, имеет следующий вид:
y(k) = h(x(k),Um1(k),...,Umn(k)),
где y(k) и x(k) являются оценочным выходом и оценочным состоянием во время k, и Um1,...,Umn любые необязательные входные аргументы, необходимые для функции измерения.
Nonadditive - Измерительный шум является неаддитивным, и измерительная функция определяет, как развивается выходное измерение как функция состояния и измерительного шума:
y(k) = h(x(k),v(k),Um1(k),...,Umn(k)).
Параметр блока: HasAdditiveMeasurementNoise1, HasAdditiveMeasurementNoise2, HasAdditiveMeasurementNoise3, HasAdditiveMeasurementNoise4, HasAdditiveMeasurementNoise5 |
| Текст: символьный вектор |
Значения: 'Additive', 'Nonadditive' |
По умолчанию: 'Additive' |
Covariance - Ковариация инвариантного по времени технологического шума1 (по умолчанию) | скаляр | вектор | матрицаКовариация инвариантного по времени шума процесса, заданная как скаляр, вектор или матрица в зависимости от значения параметра Шум процесса:
Уровень технологического шума: Additive - укажите ковариацию как скаляр, вектор Ns-элемента или матрицу Ns-by-Ns, где Ns - число состояний системы. Укажите скаляр, если отсутствует взаимная корреляция между членами шума процесса, и все члены имеют одинаковую дисперсию. Укажите вектор длиной Ns, если нет взаимной корреляции между членами шума процесса, но все члены имеют разные дисперсии.
Уровень технологического шума: Nonadditive - определение ковариации в виде матрицы W-by-W, где W - число членов шума процесса.
Если ковариация шума процесса является изменяющейся во времени, выберите Изменяющаяся во времени. Блок генерирует входной порт Q для задания изменяющейся во времени ковариации.
Этот параметр включен, если не указан шум процесса как изменяющийся во времени.
Параметр блока: ProcessNoise |
| Тип: символьный вектор, строка |
По умолчанию: '1' |
Time-varying - Ковариация изменяющегося во времени шума измеренийoff (по умолчанию) | onПри выборе этого параметра для ковариации шума измерения первой функции измерения блок включает дополнительный входной порт R1. Ковариация изменяющегося во времени шума измерения задается в R1. Аналогично, если для i-ой функции измерения выбрано значение Time-variable, блок включает дополнительный входной порт Ri задание изменяющейся во времени ковариации шума измерения для этой функции.
Параметр блока: HasTimeVaryingMeasurementNoise1, HasTimeVaryingMeasurementNoise2, HasTimeVaryingMeasurementNoise3, HasTimeVaryingMeasurementNoise4, HasTimeVaryingMeasurementNoise5 |
| Текст: символьный вектор |
Значения: 'off', 'on' |
По умолчанию: 'off' |
Add Enable Port - Разрешить коррекцию расчетных состояний только при наличии измеренных данныхoff (по умолчанию) | onПредположим, что измеренные выходные данные недоступны во всех точках времени на порте y1, который соответствует первой измерительной функции. Выберите Add Enable port для создания Enable1 входного порта. Используйте сигнал на этом порте, чтобы разрешить коррекцию оценочных состояний только при наличии измеренных данных. Аналогично, если измеренные выходные данные недоступны во всех временных точках порта yi для i-ой функции измерения выберите соответствующий порт Add Enable.
Параметр блока: HasMeasurementEnablePort1, HasMeasurementEnablePort2, HasMeasurementEnablePort3, HasMeasurementEnablePort4, HasMeasurementEnablePort5 |
| Текст: символьный вектор |
Значения: 'off', 'on' |
По умолчанию: 'off' |
Use the current measurements to improve state estimates - Выбор между скорректированной или прогнозируемой оценкой состоянияon (по умолчанию) | offКогда этот параметр выбран, блок выводит скорректированную оценку состояния k 'k] на временном шаге.k, оценено с использованием измеренных выходов до времени k. Если очистить этот параметр, блок возвращает предсказанную оценку состояния − 1] для времениk, оцененный с использованием измеренного выходного сигнала до предыдущего времени k-1. Снимите флажок, если фильтр находится в цикле обратной связи и в модели Simulink имеется алгебраический цикл.
Параметр блока: UseCurrentEstimator |
| Текст: символьный вектор |
Значения: 'off', 'on' |
По умолчанию: 'on' |
Output state estimation error covariance - Ковариация ошибок оценки выходного состоянияoff (по умолчанию) | onПри выборе этого параметра в блоке генерируется выходной порт P ковариационной ошибки оценки состояния.
Параметр блока: OutputStateCovariance |
| Текст: символьный вектор |
Значения: 'off','on' |
По умолчанию: 'off' |
Data type - Тип данных для параметров блокаdouble (по умолчанию) | singleЭтот параметр используется для указания типа данных для всех параметров блока.
Параметр блока: DataType |
| Текст: символьный вектор |
Значения: 'single', 'double' |
По умолчанию: 'double' |
Sample time - Время блочной выборки1 (по умолчанию) | положительный скалярВремя выборки блока, указанное как положительный скаляр. Если время выборки функций перехода состояния и измерения различно, выберите Включить многоскоростную операцию на вкладке Многоскоростной режим и укажите время выборки на вкладке Многоскоростной режим.
Этот параметр доступен, если на вкладке Multirate установлен параметр Enable multiprate operation. off.
Параметр блока: SampleTime |
| Тип: символьный вектор, строка |
По умолчанию: '1' |
Enable multirate operation - Включить спецификацию различных времен выборки для функций перехода состояния и измеренияoff (по умолчанию) | onВыберите этот параметр, если время выборки функций перехода состояния и измерения различно. Время выборки задается на закладке Многоскоростной режим в поле Время выборки.
Параметр блока: EnableMultirate |
| Текст: символьный вектор |
Значения: 'off', 'on' |
По умолчанию: 'off' |
Sample times - Время выборки функции перехода и измерения состоянияЕсли время выборки для функций перехода состояния и измерения различно, укажите время выборки. Укажите время выборки для функций измерения как положительное целое число, кратное времени выборки перехода состояния. Указанное время выборки соответствует следующим портам ввода:
Порты, соответствующие функции перехода состояния - дополнительный вход в функцию перехода состояния StateTransiveFcnInputs и ковариация изменяющегося во времени шума процесса Q. Время выборки этих портов всегда должно равняться времени выборки функции перехода состояния, но может отличаться от времени выборки функций измерения.
Порты, соответствующие i-ой измерительной функции - измеренный выход yi, дополнительный вход в измерительную функцию MeasuremFcniВходы, включение сигнала на порту Enableiи изменяющаяся во времени ковариация R шума измеренияi. Время выборки этих портов для одной и той же функции измерения всегда должно быть одинаковым, но может отличаться от времени выборки для функции перехода состояния и других функций измерения.
Этот параметр доступен, если на вкладке Multirate установлен параметр Enable multiprate operation. on.
Параметр блока: StateTransitionFcnSampleTime, MeasurementFcn1SampleTime1, MeasurementFcn1SampleTime2, MeasurementFcn1SampleTime3, MeasurementFcn1SampleTime4, MeasurementFcn1SampleTime5 |
| Тип: символьный вектор, строка |
По умолчанию: '1' |
Алгоритм вычисляет оценки состояния ^ нелинейной системы, используя определенные вами функции перехода состояния и измерения. Можно указать до пяти функций измерения, каждая из которых соответствует датчику в системе. Программное обеспечение позволяет указать шум в этих функциях как аддитивный или неаддитивный.
Аддитивные шумовые термины - уравнения перехода и измерений состояния имеют следующий вид:
(x [k], um [k]) + v [k]
Здесь f - нелинейная функция перехода состояний, описывающая эволюцию состояний x от одного временного шага к следующему. Нелинейная функция измерения h x к измерениям y на шаге времени k. w и v являются нулевыми средними, некоррелированными шумами процесса и измерения соответственно. Эти функции могут также иметь дополнительные необязательные входные аргументы, которые обозначаются us и um в уравнениях. Например, дополнительные аргументы могут быть временным шагом k или вводы u в нелинейную систему. Таких аргументов может быть несколько.
Следует отметить, что шумовые члены в обоих уравнениях являются аддитивными. То есть x(k+1) линейно связан с технологическим шумом w(k), и y(k) линейно связан с шумом измерения v(k). Для аддитивных членов шума нет необходимости указывать члены шума в функциях перехода и измерения состояния. Программа добавляет термины к выводу функций.
Неаддитивные условия шума - программное обеспечение также поддерживает более сложные функции перехода состояния и измерения, где состояние x [k] и измерение y [k] являются нелинейными функциями шума процесса и шума измерения соответственно. Когда шумовые члены являются неаддитивными, уравнение перехода состояния и измерений имеет следующий вид:
x [k], v [k], um [k])
В R2020b изменилось поведение
Начиная с R2020b, численные улучшения в алгоритме расширенного фильтра Калмана могут давать результаты, отличные от результатов, полученных в предыдущих версиях.
Указанные функции перехода состояния, измерения и Jacobian должны использовать только команды MATLAB и блоки Simulink, поддерживающие генерацию кода. Список блоков, поддерживающих создание кода, см. в разделе Встроенные блоки Simulink, поддерживающие создание кода (Simulink Coder). Список команд, поддерживающих создание кода, см. в разделе Функции и объекты, поддерживаемые для создания кода C/C + + (кодер MATLAB).
Сгенерированный код использует алгоритм, который отличается от алгоритма, используемого самим блоком расширенного фильтра Калмана. Можно увидеть некоторые численные различия в результатах, полученных с помощью этих двух методов.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.


