Hankel минимальная степень приближения (MDA) без балансировки
GRED = hankelmr(G) GRED = hankelmr(G,order) [GRED,redinfo] = hankelmr(G,key1,value1,...) [GRED,redinfo] = hankelmr(G,order,key1,value1,...)
hankelmr возвращает модель пониженного порядка GRED от G и массив структур redinfo содержащий границу ошибок уменьшенной модели и сингулярных значений Ханкеля исходной системы.
Граница ошибки вычисляется на основе сингулярных значений Ханкеля G. Для стабильной системы сингулярные значения Ханкеля указывают соответствующую энергию состояния системы. Следовательно, пониженный порядок может быть непосредственно определен путем исследования системы Hankel SV, σ ι.
С одним только входным параметром Gфункция покажет график сингулярного значения Ханкеля исходной модели и предложит уменьшить число порядков моделей.
Этот метод гарантирует ограничение ошибки на норме по бесконечности аддитивного ∥ ошибки G-GRED∥ ∞ для хорошо обусловленных моделей уменьшенных задач [1]:
Примечание
Кажется, этот метод похож на добавку снижения сложности модели стандартных программ balancmr и schurmr, но на самом деле это может привести к более надежной модели пониженного порядка, когда требуемая модель пониженного уровня имеет почти управляемые и/или наблюдаемые состояния (имеет сингулярные значения Ханкеля, близкие к точности машины). hankelmr затем выберет оптимальную сокращенную систему, чтобы удовлетворить критерию, связанному с ошибкой, независимо от того, какой порядок можно наивно выбрать в начале.
Эта таблица описывает входные параметры для hankelmr.
Аргумент | Описание |
|---|---|
G | Модель LTI будет уменьшена (без каких-либо других входов будет строиться график ее сингулярных значений Ханкеля и подсказка для пониженного порядка) |
ORDER | (Необязательно) целое число для желаемого порядка уменьшенной модели или, опционально, вектор, упакованный с желаемыми порядками для пакетных запусков |
Пакетный запуск последовательного набора различных моделей пониженного порядка может быть сгенерирован путем определения order = x:y, or a vector of integers. По умолчанию вся антистабильная часть системы сохранена, потому что с точки зрения стабильности контроля, избавление от нестабильного состояния (состояний) опасно, чтобы смоделировать систему.
'MaxError' может быть задано так же, как альтернатива для 'ORDER'. В этом случае уменьшенный порядок будет определен, когда сумма хвостов Hankel sv достигает 'MaxError'.
Аргумент | Значение | Описание |
|---|---|---|
'MaxError' | Действительное число или вектор различных ошибок | Уменьшите, чтобы добиться H ∞ ошибки. Когда присутствует, |
'Weights' |
| Оптимальный массив ячеек 1x2 весов LTI |
'Display' |
| Отобразите сингулярные графики Ханкеля (по умолчанию |
'Order' | Целое число, вектор или массив ячеек | Порядок уменьшенной модели. Используйте только, если не задан как второй аргумент. |
Веса на входе и/или выходе исходной модели могут заставить алгоритм снижения сложности модели фокусироваться на некоторой частотной области значений интересов. Но веса должны быть стабильными, минимальными фазами и инвертируемыми.
Эта таблица описывает выходные аргументы.
Аргумент | Описание |
|---|---|
GRED | Модель пониженного порядка LTI. Станьте многомерным массивом, когда вход является последовательным номером другого массива порядка модели. |
REDINFO | A Массива структур с 4 полями:
|
G может быть стабильным или нестабильным, непрерывным или дискретным.
Примечание
Если size(GRED) не равен указанному порядку. Оптимальный алгоритм Hankel MDA выбрал лучшую аппроксимацию минимальной степени, которую он может найти в пределах допустимой точности машины.
Учитывая непрерывную или дискретную, стабильную или нестабильную систему, Gследующие команды могут получить набор моделей пониженного порядка на основе выбранных вами вариантов:
rng(1234,'twister'); G = rss(30,5,4); [g1, redinfo1] = hankelmr(G); % display Hankel SV plot % and prompt for order (try 15:20) [g2, redinfo2] = hankelmr(G,20); [g3, redinfo3] = hankelmr(G,[10:2:18]); [g4, redinfo4] = hankelmr(G,'MaxError',[0.01, 0.05]); for i = 1:4 figure(i); eval(['sigma(G,g' num2str(i) ');']); end
Singular Value Bode Plot of G (30 состояний, 5 выходов, 4 входа) показывает сингулярное значение диаграмма Боде для случайной системы G с 20 состояниями, 5 выходами и 4 входами. Система ошибок между G и его порядок Zeroth Hankel MDA имеет свою норму по бесконечности равную функции all pass, как показано на All-Pass Error System между G и Zeroth Order G Anticausal.
Zeroth порядка Hankel MDA и его график sigma системы ошибок получаются через команды
[g0,redinfo0] = hankelmr(G,0); sigma(G-redinfo0.Ganticausal)
Это интересное свойство all-pass уникально при снижении сложности модели Hankel MDA.
Сингулярное значение Диаграмма Боде of G (30 состояний, 5 выходов, 4 входа)

Универсальная система ошибок между G и Zeroth Order G Anticausal

Учитывая пространство состояний (A,B,C,D) системы и k, желаемый уменьшенный порядок, следующие шаги произведут преобразование подобия, чтобы обрезать исходную систему в пространстве состояний кth упорядочить уменьшенную модель.
Найдите P и Q грамматики управляемости и наблюдаемости.
Сформируйте дескриптор
где , и пространство состояний дескриптора
Возьмите SVD E дескриптора и разбейте результат на kth форма усечения порядка
Примените преобразование к системе в пространстве состояний выше, чем мы имеем
Сформируйте эквивалентную модель пространства состояний.
Окончательный kth порядок Hankel MDA является стабильной частью вышеописанной реализации пространства состояний. Его антикаузальная часть хранится в redinfo.Ganticausal.
Доказательство алгоритма Hankel MDA можно найти в [2]. Система ошибок между исходной системой G и G0 Zeroth Order Hankel MDA является полнопроходной функцией [1].
[1] Glover, K., «All Optimal Hankel Norm приближение линейных многопараметрических систем и их L∝-error границ», Int. J. Контроль, том 39, № 6, стр. 1145-1193, 1984.
[2] Сафонов, М.Г., Р.Я. Чанг и Д.Ж.Н. Limebeer, «Optimal Hankel Model Reduction for Nonminimal Systems», IEEE Trans. on Automat. Contr., vol. 35, № 4, April 1990, pp. 496-502.