Оценка состояний дискретно-временной нелинейной системы с помощью незаметного фильтра Калмана
Инструментарий системы управления/оценка состояния
Набор средств идентификации системы/оценщики
Блок «Незаметный фильтр Калмана» оценивает состояния дискретно-временной нелинейной системы, используя алгоритм дискретно-временного незаметного фильтра Калмана.
Рассмотрим установку со состояниями 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],v[k],MeasurementFcn1Inputs)
y2[k] = h2(x[k],v[k],MeasurementFcn2Inputs)
y3[k] = h3(x[k],v[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' |
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' |
Alpha - разброс сигма-точек1e-3 (по умолчанию) | скалярное значение от 0 до 1Алгоритм фильтра Калмана без запаха рассматривает состояние системы как случайную величину со средним значением состояния и дисперсией. Чтобы вычислить состояние и его статистические свойства на следующем шаге времени, алгоритм сначала генерирует набор значений состояния, распределенных вокруг среднего значения, с помощью незаметного преобразования. Эти сгенерированные значения состояния называются сигма-точками. Алгоритм использует каждую из сигма-точек в качестве входа в функции перехода состояния и измерения для получения нового набора преобразованных точек состояния и измерений. Преобразованные точки используются для вычисления значения ковариации состояния и ошибки оценки состояния на следующем временном шаге.
Разброс сигма-точек вокруг среднего значения состояния управляется двумя параметрами Альфа и Каппа. Третий параметр, Beta, влияет на веса преобразованных точек во время вычислений ковариации состояния и измерения:
Альфа - определяет разброс сигма-точек вокруг среднего значения состояния. Укажите в качестве скалярного значения от 0 до 1 (0 < Альфа < =1). Обычно это небольшое положительное значение. Разброс сигма-точек пропорционален Альфа. Меньшие значения соответствуют сигма-точкам, более близким к среднему состоянию.
Kappa - второй параметр масштабирования, который обычно устанавливается равным 0. Меньшие значения соответствуют сигма-точкам, более близким к среднему состоянию. Разброс пропорционален квадратному корню Kappa.
Бета - включает в себя предварительное знание распределения государства. Для гауссовых распределений Beta = 2 является оптимальным.
Если известно распределение состояния и ковариации состояния, можно настроить эти параметры для захвата преобразования моментов высшего порядка распределения. Алгоритм может отслеживать только один пик в распределении вероятностей состояния. Если в распределении состояний системы имеется несколько пиков, можно настроить эти параметры так, чтобы сигма-точки оставались в пределах одного пика. Например, выберите небольшой Альфа, чтобы создать сигма-точки, близкие к среднему значению состояния.
Дополнительные сведения см. в разделе Алгоритм фильтра Калмана без запаха.
Параметр блока: Alpha |
| Тип: символьный вектор, строка |
По умолчанию: '1e-3' |
Beta - Характеристика распределения состояний2 (по умолчанию) | скалярное значение больше или равно 0Характеристика распределения состояний, которая используется для настройки весов преобразованных сигма-точек, заданных как скалярное значение, большее или равное 0. Для гауссовых распределений, Beta = 2 является оптимальным выбором.
Дополнительные сведения см. в описании Alpha.
Параметр блока: Beta |
| Тип: символьный вектор, строка |
По умолчанию: '2' |
Kappa - разброс сигма-точек0 (по умолчанию) | скалярное значение от 0 до 3Разброс сигма-точек вокруг среднего значения состояния, заданного как скалярное значение от 0 до 3 (0 < = Каппа < =3). Каппа обычно указывается как 0. Меньшие значения соответствуют сигма-точкам, более близким к среднему состоянию. Разброс пропорционален квадратному корню Каппы. Дополнительные сведения см. в описании Alpha.
Параметр блока: Kappa |
| Тип: символьный вектор, строка |
По умолчанию: '0' |
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))
Программное обеспечение производит дополнительный входной порт MeasurementFcnInput, чтобы определить этот аргумент.
Если используется функциональный блок Simulink, укажите x и v использование блоков Argument Inport (Simulink) и дополнительных входных данных Um1,...,Umn использование блоков Inport (Simulink) в блоке Simulink Function. Вы не предоставляете Um1,...,Umn в блок «Фильтр Калмана без запаха».
При наличии в системе нескольких датчиков можно указать несколько функций измерения. С помощью кнопки «Добавить измерение» можно указать до пяти функций измерения. Чтобы удалить функции измерения, используйте команду Удалить измерение (Remove Measurement).
Параметр блока: MeasurementFcn1, MeasurementFcn2, MeasurementFcn3, MeasurementFcn4, MeasurementFcn5 |
| Тип: символьный вектор, строка |
По умолчанию: 'myMeasurementFcn' |
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 (по умолчанию) | матрицаКовариация инвариантного по времени шума измерения, заданная как матрица. Размер матрицы зависит от значения параметра Measurement noise:
Шум измерения Additive - укажите ковариацию как матрицу N-на-N, где N - количество измерений системы.
Шум измерения Nonadditive - определение ковариации в виде матрицы V-by-V, где V - число членов шума измерения.
Если ковариация шума измерения является изменяющейся во времени, выберите Изменяющаяся во времени. Блок генерирует входной порт Ri для задания изменяющейся во времени ковариации для i-ой функции измерения.
Этот параметр включен, если не указан шум процесса как изменяющийся во времени.
Параметр блока: MeasurementNoise1, MeasurementNoise2, MeasurementNoise3, MeasurementNoise4, MeasurementNoise5 |
| Тип: символьный вектор, строка |
По умолчанию: '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, численные улучшения в алгоритме фильтра Калмана без запаха могут дать результаты, которые отличаются от результатов, полученных в предыдущих версиях.
Указанные функции перехода и измерения состояния должны использовать только команды MATLAB и блоки Simulink, поддерживающие генерацию кода. Список блоков, поддерживающих создание кода, см. в разделе Встроенные блоки Simulink, поддерживающие создание кода (Simulink Coder). Список команд, поддерживающих создание кода, см. в разделе Функции и объекты, поддерживаемые для создания кода C/C + + (кодер MATLAB).
Созданный код использует алгоритм, который отличается от алгоритма, используемого самим блоком фильтра Калмана. Можно увидеть некоторые численные различия в результатах, полученных с помощью этих двух методов.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.

