hankelmr

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]:

GGred2k+1nσi

Примечание

Кажется, этот метод похож на добавку снижения сложности модели стандартных программ balancmr и schurmr, но на самом деле это может привести к более надежной модели пониженного порядка, когда требуемая модель пониженного уровня имеет почти управляемые и/или наблюдаемые состояния (имеет сингулярные значения Ханкеля, близкие к точности машины). hankelmr затем выберет оптимальную сокращенную систему, чтобы удовлетворить критерию, связанному с ошибкой, независимо от того, какой порядок можно наивно выбрать в начале.

Эта таблица описывает входные параметры для hankelmr.

Аргумент

Описание

G

Модель LTI будет уменьшена (без каких-либо других входов будет строиться график ее сингулярных значений Ханкеля и подсказка для пониженного порядка)

ORDER

(Необязательно) целое число для желаемого порядка уменьшенной модели или, опционально, вектор, упакованный с желаемыми порядками для пакетных запусков

Пакетный запуск последовательного набора различных моделей пониженного порядка может быть сгенерирован путем определения order = x:y, or a vector of integers. По умолчанию вся антистабильная часть системы сохранена, потому что с точки зрения стабильности контроля, избавление от нестабильного состояния (состояний) опасно, чтобы смоделировать систему.

'MaxError' может быть задано так же, как альтернатива для 'ORDER'. В этом случае уменьшенный порядок будет определен, когда сумма хвостов Hankel sv достигает 'MaxError'.

Аргумент

Значение

Описание

'MaxError'

Действительное число или вектор различных ошибок

Уменьшите, чтобы добиться H ∞ ошибки.

Когда присутствует, 'MaxError' переопределяет ORDER вход.

'Weights'

{Wout,Win} массив ячеек

Оптимальный массив ячеек 1x2 весов LTI Wout (выход) и Win (вход). По умолчанию для обоих является тождествами. Веса должны быть инвертируемыми.

'Display'

'on' или 'off'

Отобразите сингулярные графики Ханкеля (по умолчанию 'off').

'Order'

Целое число, вектор или массив ячеек

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

Веса на входе и/или выходе исходной модели могут заставить алгоритм снижения сложности модели фокусироваться на некоторой частотной области значений интересов. Но веса должны быть стабильными, минимальными фазами и инвертируемыми.

Эта таблица описывает выходные аргументы.

Аргумент

Описание

GRED

Модель пониженного порядка LTI. Станьте многомерным массивом, когда вход является последовательным номером другого массива порядка модели.

REDINFO

A Массива структур с 4 полями:

  • REDINFO.ErrorBound (граница ∥ G-GRED ∥∞)

  • REDINFO.StabSV (Hankel SV стабильной части G)

  • REDINFO.UnstabSV (Hankel SV нестабильной части G)

  • REDINFO.Ganticausal (Антикаузальная часть Hankel MDA)

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 упорядочить уменьшенную модель.

  1. Найдите P и Q грамматики управляемости и наблюдаемости.

  2. Сформируйте дескриптор

    E=QPρ2I

    где σk>ρσk+1, и пространство состояний дескриптора

    Возьмите SVD E дескриптора и разбейте результат на kth форма усечения порядка

    [EsA¯B¯C¯D¯]=[ρ2AT+QAPQBCPD]E=[UE1,UE2][ΣE0000][VE1TVE2T]

  3. Примените преобразование к системе в пространстве состояний выше, чем мы имеем

    [A11A12A21A22]=[UE1TUE2T](ρ2AT+QAP)[VE1VE2][B1B2]=[UE1TUE2T][QBCT][C1C2]=[CPρBT][VE1VE2]D1=D

  4. Сформируйте эквивалентную модель пространства состояний.

    [A˜B˜C˜D˜]=[E1(A11A12A22A21)E1(B1A12A22B2)C1C2A22A21D1C2A22B2]

    Окончательный 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.

См. также

| | | | |

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