DynamicSystems
NormHinf
Compute the H∞ norm of a linear system
Calling Sequence
Parameters
Options
Description
Examples
References
Compatibility
NormHinf(sys)
NormHinf(sys, eps)
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
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.
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−γBR−1BTγ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⁡ⅇ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⁡ⅇj⁢ω
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).
with⁡DynamicSystems:
Example 1 : Find the H∞ norm of a continuous-time system.
sys1≔TransferFunction⁡100s+5:
PrintSystem⁡sys1
Transfer Functioncontinuous1 output(s); 1 input(s)inputvariable=u1⁡soutputvariable=y1⁡stf1,1=100s+5
hinfnorm1≔NormHinf⁡sys1,10−10
hinfnorm1≔20.00000000
MagnitudePlot⁡sys1,decibels=false,range=0.001..100
mag≔MagnitudePlot⁡sys1,decibels=false,range=0.001..100,output=data:
Hinfgraph≔max⁡mag⁡1..−1,2..2
Hinfgraph≔19.9999996000000
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,t,t=−10⁢x⁡t−diff⁡x⁡t,t+w⁡t,w⁡t,x⁡t:
PrintSystem⁡sys2
Diff. Equationcontinuous1 output(s); 1 input(s)inputvariable=w⁡toutputvariable=x⁡tde=ⅆ2ⅆt2x⁡t=−10⁢x⁡t−ⅆⅆtx⁡t+w⁡t
hinfnorm2≔NormHinf⁡sys2,output=peakfreq,norm
hinfnorm2≔3.08220698300547,0.320256627866482
MagnitudePlot⁡sys2,decibels=false
mag≔MagnitudePlot⁡sys2,decibels=false,output=data:
member⁡max⁡mag⁡1..−1,2..2,mag⁡1..−1,2..2,p:fHinf≔mag⁡p
fHinf≔3.079785057
Hinfgraph≔0.320252649756933
Example 3 : Find the H∞ norm of a continuous state-space MIMO system.
sys3≔StateSpace⁡0,0,−3|1,0,−4|0,1,−7,0,0,1,1|0|0,Matrix⁡1,1:
PrintSystem⁡sys3
State Spacecontinuous1 output(s); 1 input(s); 3 state(s)inputvariable=u1⁡toutputvariable=y1⁡tstatevariable=x1⁡t,x2⁡t,x3⁡ta=010001−3−4−7b=001c=100d=0
hinfnorm3≔NormHinf⁡sys3,output=norm,peakfreq
hinfnorm3≔0.451322261502234,0.559605319105210
MagnitudePlot⁡sys3,decibels=false
mag≔MagnitudePlot⁡sys3,decibels=false,output=data:
Hinfgraph≔0.451320291397442
member⁡Hinfgraph,mag⁡1..−1,2..2,p:fHinf≔mag⁡p
fHinf≔0.5590478459
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,ss3+s2+5⁢s+2,s2s3+s2+5⁢s+2:
PrintSystem⁡sys4
Transfer Functioncontinuous3 output(s); 1 input(s)inputvariable=u1⁡soutputvariable=y1⁡s,y2⁡s,y3⁡stf1,1=1s3+s2+5⁢s+2tf2,1=ss3+s2+5⁢s+2tf3,1=s2s3+s2+5⁢s+2
hinfnorm4≔NormHinf⁡sys4,0.001,output=norm,peakfreq
hinfnorm4≔1.89966130541915,2.180899209
MagnitudePlot⁡sys4,decibels=false
mag≔MagnitudePlot⁡sys4,decibels=false,output=data:
Hinfgraph≔1.69438112239631
member⁡Hinfgraph,mag3⁡1..−1,2..2,p:fHinf≔mag3⁡p
fHinf≔2.184166359
Example 5: Find the H∞ norm of a continuous transfer function matrix.
sys5≔TransferFunction⁡Matrix⁡1s2+s+4,0,0,1s2+s+4:
PrintSystem⁡sys5
Transfer Functioncontinuous2 output(s); 2 input(s)inputvariable=u1⁡s,u2⁡soutputvariable=y1⁡s,y2⁡stf1,1=1s2+s+4tf2,1=0tf1,2=0tf2,2=1s2+s+4
hinfnorm5≔NormHinf⁡sys5,output=norm,peakfreq
hinfnorm5≔0.516398295858964,1.87082283018653
MagnitudePlot⁡sys5,decibels=false
mag≔MagnitudePlot⁡sys5,decibels=false,output=data:
Hinfgraph≔0.516350854134402
member⁡Hinfgraph,mag1⁡1..−1,2..2,p:fHinf≔mag1⁡p
fHinf≔1.863838004
Example 6: Find the H∞ norm of a continuous state-space SISO system.
sys6≔StateSpace⁡Matrix⁡0,1,−25,−0.1,Matrix⁡0,1,Matrix⁡1,0,Matrix⁡0:
PrintSystem⁡sys6
State Spacecontinuous1 output(s); 1 input(s); 2 state(s)inputvariable=u1⁡toutputvariable=y1⁡tstatevariable=x1⁡t,x2⁡ta=01−25−0.1b=01c=10d=0
hinfnorm6≔NormHinf⁡sys6,output=norm,peakfreq
hinfnorm6≔2.00010200760040,4.99949995099029
MagnitudePlot⁡sys6,decibels=false
mag≔MagnitudePlot⁡sys6,decibels=false,output=data:
Hinfgraph≔1.99995097863956
fHinf≔5.000110374
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,discrete,sampletime=0.1:
PrintSystem⁡sys7
Transfer Functiondiscrete; sampletime = .11 output(s); 1 input(s)inputvariable=u1⁡zoutputvariable=y1⁡ztf1,1=20⁢z+1010⁢z2+2⁢z+5
hinfnorm7≔NormHinf⁡sys7,10−8,output=norm,peakfreq
hinfnorm7≔4.26497897082109,17.0452791622670
MagnitudePlot⁡sys7,decibels=false,range=0.01..πsys7:-sampletime
mag≔MagnitudePlot⁡sys7,decibels=false,range=0.01..πsys7:-sampletime,output=data:
Hinfgraph≔4.289843575
fHinf≔16.66285136
Example 8 : Find the H∞ norm of a system with discrete-time transfer function shown below.
sys8≔TransferFunction⁡5,−14.2,14.4,−5,5,−12.1,10,−2.7,discrete,sampletime=0.5:
PrintSystem⁡sys8
Transfer Functiondiscrete; sampletime = .51 output(s); 1 input(s)inputvariable=u1⁡zoutputvariable=y1⁡ztf1,1=5.⁢z3−14.20000000⁢z2+14.40000000⁢z−5.5.⁢z3−12.10000000⁢z2+10.⁢z−2.700000000
hinfnorm8≔NormHinf⁡sys8,output=norm,peakfreq
hinfnorm8≔4.63571003774221,0.615651253991576
MagnitudePlot⁡sys8,decibels=false,range=0.01..πsys8:-sampletime
mag≔MagnitudePlot⁡sys8,decibels=false,range=0.01..πsys8:-sampletime,output=data:
Hinfgraph≔4.635634989
fHinf≔0.6152990634
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.
The DynamicSystems[NormHinf] command was introduced in Maple 18.
For more information on Maple 18 changes, see Updates in Maple 18.
See Also
DynamicSystems[MagnitudePlot]
DynamicSystems[NormH2]
DynamicSystems[ToContinuous]
Download Help Document