NormHinf - Maple Help
For the best experience, we recommend viewing online help using Google Chrome or Mozilla Firefox.

Online Help

All Products    Maple    MapleSim


DynamicSystems

  

NormHinf

  

Compute the H∞ norm of a linear system

 

Calling Sequence

Parameters

Options

Description

Examples

References

Compatibility

Calling Sequence

NormHinf(sys)

NormHinf(sys, eps)

Parameters

sys

-

System; system object

eps

-

(optional) nonnegative; relative accuracy. The default value is 10^(-6).

opts

-

(optional) equation(s) of the form option = value; specify options for the NormHinf command

Options

• 

output = norm or peakfreq or list of these names.

Specifies the returned values. By default, only the H∞ norm is returned. If peakfreq is specified, the angular frequency (rad/s) at which the peak gain of sys occurs is returned.

• 

checkstability = truefalse

True means check whether the system is stable; if it is not stable, raise a warning. False means skip the check. The default is true.

Description

• 

The NormHinf command computes the H∞ norm of a linear system sys, with relative accuracy eps. Both continuous-time and discrete-time systems, and both single-input single-output (SISO) and multiple-input multiple-output (MIMO) systems are supported.

Continuous-time

• 

For a stable SISO linear system with transfer function G⁡s, the H∞ norm is defined in the frequency domain as:

  

‖G‖∞ = supω∈ℝ⁡G⁡jω

• 

For a MIMO linear system with transfer function Matrix G⁡s, the definition of H∞ norm in the frequency domain is generalized to:

  

‖G‖∞ = supω∈ℝ⁡σmax⁡G⁡j⁢ω

  

where σmax is the maximum singular value.

• 

In the time domain, the H∞ norm of a transfer function is calculated assuming that the stable transfer function G⁡s has a state-space representation:

  

x.=Ax+Bw

  

y=Cx+Dw

  

where: A ∈ ℝn×n, B ∈ ℝn×m, C ∈ ℝp×n, and D ∈ ℝp×m, and n, m, and p are the number of states, inputs and outputs of the linear system respectively.

  

G⁡s=Y⁡sW⁡s and G⁡s=C. sI−A−1. B+D, with A stable (all eigenvalues of A have a negative real part).

  

Then the H∞ norm of the transfer function Matrix G⁡s is ‖G‖∞<γ for some 0<γ, not equal to a singular value of Matrix D, if and only if σmax⁡H<γ has no eigenvalues on the imaginary axis. The Matrix H is defined as:

  

Hγ = A−BR−1DTC−&gamma;BR−1BT&gamma;CTS−1C−AT+CTDR−1BT

  

where R=DT·D−γ2⁢Im and S=D·DT−γ2⁢Ip (subscripts m and p indicate the dimensions of the respective identity Matrices).

Discrete-time

• 

For a stable SISO linear system with transfer function G⁡z, the H∞ norm is defined in the frequency domain as:

  

‖G‖∞ = sup0≤⁢ω<2⁢π⁡G⁡&ExponentialE;j⁢ω

• 

For a MIMO linear system with transfer function Matrix G⁡z, the definition of H∞ norm in the frequency domain is generalized to:

  

‖G‖∞ = sup0≤⁢ω<2⁢π⁡σmax⁡G⁡&ExponentialE;j⁢ω

  

where σmax is the maximum singular value.

• 

In the time domain, the H∞ norm of a transfer function is calculated assuming that the stable transfer function G⁡z has a state-space representation:

  

x⁡k+1=Ax⁡k+Bw⁡k

  

y⁡k=Cx⁡k+Dw⁡k

  

so that G⁡z=Y⁡zW⁡z and G⁡z=C. zI−A−1. B+D, with A stable (all eigenvalues of A have a magnitude less than 1).

• 

The H∞ norm of the transfer function Matrix G⁡z is calculated using the bilinear transformation, since the H∞ norm for a discrete-time LTI system is preserved in the continuous-time domain under such transformation.

• 

The H∞ norm provides a measure of the worst-case system gain, i.e., the largest factor by which any sinusoidal input is magnified by the system. For instance, the H∞ norm of the transfer function G from w (disturbance input) to y (output) provides a measure of the worst-case influence of the noise w on the output y of an LTI system.

• 

For a SISO linear system, the H∞ norm is the maximum gain of the frequency response of the system. In an analogous way, for a MIMO linear system, the H∞ norm is the maximum gain across all inputs and outputs of the system.

• 

The H∞ norm of G equals the peak value on the Bode magnitude plot of G. It also equals the distance from the origin to the farthest point on the Nyquist plot of G.

• 

The H∞ norm is finite if and only if the transfer function G is proper (degree of denominator greater than or equal to degree of numerator) and has no poles on the imaginary axis (continuous-time) or on the unit circle (discrete-time).

Examples

> 

with⁡DynamicSystems&colon;

Example 1 : Find the H∞ norm of a continuous-time system.

> 

sys1≔TransferFunction⁡100s+5&colon;

> 

PrintSystem⁡sys1

Transfer Functioncontinuous1 output(s); 1 input(s)inputvariable&equals;u1⁡soutputvariable&equals;y1⁡stf1,1&equals;100s+5

(1)
> 

hinfnorm1≔NormHinf⁡sys1&comma;10−10

hinfnorm1≔20.00000000

(2)
> 

MagnitudePlot⁡sys1&comma;decibels=false&comma;range=0.001..100

> 

mag≔MagnitudePlot⁡sys1&comma;decibels=false&comma;range=0.001..100&comma;output=data&colon;

> 

Hinfgraph≔max⁡mag⁡1..−1&comma;2..2

Hinfgraph≔19.9999996000000

(3)

Example 2: Find the H∞ norm of the system given by the following differential equation. Show the peak frequency and the norm in that order.

> 

sys2≔DiffEquation⁡diff⁡diff⁡x⁡t&comma;t&comma;t=−10⁢x⁡t−diff⁡x⁡t&comma;t+w⁡t&comma;w⁡t&comma;x⁡t&colon;

> 

PrintSystem⁡sys2

Diff. Equationcontinuous1 output(s); 1 input(s)inputvariable&equals;w⁡toutputvariable&equals;x⁡tde&equals;&DifferentialD;2&DifferentialD;t2x⁡t=−10⁢x⁡t−&DifferentialD;&DifferentialD;tx⁡t+w⁡t

(4)
> 

hinfnorm2≔NormHinf⁡sys2&comma;output=peakfreq&comma;norm

hinfnorm2≔3.08220698300548&comma;0.320256627866482

(5)
> 

MagnitudePlot⁡sys2&comma;decibels=false

> 

mag≔MagnitudePlot⁡sys2&comma;decibels=false&comma;output=data&colon;

> 

member⁡max⁡mag⁡1..−1&comma;2..2&comma;mag⁡1..−1&comma;2..2&comma;p&colon;fHinf≔mag⁡p

fHinf≔3.079785057

(6)
> 

Hinfgraph≔max⁡mag⁡1..−1&comma;2..2

Hinfgraph≔0.320252649756933

(7)

Example 3 : Find the H∞ norm of a continuous state-space MIMO system.

> 

sys3≔StateSpace⁡0&comma;0&comma;−3|1&comma;0&comma;−4|0&comma;1&comma;−7&comma;0&comma;0&comma;1&comma;1|0|0&comma;Matrix⁡1&comma;1&colon;

> 

PrintSystem⁡sys3

State Spacecontinuous1 output(s); 1 input(s); 3 state(s)inputvariable&equals;u1⁡toutputvariable&equals;y1⁡tstatevariable&equals;x1⁡t&comma;x2⁡t&comma;x3⁡ta&equals;010001−3−4−7b&equals;001c&equals;100d&equals;0

(8)
> 

hinfnorm3≔NormHinf⁡sys3&comma;output=norm&comma;peakfreq

hinfnorm3≔0.451322261502234&comma;0.559605319105211

(9)
> 

MagnitudePlot⁡sys3&comma;decibels=false

> 

mag≔MagnitudePlot⁡sys3&comma;decibels=false&comma;output=data&colon;

> 

Hinfgraph≔max⁡mag⁡1..−1&comma;2..2

Hinfgraph≔0.451320291397442

(10)
> 

member⁡Hinfgraph&comma;mag⁡1..−1&comma;2..2&comma;p&colon;fHinf≔mag⁡p

fHinf≔0.5590478459

(11)

Example 4: Find the H∞ norm of a continuous transfer function G(s) with .1% of tolerance.

> 

sys4≔TransferFunction⁡Matrix⁡1s3+s2+5⁢s+2&comma;ss3+s2+5⁢s+2&comma;s2s3+s2+5⁢s+2&colon;

> 

PrintSystem⁡sys4

Transfer Functioncontinuous3 output(s); 1 input(s)inputvariable&equals;u1⁡soutputvariable&equals;y1⁡s&comma;y2⁡s&comma;y3⁡stf1,1&equals;1s3+s2+5⁢s+2tf2,1&equals;ss3+s2+5⁢s+2tf3,1&equals;s2s3+s2+5⁢s+2

(12)
> 

hinfnorm4≔NormHinf⁡sys4&comma;0.001&comma;output=norm&comma;peakfreq

hinfnorm4≔1.89966130541915&comma;2.180899209

(13)
> 

MagnitudePlot⁡sys4&comma;decibels=false

> 

mag≔MagnitudePlot⁡sys4&comma;decibels=false&comma;output=data&colon;

> 

Hinfgraph≔max⁡mag⁡1..−1&comma;2..2

Hinfgraph≔1.69438112239631

(14)
> 

member⁡Hinfgraph&comma;mag3⁡1..−1&comma;2..2&comma;p&colon;fHinf≔mag3⁡p

fHinf≔2.184166359

(15)

Example 5: Find the H∞ norm of a continuous transfer function matrix.

> 

sys5≔TransferFunction⁡Matrix⁡1s2+s+4&comma;0&comma;0&comma;1s2+s+4&colon;

> 

PrintSystem⁡sys5

Transfer Functioncontinuous2 output(s); 2 input(s)inputvariable&equals;u1⁡s&comma;u2⁡soutputvariable&equals;y1⁡s&comma;y2⁡stf1,1&equals;1s2+s+4tf2,1&equals;0tf1,2&equals;0tf2,2&equals;1s2+s+4

(16)
> 

hinfnorm5≔NormHinf⁡sys5&comma;output=norm&comma;peakfreq

hinfnorm5≔0.516398295858964&comma;1.87082283018653

(17)
> 

MagnitudePlot⁡sys5&comma;decibels=false

> 

mag≔MagnitudePlot⁡sys5&comma;decibels=false&comma;output=data&colon;

> 

Hinfgraph≔max⁡mag⁡1..−1&comma;2..2

Hinfgraph≔0.516350854134402

(18)
> 

member⁡Hinfgraph&comma;mag1⁡1..−1&comma;2..2&comma;p&colon;fHinf≔mag1⁡p

fHinf≔1.863838004

(19)

Example 6: Find the H∞ norm of a continuous state-space SISO system.

> 

sys6≔StateSpace⁡Matrix⁡0&comma;1&comma;−25&comma;−0.1&comma;Matrix⁡0&comma;1&comma;Matrix⁡1&comma;0&comma;Matrix⁡0&colon;

> 

PrintSystem⁡sys6

State Spacecontinuous1 output(s); 1 input(s); 2 state(s)inputvariable&equals;u1⁡toutputvariable&equals;y1⁡tstatevariable&equals;x1⁡t&comma;x2⁡ta&equals;01−25−0.1b&equals;01c&equals;10d&equals;0

(20)
> 

hinfnorm6≔NormHinf⁡sys6&comma;output=norm&comma;peakfreq

hinfnorm6≔2.00010200760040&comma;4.99949995099030

(21)
> 

MagnitudePlot⁡sys6&comma;decibels=false

> 

mag≔MagnitudePlot⁡sys6&comma;decibels=false&comma;output=data&colon;

> 

Hinfgraph≔max⁡mag⁡1..−1&comma;2..2

Hinfgraph≔1.99995097863956

(22)
> 

member⁡Hinfgraph&comma;mag⁡1..−1&comma;2..2&comma;p&colon;fHinf≔mag⁡p

fHinf≔5.000110374

(23)

Example 7 : Find the H∞ norm of a system with discrete-time transfer function shown below.

> 

sys7≔TransferFunction⁡10⁢2⁢z+110⁢z2+2⁢z+5&comma;discrete&comma;sampletime=0.1&colon;

> 

PrintSystem⁡sys7

Transfer Functiondiscrete; sampletime = .11 output(s); 1 input(s)inputvariable&equals;u1⁡zoutputvariable&equals;y1⁡ztf1,1&equals;20⁢z+1010⁢z2+2⁢z+5

(24)
> 

hinfnorm7≔NormHinf⁡sys7&comma;10−8&comma;output=norm&comma;peakfreq

hinfnorm7≔4.26497897082109&comma;17.0452791622670

(25)
> 

MagnitudePlot⁡sys7&comma;decibels=false&comma;range=0.01..πsys7:-sampletime

> 

mag≔MagnitudePlot⁡sys7&comma;decibels=false&comma;range=0.01..πsys7:-sampletime&comma;output=data&colon;

> 

Hinfgraph≔max⁡mag⁡1..−1&comma;2..2

Hinfgraph≔4.289843575

(26)
> 

member⁡Hinfgraph&comma;mag⁡1..−1&comma;2..2&comma;p&colon;fHinf≔mag⁡p

fHinf≔16.66285136

(27)

Example 8 : Find the H∞ norm of a system with discrete-time transfer function shown below.

> 

sys8≔TransferFunction⁡5&comma;−14.2&comma;14.4&comma;−5&comma;5&comma;−12.1&comma;10&comma;−2.7&comma;discrete&comma;sampletime=0.5&colon;

> 

PrintSystem⁡sys8

Transfer Functiondiscrete; sampletime = .51 output(s); 1 input(s)inputvariable&equals;u1⁡zoutputvariable&equals;y1⁡ztf1,1&equals;5.⁢z3−14.20000000⁢z2+14.40000000⁢z−5.5.⁢z3−12.10000000⁢z2+10.⁢z−2.700000000

(28)
> 

hinfnorm8≔NormHinf⁡sys8&comma;output=norm&comma;peakfreq

hinfnorm8≔4.63571003774221&comma;0.615651253991576

(29)
> 

MagnitudePlot⁡sys8&comma;decibels=false&comma;range=0.01..πsys8:-sampletime

> 

mag≔MagnitudePlot⁡sys8&comma;decibels=false&comma;range=0.01..πsys8:-sampletime&comma;output=data&colon;

> 

Hinfgraph≔max⁡mag⁡1..−1&comma;2..2

Hinfgraph≔4.635634989

(30)
> 

member⁡Hinfgraph&comma;mag⁡1..−1&comma;2..2&comma;p&colon;fHinf≔mag⁡p

fHinf≔0.6152990634

(31)

References

  

S. Boyd, V. Balakrishnan, P. Kabamba, On computing the H∞ norm of a transfer matrix, 1988.

  

N. A. Bruinsma, M. Steinbuch, A fast algortihm to compute the H∞-norm of a transfer function matrix, 1990.

Compatibility

• 

The DynamicSystems[NormHinf] command was introduced in Maple 18.

• 

For more information on Maple 18 changes, see Updates in Maple 18.

See Also

DynamicSystems

DynamicSystems[MagnitudePlot]

DynamicSystems[NormH2]

DynamicSystems[ToContinuous]