]> Creatis software - CreaPhase.git/blob - octave_packages/control-2.3.52/Anderson.m
Add a useful package (from Source forge) for octave
[CreaPhase.git] / octave_packages / control-2.3.52 / Anderson.m
1 %% -*- texinfo -*-
2 %% Frequency-weighted coprime factorization controller reduction.
3
4 % ===============================================================================
5 % Coprime Factorization Controller Reduction     Lukas Reichlin     December 2011
6 % ===============================================================================
7 % Reference: Anderson, B.D.O.: Controller Reduction: Concepts and Approaches
8 %            IEEE Transactions of Automatic Control, Vol. 34, No. 8, August 1989
9 % ===============================================================================
10
11 % Tabula Rasa
12 clear all, close all, clc
13
14 % Plant
15 A = [ -0.161      -6.004      -0.58215    -9.9835     -0.40727    -3.982       0.0         0.0
16        1.0         0.0         0.0         0.0         0.0         0.0         0.0         0.0
17        0.0         1.0         0.0         0.0         0.0         0.0         0.0         0.0
18        0.0         0.0         1.0         0.0         0.0         0.0         0.0         0.0
19        0.0         0.0         0.0         1.0         0.0         0.0         0.0         0.0
20        0.0         0.0         0.0         0.0         1.0         0.0         0.0         0.0
21        0.0         0.0         0.0         0.0         0.0         1.0         0.0         0.0
22        0.0         0.0         0.0         0.0         0.0         0.0         1.0         0.0     ];
23
24 B = [  1.0
25        0.0  
26        0.0  
27        0.0  
28        0.0  
29        0.0  
30        0.0  
31        0.0 ];
32
33 C = [  0.0         0.0         6.4432e-3   2.3196e-3   7.1252e-2   1.0002      0.10455     0.99551 ];
34
35 G = ss (A, B, C);
36
37 % LQG Design
38 H = [  0.0         0.0         0.0         0.0         0.55       11.0         1.32       18.0     ];
39
40 q1 = 1e-6;
41 q2 = 100;   % [100, 1000, 2000]
42
43 Q = q1 * H.' * H;
44 R = 1;
45
46 W = q2 * B * B.';
47 V = 1;
48
49 F = lqr (G, Q, R)
50 L = lqe (G, W, V)
51
52 % Coprime Factorization using Balanced Truncation Approximation
53 figure (1)
54 for k = 8:-1:2
55   Kr = cfconred (G, F, L, k);   % 'method', 'bfsr-bta'
56   T = feedback (G*Kr);
57   step (T, 200)
58   hold on
59 endfor
60 hold off
61
62 % Coprime Factorization using Singular Perturbation Approximation
63 figure (2)
64 for k = 8:-1:2
65   Kr = cfconred (G, F, L, k, 'method', 'bfsr-spa');
66   T = feedback (G*Kr);
67   step (T, 200)
68   hold on
69 endfor
70 hold off
71
72 % Frequency-Weighted Coprime Factorization using BTA
73 figure (3)
74 for k = 8:-1:2
75   Kr = fwcfconred (G, F, L, k);
76   T = feedback (G*Kr);
77   step (T, 300)
78   hold on
79 endfor
80 hold off