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) вычисляет относительный индекс пассивности. 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.2583

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

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

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