This is machine translation

Translated by Microsoft
Mouseover text to see original. Click the button below to return to the English version of the page.

Note: This page has been translated by MathWorks. Click here to see
To view all translated materials including this page, select Country from the country navigator on the bottom of this page.

Passivity Indices

This example shows how to compute various measures of passivity for linear time-invariant systems.

Passive Systems

A linear system G(s) is passive when all I/O trajectories (u(t),y(t)) satisfy

0TyT(t)u(t)dt>0,T>0

where yT(t) denotes the transpose of y(t).

To measure "how passive" a system is, we use passivity indices.

  • The input passivity index is defined as the largest ν such that

0TyT(t)u(t)dt>ν0TuT(t)u(t))dt

The system G is "input strictly passive" (ISP) when ν>0. ν is also called the "input feedforward passivity" (IFP) index and corresponds to the minimum feedforward action needed to make the system passive.

  • The output passivity index is defined as the largest ρ such that

0T(yT(t)u(t)dt>ρ0TyT(t)y(t))dt

The system G is "output strictly passive" (OSP) when ρ>0. ρ is also called the "output feedback passivity" (OFP) index and corresponds to the minimum feedback action needed to make the system passive.

  • The I/O passivity index is defined as the largest τ such that

0TyT(t)u(t)dt>τ0T(uT(t)u(t)+yT(t)y(t))dt

The system is "very strictly passive" (VSP) if τ>0.

Circuit Example

Consider the following example. We take the current I as the input and the voltage V as the output. Based on Kirchhoff's current and voltage law, we obtain the transfer function for G(s),

G(s)=V(s)I(s)=(Ls+R)(Rs+1C)Ls2+2Rs+1C.

Let R=2, L=1 and C=0.1.

R = 2; L = 1; C = 0.1; 
s = tf('s');
G = (L*s+R)*(R*s+1/C)/(L*s^2 + 2*R*s+1/C);

Use isPassive to check whether G(s) is passive.

PF = isPassive(G)
PF = logical
   1

Since PF = true, G(s) is passive. Use getPassiveIndex to compute the passivity indices of G(s).

% Input passivity index
nu = getPassiveIndex(G,'in')
nu = 2
% Output passivity index
rho = getPassiveIndex(G,'out')
rho = 0.2857
% I/O passivity index
tau = getPassiveIndex(G,'io')
tau = 0.2642

Since τ>0, the system G(s) is very strictly passive.

Frequency-Domain Characterization

A linear system is passive if and only if it is "positive real":

G(jω)+GH(jω)>0ωR.

The smallest eigenvalue of the left-hand-side is related to the input passivity index ν:

ν=12minωλmin(G(jω)+GH(jω))

where λmin denotes the smallest eigenvalue. Similarly, when G(s) is minimum-phase, the output passivity index is given by:

ρ=12minωλmin(G-1(jω)+G-H(jω)).

Verify this for the circuit example. Plot the Nyquist plot of the circuit transfer function.

nyquist(G)

The entire Nyquist plot lies in the right-half plane so G(s) is positive real. The leftmost point on the Nyquist curve is (x,y)=(2,0) so the input passivity index is ν=2, the same value we obtained earlier. Similarly, the leftmost point on the Nyquist curve for G-1(s) gives the output passivity index value ρ=0.286.

Relative Passivity Index

It can be shown that the "positive real" condition

G(jω)+GH(jω)>0ωR

is equivalent to the small gain condition

||(I-G(jω))(I+G(jω))-1||<1ωR.

The relative passivity index (R-index) is the peak gain over frequency of (I-G)(I+G)-1 when I+G is minimum phase, and + otherwise:

R=(I-G)(I+G)-1.

In the time domain, the R-index is the smallest r>0 such that

0T||y-u||2dt<r20T||y+u||2dt

The system G(s) is passive if and only if R<1, and the smaller R is, the more passive the system is. Use getPassiveIndex to compute the R-index for the circuit example.

R = getPassiveIndex(G)
R = 0.5556

The resulting R value indicates that the circuit is a very passive system.

See Also

|

Related Topics