Main Content

Check passivity of linear systems

returns a logical value of 1 (`pf`

= isPassive(`G`

)`true`

) if the dynamic system model
`G`

is passive, and a logical value of 0
(`false`

) otherwise. A system is *passive*
if all its I/O trajectories (*u*(*t*),*y*(*t*)) satisfy:

$${\int}_{0}^{T}y{\left(t\right)}^{T}u\left(t\right)dt}>0,$$

for all *T* > 0. Equivalently, a system is passive if its frequency response is
positive real, which means that for all *ω* > 0,

$$G\left(j\omega \right)+G{\left(j\omega \right)}^{H}>0$$

(or the discrete-time equivalent). If `G`

is a model array,
then `isPassive`

returns a logical array of the same array
dimensions as `G`

, where each entry in the array reflects the
passivity of the corresponding entry in `G`

.

For more information about the notion of passivity, see About Passivity and Passivity Indices.

returns 1 (`pf`

= isPassive(`G`

,`nu`

,`rho`

)`true`

) if `G`

is passive with index
`nu`

at the inputs, and index `rho`

at the
outputs. Such systems satisfy:

$${\int}_{0}^{T}y{\left(t\right)}^{T}u\left(t\right)dt}>\nu {\displaystyle {\int}_{0}^{T}u{\left(t\right)}^{T}u\left(t\right)dt}+\rho {\displaystyle {\int}_{0}^{T}y{\left(t\right)}^{T}y\left(t\right)dt},$$

for all *T* > 0.

Use

`rho`

= 0 to check whether a system is*input passive*with index`nu`

at the inputs.Use

`nu`

= 0 to check whether a system is*output passive*with index`rho`

at the outputs.

For more information about input and output passivity, see About Passivity and Passivity Indices.

`[`

also returns the relative index for the corresponding passivity bound (see `pf`

,`R`

] =
isPassive(`G`

,___)`getPassiveIndex`

).
`R`

measures the amount by which the passivity property is
satisfied (`R`

< 1) or violated (`R`

>
1). You can use this syntax with any of the previous combinations of input
arguments.

`getPassiveIndex`

| `getPeakGain`

| `getSectorCrossover`

| `getSectorIndex`

| `passiveplot`

| `sectorplot`