getPassiveIndex

Вычислите индекс пассивности линейной системы

getPassiveIndex вычисляет различные меры избытка или нехватку пассивности для данной системы.

G линейной системы (s) является passive, если все его траектории ввода-вывода (u (t), y (t)) удовлетворяют:

0Ty(t)Tu(t)dt>0,

для всего T> 0. Эквивалентно, система пассивна, если ее частотная характеристика положительна действительный, такой это для всего ω> 0,

G(jω)+G(jω)H>0

(или эквивалентное дискретное время).

Синтаксис

R = getPassiveIndex(G)
nu = getPassiveIndex(G,'input')
rho = getPassiveIndex(G,'output')
tau = getPassiveIndex(G,'io')
DX = getPassiveIndex(G,dQ)
index = getPassiveIndex(___,tol)
index = getPassiveIndex(___,tol,fband)
[index,FI] = getPassiveIndex(___)
[index,FI,Qout,dQout] = getPassiveIndex(___)

Описание

пример

R = getPassiveIndex(G) вычисляет относительный индекс пассивности. G пассивен, когда R - меньше чем один. R измеряет относительный избыток (R <1) или дефицит (R> 1) пассивности.

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

пример

nu = getPassiveIndex(G,'input') вычисляет входной индекс пассивности. Системой является input strictly passive когда nu> 0. nu также называется индексом входа feedforward пассивности (IFP). Значение nu является минимумом feedforward действие, таким образом, что получившаяся система пассивна.

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

пример

rho = getPassiveIndex(G,'output') вычисляет выходной индекс пассивности. Системой является output strictly passive когда rho> 0. rho также называется индексом выходной пассивности обратной связи (OFP). Значение rho является минимальным действием обратной связи, таким образом, что получившаяся система пассивна.

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

пример

tau = getPassiveIndex(G,'io') вычисляет объединенный индекс пассивности ввода-вывода. Системой является very strictly passive когда tau> 0.

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

DX = getPassiveIndex(G,dQ) вычисляет направленный индекс пассивности в направлении, заданном матричным dQ.

index = getPassiveIndex(___,tol) вычисляет индекс пассивности с относительной точностью, заданной tol. Используйте этот синтаксис с любой из предыдущих комбинаций входных параметров. index является соответствующим индексом пассивности R, nu, rho, tau или DX.

index = getPassiveIndex(___,tol,fband) вычисляет индексы пассивности, ограниченные определенным интервалом частоты.

[index,FI] = getPassiveIndex(___) также возвращает частоту, на которой достигается возвращенное индексное значение.

[index,FI,Qout,dQout] = getPassiveIndex(___) также возвращает матрицу сектора Qout для пассивности и направленной индексной матрицы dQout.

Примеры

свернуть все

Вычислите индексы пассивности для следующей динамической системы:

G(s)=s2+s+5s+0.1s3+2s2+3s+4

G = tf([1,1,5,.1],[1,2,3,4]);

Вычислите относительный индекс пассивности.

R = getPassiveIndex(G)
R = 0.9512

Система пассивна, но с относительно маленьким избытком пассивности.

Вычислите индексы пассивности ввода и вывода.

nu = getPassiveIndex(G,'input')
nu = 0.0250
rho = getPassiveIndex(G,'output')
rho = 0.2591

Эта система и вводится строго пассивная и строго пассивный вывод.

Вычислите объединенный индекс пассивности ввода-вывода.

tau = getPassiveIndex(G,'io')
tau = 0.0250

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

nyquistplot(G)

Относительно маленькое значение tau отражается в том, как близко частотная характеристика приходит к мнимой оси.

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

свернуть все

Модель, чтобы анализировать для пассивности, заданной как модель динамической системы, такая как tf, ss или модель genss. G может быть MIMO, если количество входных параметров равняется количеству выходных параметров. G может быть непрерывным или дискретным. Если G является обобщенной моделью с настраиваемыми или неопределенными блоками, getPassiveIndex оценивает пассивность текущей, номинальной стоимости G.

Если G является образцовым массивом, то getPassiveIndex возвращает индекс пассивности как массив, одного размера, где:

index(k) = getPassivityIndex(G(:,:,k),___)

Здесь, index является любым R, nu, rho, tau или DX, в зависимости от которых входных параметров вы используете.

Пользовательское направление, в котором можно вычислить пассивность, заданную как симметричная квадратная матрица, которая является 2*ny на стороне, где ny является количеством выходных параметров G.

rho, nu и индексы tau каждый соответствует конкретному направлению в y/u пробел системы с соответствующим значением dQ. (См. dQout для этих значений.) Используют этот аргумент, чтобы задать ваше собственное значение для этого направления.

Относительная точность для расчетного индекса пассивности. По умолчанию допуск составляет 1%, означая, что возвращенный индекс пассивности в 1% фактического индекса пассивности.

Интервал частоты для определения индекса пассивности, заданного как массив формы [fmin,fmax]. Когда вы обеспечиваете fband, затем getPassiveIndex ограничивает вычисление частотного диапазона индекса пассивности к тому частотному диапазону. Например, относительный индекс пассивности R является пиковым усилением билинейно преобразованной системы (I-G)(I+G)^-1 (для минимальной фазы (I + G)). Когда вы обеспечиваете fband, затем R является пиковым усилением в диапазоне частот.

Задайте частоты в модулях rad/TimeUnit, где TimeUnit является свойством TimeUnit модели G динамической системы.

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

свернуть все

Относительный индекс пассивности, возвращенный как скаляр или массив, если G является массивом.

Системный G пассивен, когда R - меньше чем один.

  • R <1 указывает на относительный избыток пассивности.

  • R> 1 указывает на относительную нехватку пассивности.

Когда I + G является минимальной фазой, R является пиковым усилением билинейно преобразованной системы (I - G)(I + G)^-1.

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

Введите индекс пассивности, возвращенный как скаляр или массив, если G является массивом. nu задан как самое большое значение ν для который:

0Ty(t)Tu(t)dt>ν0Tu(t)Tu(t)dt,

для всего T> 0. Эквивалентно, nu является самый большой ν для который:

G(jω)+G(jω)H>2νI

(или эквивалентное дискретное время). Системой является input strictly passive когда nu> 0. nu также называется индексом входа feedforward пассивности (IFP). Значение nu является минимумом feedforward действие, таким образом, что получившаяся система пассивна.

Выведите индекс пассивности, возвращенный как скаляр или массив, если G является массивом. rho задан как самое большое значение ρ для который:

0Ty(t)Tu(t)dt>ρ0Ty(t)Ty(t)dt,

для всего T> 0. Системой является output strictly passive когда rho> 0. rho также называется индексом выходной пассивности обратной связи (OFP). Значение rho является минимальным действием обратной связи, таким образом, что получившаяся система пассивна.

Объединенный индекс пассивности ввода-вывода, возвращенный как скаляр или массив, если G является массивом. tau задан как самое большое значение τ для который:

0Ty(t)Tu(t)dt>τ0T(u(t)Tu(t)+y(t)Ty(t))dt,

для всего T> 0. Системой является very strictly passive когда tau> 0.

Направленный индекс пассивности в направлении, заданном dQ, возвращенным как скаляр или массив, если G является массивом. Направленный индекс пассивности является самым большим значением D для который:

0Ty(t)Tu(t)dt>D0T((y(t)u(t))TdQ(y(t)u(t)))dt,

для всего T> 0. rho, nu и индексы tau соответствуют конкретному выбору dQ (см. выходной аргумент dQout). Чтобы вычислить DX, программное обеспечение использует пользовательское значение dQ, которое вы предоставляете, dQ.

Частота, на которой достигается возвращенный индекс пассивности, возвратилась как неотрицательный скаляр или массив, если G является массивом. В целом индексы пассивности меняются в зависимости от частоты (см. passiveplot). Для каждого индексного типа возвращенное значение является самым большим значением по всем частотам. FI является частотой, на которой это значение происходит, возвращенное в модулях rad/TimeUnit, где TimeUnit является свойством TimeUnit G.

Геометрия сектора, используемая для вычисления индекса пассивности, возвращенного как матрица. Для индексов пассивности Qout дают:

Qout = [zeros(ny),-1/2*eye(ny);-1/2*eye(ny),zeros(ny)]; 

где ny является количеством выходных параметров G. Например, для G SISO,

Qout = [ 0,  -0.5;
     -0.5, 0   ];

Для получения дополнительной информации о геометрии сектора, смотрите getSectorIndex.

Направление, в котором вычисляется пассивность, возвратилось как квадратная матрица, которая является 2*ny на стороне, где ny является количеством выходных параметров G. Значение, возвращенное для dQout, зависит от того, какой индекс пассивности вы вычисляете:

  • \nu Для входного индекса пассивности dQout дают:

    dQout = [zeros(ny),zeros(ny);zeros(ny),eye(ny)];

    Например, для системы SISO, dQout = [0,0;0,1].

  • \rho Для выходного индекса пассивности dQout дают:

    dQout = [eye(ny),zeros(ny);zeros(ny),zeros(ny)];

    Например, для системы SISO, dQout = [1,0;0,0].

  • \tau Для объединенного индекса пассивности ввода-вывода dQout дают:

    dQout = eye(2*ny);

    Например, для системы SISO, dQout = [1,0;0,1].

  • DXdQout является пользовательским значением, которое вы обеспечиваете во входном параметре dQ.

  • R Относительный индекс пассивности не включает направление, таким образом, в этом случае функция возвращает dQout = [].

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

Введенный в R2016a