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.