n4sid

Оцените модель в пространстве состояний с помощью метода подпространства

Синтаксис

sys = n4sid(data,nx)
sys = n4sid(data,nx,Name,Value)
sys = n4sid(___,opt)
[sys,x0] = n4sid(___)

Описание

sys = n4sid(data,nx) оценивает модель в пространстве состояний порядка nx, sys, с помощью измеренных данных ввода - вывода, data.

sys является моделью idss, представляющей систему:

x˙(t)=Ax(t)+Bu(t)+Ke(t)y(t)=Cx(t)+Du(t)+e(t)

A, B, C и D являются матрицами пространства состояний. K является матрицей воздействия. u (t) является входом, y (t) является вывод, x (t) является вектором состояний nx, и e (t) является воздействием.

Все записи A, B, C и матриц K являются свободными параметрами оценки по умолчанию. D фиксируется, чтобы обнулить по умолчанию, означая, что нет никакого сквозного соединения, за исключением статических систем (nx=0).

sys = n4sid(data,nx,Name,Value) задает дополнительные атрибуты структуры пространства состояний с помощью одного или нескольких аргументов пары Name,Value. Используйте Form, Feedthrough и аргументы пары "имя-значение" DisturbanceModel, чтобы изменить поведение по умолчанию A, B, C, D и матриц K.

sys = n4sid(___,opt) задает опции оценки, opt, которые конфигурируют начальные состояния, цель оценки и подпространство связанный с алгоритмом выбор, который будет использоваться для оценки.

[sys,x0] = n4sid(___) также возвращает предполагаемое начальное состояние.

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

свернуть все

data

Данные об оценке.

Для оценки области времени data является объектом iddata, содержащим значения сигналов ввода и вывода.

Для оценки частотного диапазона data может быть одним из следующего:

  • Записанные данные о частотной характеристике (frd или idfrd)

  • Объект iddata с его свойствами, заданными можно следующим образом:

    • InputData — Преобразование Фурье входного сигнала

    • OutputData — Преобразование Фурье выходного сигнала

    • Domain — 'Частота'

Для данных о мультиэксперименте должны соответствовать шаги расчета и междемонстрационное поведение всех экспериментов.

Можно только оценить непрерывно-разовые модели с помощью непрерывно-разовых данных о частотном диапазоне. Можно оценить и модели непрерывно-разового и дискретного времени (шага расчета, совпадающего с тем из data) использование данных временного интервала и данных о частотном диапазоне дискретного времени.

nx

Порядок предполагаемой модели.

Задайте nx как положительное целое число. nx может быть скаляром или вектором. Если nx является вектором, то n4sid создает график, который можно использовать, чтобы выбрать подходящий порядок модели. График показывает сингулярные значения Ганкеля для моделей различных порядков. Состояния с относительно маленькими сингулярными значениями Ганкеля могут быть безопасно отброшены. Выбор по умолчанию предлагается в графике.

Можно также задать nx как 'best', в этом случае оптимальный порядок автоматически выбран из nx = 1,..,10.

opt

Опции оценки.

opt является набором опций, созданное использование n4sidOptions, который задает опции включая:

  • Цель оценки

  • Обработка начальных условий

  • Подпространство связанный с алгоритмом выбор

Аргументы в виде пар имя-значение

Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми. Имя (Name) — это имя аргумента, а значение (Value) — соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Шаг расчета, заданный как положительная скалярная величина. Для непрерывно-разовых моделей используйте Ts = 0. Для моделей дискретного времени задайте Ts как положительную скалярную величину, значение которой равно тому из шага расчета данных.

Тип канонической формы sys, заданного как одно из следующих значений:

Используйте Form, Feedthrough и аргументы пары "имя-значение" DisturbanceModel, чтобы изменить поведение по умолчанию A, B, C, D и матриц K.

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

Если Feedthrough задан как логический скаляр, это значение применяется ко всем входным параметрам. Если модель не имеет никаких состояний, то Feedthrough является true(1,Nu).

Задайте оценку шумового компонента (матрица K), заданный как одно из следующих значений:

  • 'none' Шумовой компонент не оценивается. Значение матрицы K, фиксируется к нулевому значению.

  • 'estimate' — Матрица K обработана как свободный параметр.

DisturbanceModel должен быть 'none' при использовании данных о частотном диапазоне.

Введите задержку каждого входного канала, заданного как числовой вектор. Для непрерывно-разовых систем задайте входные задержки единицы измерения времени, сохраненной в свойстве TimeUnit. Для систем дискретного времени задайте входные задержки целочисленных множителей шага расчета Ts. Например, InputDelay = 3 означает задержку трех периодов выборки.

Для системы с входными параметрами Nu, набор InputDelay к Nu-by-1 вектор. Каждая запись этого вектора является численным значением, которое представляет входную задержку соответствующего входного канала.

Можно также установить InputDelay на скалярное значение применять ту же задержку со всеми каналами.

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

sys

Идентифицированная модель в пространстве состояний, возвращенная как модель idss. Эта модель создается с помощью заданных порядков модели, задержек и опций оценки.

Информация о результатах оценки и используемых опциях хранится в свойстве Report модели. Report имеет следующие поля:

Сообщите о полеОписание
Status

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

Method

Команда оценки используется.

InitialState

То, как начальные состояния были обработаны во время оценки, возвратилось как одно из следующих значений:

  • 'zero' — Начальное состояние обнуляется.

  • 'estimate' — Начальное состояние обработано как независимый параметр оценки.

Это поле особенно полезно, когда опцией InitialState в наборе опции оценки является 'auto'.

N4Weight

Схема Weighting, используемая для сингулярного разложения алгоритмом N4SID, возвращенным как одно из следующих значений:

  • 'MOESP' — Использует алгоритм MOESP.

  • 'CVA' — Использует канонический переменный алгоритм.

  • 'SSARX' — Метод идентификации подпространства, который использует ARX основанный на оценке алгоритм, чтобы вычислить взвешивание.

Эта опция особенно полезна, когда опцией N4Weight в наборе опции оценки является 'auto'.

N4Horizon

Передайте и обратные горизонты прогноза, используемые алгоритмом N4SID, возвращенным как вектор - строка с тремя элементами —   [r sy su], где r является максимальным прямым горизонтом прогноза. sy является количеством мимо выходных параметров, и su является количеством прошлых входных параметров, которые используются для прогнозов.

Fit

Количественная оценка оценки, возвращенной как структура. Смотрите Функцию потерь и Образцовые Метрики качества для получения дополнительной информации об этих метриках качества. Структура имеет следующие поля:

Поле Описание
FitPercent

Мера по нормированной среднеквадратической ошибке (NRMSE) того, как хорошо ответ модели соответствует данным об оценке, выраженным как процент.

LossFcn

Значение функции потерь, когда оценка завершается.

MSE

Мера по среднеквадратической ошибке (MSE) того, как хорошо ответ модели соответствует данным об оценке.

FPE

Итоговая ошибка прогноза для модели.

AIC

Необработанная мера по Критериям информации о Akaike (AIC) образцового качества.

AICc

Маленький объем выборки исправил AIC.

nAIC

Нормированный AIC.

BIC

Байесовы информационные критерии (BIC).

Parameters

Ориентировочные стоимости параметров модели.

OptionsUsed

Набор опции используется для оценки. Если никакие пользовательские опции не были сконфигурированы, это - набор опций по умолчанию. Смотрите n4sidOptions для получения дополнительной информации.

RandState

Состояние потока случайных чисел в начале оценки. Пустой, [], если рандомизация не использовалась во время оценки. Для получения дополнительной информации смотрите rng в документации MATLAB®.

DataUsed

Атрибуты данных используются для оценки, возвращенной как структура со следующими полями:

Поле Описание
Name

Имя набора данных.

Type

Тип данных.

Length

Количество выборок данных.

Ts

'SampleTime' .

InterSample

Введите междемонстрационное поведение, возвращенное как одно из следующих значений:

  • 'zoh' — Нулевой порядок содержит, поддерживает кусочно-постоянный входной сигнал между выборками.

  • 'foh' — Хранение первого порядка поддерживает кусочно-линейный входной сигнал между выборками.

  • 'bl' — Ограниченное полосой поведение указывает, что непрерывно-разовый входной сигнал имеет нулевую силу выше частоты Найквиста.

InputOffset

Сместите удаленный из входных данных временного интервала во время оценки. Для нелинейных моделей это - [].

OutputOffset

Сместите удаленный из выходных данных временного интервала во время оценки. Для нелинейных моделей это - [].

Для получения дополнительной информации об использовании Report см. Отчет Оценки.

x0

Начальные состояния вычисляются во время средства оценки sys.

Если data содержит несколько экспериментов, то x0 является массивом с каждым столбцом, соответствующим эксперименту.

Примеры

свернуть все

Загрузите данные об оценке.

load iddata2 z2

Задайте опции оценки.

opt = n4sidOptions('Focus','simulation','Display','on');

Оцените модель.

nx = 3;
sys = n4sid(z2,nx,opt);

sys является третьим порядком, моделью в пространстве состояний.

Оцените модель в пространстве состояний от данных с обратной связью с помощью алгоритма подпространства SSARX. Этот алгоритм лучше в получении эффектов обратной связи, чем другие алгоритмы взвешивания.

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

N = 1000; 
K = 0.5;
rng('default');
w = randn(N,1);
z = zeros(N,1); 
u = zeros(N,1); 
y = zeros(N,1);
e = randn(N,1);
v = filter([1 0.5],[1 1.5 0.7],e);
for k = 3:N
   u(k-1) = -K*y(k-2) + w(k);
   u(k-1) = -K*y(k-1) + w(k);
   z(k) = 1.5*z(k-1) - 0.7*z(k-2) + u(k-1) + 0.5*u(k-2);
   y(k) = z(k) + 0.8*v(k);
end
dat = iddata(y, u, 1);

Задайте схему взвешивания, используемую алгоритмом N4SID. В одном наборе опций задайте алгоритм как CVA и в другом, задайте как SSARX.

optCVA = n4sidOptions('N4weight','CVA');
optSSARX = n4sidOptions('N4weight','SSARX');

Оцените модели в пространстве состояний с помощью наборов опций.

sysCVA = n4sid(dat,2,optCVA);
sysSSARX = n4sid(dat,2,optSSARX);

Сравните припадок этих двух моделей с данными об оценке.

compare(dat,sysCVA,sysSSARX);

Из графика вы видите, что модель оценила, что использование алгоритма SSARX производит лучшую подгонку, чем алгоритм CVA.

Оцените непрерывно-разовую модель канонической формы.

Загрузите данные об оценке.

load iddata1 z1

Задайте опции оценки.

opt = n4sidOptions('Focus','simulation','Display','on');

Оцените модель.

nx = 2;
sys = n4sid(z1,nx,'Ts',0,'Form','canonical',opt);

sys является второго порядка, непрерывно-разовым, моделью в пространстве состояний в канонической форме.

Больше о

свернуть все

Модальная форма

В модальной форме A является блочно диагональной матрицей. Размер блока обычно 1 на 1 для действительных собственных значений и 2 на 2 для комплексных собственных значений. Однако, если существуют повторенные собственные значения или кластеры соседних собственных значений, размер блока может быть больше.

Например, для системы с собственными значениями (λ1,σ±jω,λ2), модальная матрица A имеет форму

[λ10000σω00ωσ0000λ2]

Сопутствующая форма

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

Для системы с характеристическим полиномом

p(s)=sn+α1sn1++αn1s+αn

соответствующий компаньон матрица A

A=[00....0αn100..0αn1010.:::0..::0..10α20....01α1]

Сопутствующее преобразование требует, чтобы система была управляема от первого входа. Сопутствующая форма плохо обусловливается для большинства вычислений пространства состояний; избегайте использования его, если это возможно.

Ссылки

[1] Ljung, L. System Identification: Теория для Пользователя, Приложение 4A, Второй Выпуск, стр 132–134. Верхний Сэддл-Ривер, NJ: PTR Prentice Hall, 1999.

[2] ван Оверши, P. и Б. Де Мор. Идентификация подпространства Линейных систем: Теория, Реализация, Приложения. Springer Publishing: 1996.

[3] Verhaegen, M. "Идентификация детерминированной части моделей в пространстве состояний MIMO". Automatica, 1994, Издание 30, стр 61 — 74.

[4] Larimore, W.E. "Канонический анализ варьируемой величины в идентификации, фильтрации и адаптивном управлении". Продолжения 29-й Конференции по IEEE по Решению и Управлению, 1990, стр 596–604.

Смотрите также

| | | | | | | | | |

Представлено до R2006a