getEstimator

Получите усиления Кальмана и модель для проекта средства оценки

Синтаксис

[L,M] = getEstimator(MPCobj)
[L,M,A,Cm,Bu,Bv,Dvm] = getEstimator(MPCobj)
[L,M,model,index] = getEstimator(MPCobj,'sys')

Описание

пример

[L,M] = getEstimator(MPCobj) извлекает усиления Кальмана, используемые средством оценки состояния в образцовом прогнозирующем контроллере. Средство оценки обновляет состояния внутреннего объекта, воздействия и шумовых моделей в начале каждого интервала контроллера.

пример

[L,M,A,Cm,Bu,Bv,Dvm] = getEstimator(MPCobj) также возвращается, системные матрицы раньше вычисляли усиления средства оценки.

[L,M,model,index] = getEstimator(MPCobj,'sys') возвращает представление пространства состояний LTI системы, используемой для проекта средства оценки состояния и структуры, обобщающей типы сигнала ввода-вывода системы.

Примеры

свернуть все

Объект является стабильной, дискретной моделью в пространстве состояний LTI с четырьмя состояниями, тремя входными параметрами и тремя выходными параметрами. Переменные, которыми управляют, являются входными параметрами 1 и 2. Введите 3, неизмеренное воздействие. Выходные параметры 1 и 3 измеряются. Выведите 2, не измерено.

Создайте модель объекта и задайте сигналы для MPC.

rng(1253)              % For repeatable results
Plant = drss(4,3,3);    
Plant.Ts = 0.25;
Plant = setmpcsignals(Plant,'MV',[1,2],'UD',3,'MO',[1 3],'UO', 2);
Plant.d(:,[1,2]) = 0;

Последняя команда обеспечивает объект, чтобы удовлетворить предположение ни о каком прямом сквозном соединении.

Вычислите образцовый прогнозирующий контроллер по умолчанию для этого объекта.

MPCobj = mpc(Plant);
-->The "PredictionHorizon" property of "mpc" object is empty. Trying PredictionHorizon = 10.
-->The "ControlHorizon" property of the "mpc" object is empty. Assuming 2.
-->The "Weights.ManipulatedVariables" property of "mpc" object is empty. Assuming default 0.00000.
-->The "Weights.ManipulatedVariablesRate" property of "mpc" object is empty. Assuming default 0.10000.
-->The "Weights.OutputVariables" property of "mpc" object is empty. Assuming default 1.00000.
   for output(s) y1 y3 and zero weight for output(s) y2 

Получите параметры, которые будут использоваться в оценке состояния.

[L,M,A,Cm,Bu,Bv,Dvm] = getEstimator(MPCobj);
-->The "Model.Disturbance" property of "mpc" object is empty:
   Assuming unmeasured input disturbance #3 is integrated white noise.
-->Assuming output disturbance added to measured output channel #1 is integrated white noise.
   Assuming no disturbance added to measured output channel #3.
-->The "Model.Noise" property of the "mpc" object is empty. Assuming white noise on each measured output channel.

На основе уравнения состояния средства оценки полюса средства оценки даны собственными значениями A - L*Cm. Вычислите и отобразите полюса.

Poles = eig(A - L*Cm)
Poles = 6×1

   -0.7467
   -0.5019
    0.0769
    0.4850
    0.8825
    0.8291

Подтвердите, что средство оценки по умолчанию асимптотически стабильно.

max(abs(Poles))
ans = 0.8825

Это значение - меньше чем 1, таким образом, средство оценки асимптотически стабильно.

Проверьте это в этом случае, L = A*M.

L - A*M
ans = 6×2
10-15 ×

    0.1665    0.1527
    0.0278    0.1110
   -0.1110   -0.1388
    0.0139         0
   -0.0763   -0.0278
    0.0139   -0.1110

Входные параметры

свернуть все

Контроллер MPC, заданный как контроллер MPC объект. Используйте команду mpc, чтобы создать контроллер MPC.

Выходные аргументы

свернуть все

Матрица усиления Кальмана для обновления времени, возвращенного как матрица. Размерностями L является nx-by-nym, где nx является общим количеством состояний контроллера, и nym является количеством измеренных выходных параметров. Смотрите уравнения Средства оценки состояния.

Матрица усиления Кальмана для обновления измерения, возвращенного как матрица. Размерностями L является nx-by-nym, где nx является общим количеством состояний контроллера, и nym является количеством измеренных выходных параметров. Смотрите уравнения Средства оценки состояния.

Системные матрицы, используемые, чтобы вычислить усиления средства оценки, возвратились как матрицы различных размерностей. Для определений этих системных матриц смотрите уравнения Средства оценки состояния.

Система используется для проекта средства оценки состояния, возвращенного как модель (ss) пространства состояний. Вход к model является векторным сигналом, включающим следующие компоненты, конкатенированные в следующем порядке:

  • Переменные, которыми управляют,

  • Измеренные переменные воздействия

  • 1

  • Шум вводит к возмущениям

  • Шум вводит к модели шума измерения

Количество шумовых входных параметров зависит от воздействия и моделей шума измерения в MPCobj. Для входных параметров шума категории к возмущениям входные параметры к входному возмущению (если таковые имеются) предшествуют тем, которые вводят выходное возмущение (если таковые имеются). Постоянный вход, 1, счета на неравновесную номинальную стоимость (см., что MPC Моделирует).

Чтобы сделать вычисление усилений L и M, больше устойчивых, аддитивных белых шумовых входных параметров принято, чтобы влиять на переменные, которыми управляют, и измеренные воздействия (см. Оценку состояния Контроллера). Эти белые шумовые входные параметры не включены в model.

Местоположения переменных в рамках вводов и выводов model. Структура обобщает эти местоположения со следующими полями и значениями.

Имя поляЗначение
ManipulatedVariablesИндексы переменных, которыми управляют, во входном векторе model.
MeasuredDisturbancesИндексы измеренных входных воздействий во входном векторе model.
OffsetИндекс постоянного входа 1 во входном векторе model.
WhiteNoiseИндексы неизмеренного воздействия вводят во входном векторе model.
MeasuredOutputsИндексы измеренных выходных параметров в выходном векторе model.
UmeasuredOutputsИндексы неизмеренных выходных параметров в выходном векторе model.

Больше о

свернуть все

Уравнения средства оценки состояния

Следующие уравнения описывают оценку состояния. Для получения дополнительной информации смотрите Оценку состояния Контроллера.

Выходная оценка: ym [n |n–1] = Cm x [n |n–1] + Dvm v [n].

Обновление измерения: x [n |n] = x [n |n–1] + M (ym [n] –ym [n |n–1]).

Обновление времени: x [n +1|n] = A x [n |n–1] + Bu u [n] + Bv v [n] + L (ym [n] – ym [n |n–1]).

Состояние средства оценки: x [n +1|n] = (AL Cm) x [n |n–1] + Bu u [n] + (BvL Dvm) v [n] + L ym [v]. Состояние средства оценки основано на текущем измерении ym [n] и v [n], а также действие оптимального управления u [n], вычисленный в текущем интервале управления.

Переменные в этих уравнениях получены в итоге в следующей таблице.

СимволОписание
x

Вектор состояния контроллера, длина nx. Это включает (в эту последовательность):

  • Оценки состояния модели объекта управления. Размерность, полученная преобразованием MPCobj.Model.Plant к дискретной форме пространства состояний LTI (при необходимости), сопровождаемая при помощи absorbDelay, чтобы преобразовать любые задержки с дополнительными состояниями.

  • Введите оценки состояния возмущения (если таковые имеются). Используйте команду getindist, чтобы рассмотреть входную структуру возмущения.

  • Выведите оценки состояния возмущения (если таковые имеются). Используйте команду getoutdist, чтобы рассмотреть выходную структуру возмущения.

  • Выведите состояния шума измерения (если таковые имеются), как задано MPCobj.Model.Noise.

Длина nx является суммой количества состояний в вышеупомянутых четырех категориях.

ymВектор измеренных выходных параметров или оценка их истинных значений, длина nym.
uВектор переменных, которыми управляют, длина nu.
vВектор измеренных входных воздействий, длина nv.
[j |k]Обозначает оценку состояния или вывода во время tj на основе доступных данных во время tk.
KОбозначает количество, известное во время tk, т.е. не оценка.
Anx-by-nx матрица Грина.
Bunx-by-nu матрица, сопоставляющая u с x.
Bvnx-by-nx матрица, сопоставляющая v с x.
Cmnym-by-nx матрица, сопоставляющая x с ym.
Dvmnym-by-nv матрица, сопоставляющая v с ym. Обратите внимание на то, что Dum = 0, потому что не может быть никакого прямого сквозного соединения ни между какой переменной, которой управляют, и любым измеренным выводом.
Lnx-by-nym матрица усиления Кальмана для обновления времени. (См. kalmd в документации Control System Toolbox™.) Обратите внимание на то, что L = A *M минимизирует ожидаемую ошибку оценки состояния для большинства комбинаций объекта и возмущений, используемых в MPC, но это не верно в целом.
Mnx-by-nym матрица усиления Кальмана для обновления измерения. (См. kalmd в документации Control System Toolbox.)

Введенный в R2014b