Structured Uncertainty Block diagonal
Example 5.8 0.1 δ 0.1, 1 δ 1 1 2
error : N yw ( s)
Example 5.9
The Structured Singular Value and Stability Robustness
Assume nominal closed-loop system N(s) is stable Any unstable pole of this system are caused by closing the loop through perturbation and are the solution of Stability robustness may be evaluated by the size of the smallest perturbation that results in a pole in RHP(destabilizing perturbation).
( jω) : any perturbation(with the appropriate block structure )that place a pole at a specific point jω. [ j ] σ ( ω) : the size of ( jω)
A system is robustly stable if and only if the smallest destabilizing perturbation is greater than 1 We assumed 1. So if the smallest destabilizing perturbation is greater than 1, the system is always stable for any 1, If NOT, we can always find the destabilizing perturbation which is less than or equal to 1.
Structured Singular Value
Upper bounds Bounds on SSV
Conservative bound. Too loose.
Example 5.10
µ ( N ) = 1 min max 1, 1 1+ 2 1 1
Example 5.12
% Example 5.12. Robust stability evaluation using the structured % singular value. clear % Define the state model for the transfer function Mydwd. A=[ 0 1 0 0-350 1-3e6 0-55]; B=[0 0 0 0 0 1 1 1 0]; C=[-3e5 0 0 0 0 5 0 50 0]; D=zeros(3); % Generate the frequency response for this system. w=logspace(0,3); M11=pck(A,B,C,D); fr=frsp(m11,w);
% Compute the structured singular value from the frequency response. % Define the block structure. blk=ones(3,2); % Compute the SSV. mum=mu(fr,blk); % Plot the results. set(0,'defaultaxesfontname','times') set(0,'defaultaxesfontsize',16) set(0,'defaulttextfontname','times') figure(1) clf vplot('liv,lm',mum) xlabel('frequency (rad/sec)') ylabel('magnitude') grid % Compute the maximum of the SSV. maxmu=max(mum(:,1))
>> points completed... 1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17. 18.19.20.21.22.23.24.25.26.27.28.29.30.31.32.33.34.35. 36.37.38.39.40.41.42.43.44.45.46.47.48.49.50. maxmu = 0.8826 >> blk blk = >> 1 1 1 1 1 1
MATLAB2010 % Example 5.12. Robust stability evaluation using the structured % singular value. clear % Define the state model for the transfer function Mydwd. A=[ 0 1 0 0-350 1-3e6 0-55]; B=[0 0 0 0 0 1 1 1 0]; C=[-3e5 0 0 0 0 5 0 50 0]; D=zeros(3); % Generate the frequency response for this system. w=logspace(0,3); M11=ss(A,B,C,D); fr=frd(m11,w);
% Compute the structured singular value from the frequency response. % Define the block structure. blk=ones(3,2); % Compute the SSV. [mum, muinfo] =mussv(fr,blk); % Plot the results. set(0,'defaultaxesfontname','times') set(0,'defaultaxesfontsize',16) set(0,'defaulttextfontname','times') figure(1) clf %vplot('liv,lm',mum) P = bodeoptions; P.MagUnits = 'abs'; P.MagScale = 'log'; P.PhaseVisible = 'off'; bode(mum(:,1),'c',mum(:,2),'r',p) xlabel('frequency (rad/sec)') ylabel('magnitude') grid % Compute the maximum of the SSV. maxmu=max(frdata(mum(:,1))) MATLAB2010
10 0 Bode Diagram Magnitude (abs) 10-1 10-2 10 0 10 1 10 2 10 3 Frequency (rad/sec) (rad/sec) points completed (of 50)... 50 maxmu = 0.8825
Additional Properties of SSV
µ ( N) σ ( N)
Performance Robustness
Example 5.13
H( jω) W( jω) 1 10 ω 10 W( jω) = 0 ω > 10 1 H( jω) W( jω) W( jω) 150 = jω + 10
x = x 0.2 w + K( r x ) = ( 1 K) x 0.2w + Kr 1 1 d 1 1 x = 10x + 150( r x ) = 150x 10x + 150r 2 2 1 1 2 d
x 1 1 K 0 x1 0.2 K wd = + x 150 10 x 0 150 r 2 2 y 1 0 x1 e = w 0 1 x 2
% Example 5.13. Robust performance analysis using the structured % singular value. clear % Enter the controller gain. K=50; % Enter the nominal closed loop system. Acl=[-1-K 0-150 -10]; Bcl=[-0.2 K 0 150]; Ccl=[1 0 0 1]; M=pck(Acl,Bcl,Ccl,zeros(2)); % Compute the frequency response of the nominal closed loop system. w=logspace(0,2,30); fr=frsp(m,w);
% Compute the SSV from the frequency reponse. blk=ones(2); bnds=mu(fr,blk); % Plot the results. set(0,'defaultaxesfontname','times') set(0,'defaultaxesfontsize',16) set(0,'defaulttextfontname','times') figure(1) clf vplot('liv,m',bnds) axis([1 100 0 2.5]) xlabel('frequency (rad/sec)') ylabel('ssv') grid
MATLAB2010 % Example 5.13. Robust performance analysis using the structured % singular value. clear % Enter the controller gain. K=50; % Enter the nominal closed loop system. Acl=[-1-K 0-150 -10]; Bcl=[-0.2 K 0 150]; Ccl=[1 0 0 1]; M=ss(Acl,Bcl,Ccl,zeros(2)); % Compute the frequency response of the nominal closed loop system. w=logspace(0,2,30); fr=frd(m,w);
% Compute the SSV from the frequency reponse. blk=ones(2); bnds=mussv(fr,blk); % Plot the results. set(0,'defaultaxesfontname','times') set(0,'defaultaxesfontsize',16) set(0,'defaulttextfontname','times') figure(1) clf %vplot('liv,m',bnds) P = bodeoptions; P.Title.String = 'SSV plot'; P.MagUnits = 'abs'; P.MagScale = 'linear'; P.PhaseVisible = 'off'; P.XLim = {[1 100]}; P.YLim = {[0 2.5]}; P.Grid = 'on'; P.YLabel.String = {'SSV' ''}; bode(bnds(:,1),'r',bnds(:,2),'g',p) MATLAB2010
2.5 SSV plot 2 1.5 SSV (abs) 1 0.5 0 10 0 10 1 10 2 Frequency (rad/sec)