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)

Figure contains an axes. The axes contains 2 objects of type line. This object represents 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.

The 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. The 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