exponenta event banner

getPassiveIndex

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

Описание

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

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

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

для всех T > 0. Эквивалентно, система пассивна, если её частотный отклик является положительным действительным, таким образом, что для всех λ > 0,

G () + G () H > 0

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

пример

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

Дополнительную информацию о понятии индексов пассивности см. в разделе Об индексах пассивности и пассивности.

пример

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

Дополнительную информацию о понятии индексов пассивности см. в разделе Об индексах пассивности и пассивности.

пример

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

Дополнительную информацию о понятии индексов пассивности см. в разделе Об индексах пассивности и пассивности.

пример

tau = getPassiveIndex(G,'io') вычисляет комбинированный индекс пассивности ввода-вывода. Система очень строго пассивна, когда 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.

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) Ту (t) dt>ν∫0Tu (t) Ту (t) дт,

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

G () + G () H > 2startI

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

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

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

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

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

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

для всех T > 0. Система очень строго пассивна, когда tau > 0.

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

∫0Ty (t) Tu (t) dt>D∫0T ((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. Например, для SISO G,

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