exponenta event banner

ssregest

Оценка состояния-пространственной модели путем уменьшения регуляризованной модели ARX

Описание

пример

sys = ssregest(data,nx) оценивает модель состояния-пространства путем уменьшения регуляризованной модели ARX.

пример

sys = ssregest(data,nx,Name,Value) задает дополнительные параметры с использованием одного или нескольких Name,Value аргументы пары.

пример

sys = ssregest(___,opt) определяет параметры оценки, которые настраивают цель оценки, заказы ARX и параметры сокращения заказа. Этот синтаксис может включать любую комбинацию входных аргументов в предыдущих синтаксисах.

пример

[sys,x0] = ssregest(___) возвращает значение начальных состояний, вычисленное во время оценки. Этот синтаксис может включать любую комбинацию входных аргументов в предыдущих синтаксисах.

Примеры

свернуть все

Данные оценки нагрузки.

load iddata2 z2;

z2 является iddata объект, содержащий данные ответа системы временной области.

Определение модели пространства состояния третьего порядка.

sys = ssregest(z2,3);

Данные оценки нагрузки.

load iddata2 z2

Оценка модели пространства состояния третьего порядка с задержкой ввода.

sys = ssregest(z2,3,'InputDelay',2);

Данные оценки нагрузки.

load iddata2 z2;

Укажите порядок регуляризованной модели ARX, используемой программным обеспечением во время оценки. Также установите фокус оценки на моделирование.

opt = ssregestOptions('ARXOrder',[100 100 1],'Focus','simulation');

Определение модели пространства состояния третьего порядка.

sys = ssregest(z2,3,opt);

Данные оценки нагрузки.

load iddata2 z2;

Получение начальных значений состояния при идентификации модели пространства состояния третьего порядка.

[sys,x0] = ssregest(z2,3);

Загрузить данные.

load regularizationExampleData eData;

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

trueSys = idtf([0.02008 0.04017 0.02008],[1 -1.561 0.6414],1);

Получить модель регуляризованной импульсной характеристики (FIR).

opt = impulseestOptions('RegularizationKernel','DC');
m0 = impulseest(eData,70,opt);

Преобразуйте модель в модель с пространством состояний и уменьшите порядок модели.

m1 = balred(idss(m0),15);

Получение второй модели состояния-пространства с использованием регуляризованного уменьшения модели ARX.

m2 = ssregest(eData,15);

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

impulse(trueSys,m1,m2,50);   
legend('trueSys','m1','m2');

Figure contains an axes. The axes with title From: u1 To: y1 contains 6 objects of type line. These objects represent trueSys, m1, m2.

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

свернуть все

Оценочные данные, указанные как iddata, idfrd или frd(Панель инструментов системы управления).

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

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

  • Записанные данные частотной характеристики (frd(Панель инструментов системы управления) или idfrd)

  • iddata объект со следующими свойствами:

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

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

    • Domain'Frequency'

    Время выборки Ts из iddata объект должен быть ненулевым.

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

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

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

Варианты оценки для ssregest, задается как набор опций, создаваемых с помощью ssregestOptions.

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

Укажите дополнительные пары, разделенные запятыми Name,Value аргументы. Name является именем аргумента и Value - соответствующее значение. Name должен отображаться внутри кавычек. Можно указать несколько аргументов пары имен и значений в любом порядке как Name1,Value1,...,NameN,ValueN.

Пример: sys = ssregest(z2,3,'InputDelay',2) определяет задержку в 2 периода выборки.

Время выборки модели, указанное как 0 или равное времени выборки data.

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

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

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

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

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

  • 'modal' - Получить sys в модальной форме.

  • 'companion' - Получить sys в компаньонной форме.

  • 'free' - Все записи матриц A, B и C рассматриваются как свободные.

  • 'canonical' - Получить sys в канонической форме наблюдаемости [1].

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

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

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

Укажите, следует ли оценивать K-матрицу, определяющую шумовую составляющую, как одно из следующих значений:

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

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

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

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

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

свернуть все

Расчетная государственно-пространственная модель порядка nx, возвращено как idss объект модели. Модель представляет собой:

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

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

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

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

Поле отчетаОписание
Status

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

Method

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

InitialState

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

  • 'zero' - Начальное состояние было равно нулю.

  • 'estimate' - Исходное состояние рассматривалось как независимый оценочный параметр.

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

ARXOrder

Порядки моделей ARX, возвращаемые в виде матрицы неотрицательных целых чисел [na nb nk].

Fit

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

ОбластьОписание
FitPercent

Нормализованная среднеквадратическая ошибка (NRMSE) измерения того, насколько хорошо отклик модели соответствует данным оценки, выраженным в процентах fit = 100 (1-NRMSE).

LossFcn

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

MSE

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

FPE

Ошибка окончательного прогноза для модели.

AIC

Показатель качества модели Raw Akaike Information Criteria (AIC).

AICc

Небольшой размер выборки, скорректированный AIC.

nAIC

Нормализованная AIC.

BIC

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

Parameters

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

OptionsUsed

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

RandState

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

DataUsed

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

ОбластьОписание
Name

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

Type

Тип данных.

Length

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

Ts

Время выборки.

InterSample

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

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

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

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

InputOffset

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

OutputOffset

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

Дополнительные сведения об использовании Report, см. Отчет по оценке.

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

Это значение также сохраняется в Parameters поле модели Report собственность.

Подробнее

свернуть все

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

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

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

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

Форма компаньона

В реализации компаньона характеристический многочлен системы появляется явно в крайнем правом столбце матрицы А.

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

P (s) = sn + α1sn 1 +... + αn − 1s + αn

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

A = [0100⋮00010⋮00001⋮0............ ...   0000⋮1−αn−αn−1−αn−2−αn−3 ⋮ −α1]

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

Совет

  • ssregest функция обеспечивает повышенную точность, чем n4sid для коротких, шумных наборов данных.

  • Для некоторых проблем, качество посадки с использованием n4sid чувствителен к опциям, таким как N4Horizon, чьи значения трудно определить. Для сравнения, качество соответствия ssregest менее чувствителен к его опциям, что делает ssregest упрощение использования.

Алгоритмы

ssregest оценивает регуляризованную модель ARX и преобразует модель ARX в модель пространства состояний. Затем программное обеспечение использует сбалансированные методы уменьшения модели, чтобы уменьшить модель состояния-пространства до заданного порядка.

Ссылки

[1] Ljung, L. Идентификация системы: теория для пользователя, второе издание, Приложение 4A, стр. 132-134, Верхнее седло, N.J.: Prentice Hall, 1999.

См. также

| | | | | (Панель инструментов системы управления)

Представлен в R2014a