RC circuit example, low-pass filter, state-space model

system dimension parameters

In [1]:
nb = 3;
nnm1 = 2;
ns = 1;
ni = 1;
#
nt = 2 * nb + nnm1;
no = nt - ns;

circuit parameters

In [2]:
R = 1e3;
C = 100e-6;

adjusted tableau matrix

In [3]:
T = [
 1  1  0  0  0  0  0  0  0  0
 0 -1  1  0  0  0  0  0  0  0 
 0  0  0  1  0 -1  0  0  0  0 
 0  0  0  0  1 -1  1  0  0  0 
 0  0  0  0  0  0 -1  0 -1  0
 0  0  0  1  0  0  0  0  0  1
 0 -R  0  0  1  0  0  0  0  0 
 0  0 -1  0  0  0  0  C  0  0
 ];

reduced row echelon form

In [4]:
Trref = rref(T)
Trref =

 Columns 1 through 7:

    1.00000    0.00000    0.00000    0.00000    0.00000    0.00000    0.00000
    0.00000    1.00000   -0.00000   -0.00000    0.00000    0.00000    0.00000
    0.00000    0.00000    1.00000    0.00000    0.00000    0.00000    0.00000
    0.00000    0.00000    0.00000    1.00000    0.00000    0.00000    0.00000
    0.00000    0.00000    0.00000    0.00000    1.00000    0.00000    0.00000
    0.00000    0.00000    0.00000    0.00000    0.00000    1.00000   -0.00000
    0.00000    0.00000    0.00000    0.00000    0.00000    0.00000    1.00000
    0.00000    0.00000    0.00000    0.00000    0.00000    0.00000    0.00000

 Columns 8 through 10:

    0.00000    0.00100   -0.00100
   -0.00000   -0.00100    0.00100
    0.00000   -0.00100    0.00100
    0.00000    0.00000    1.00000
    0.00000   -1.00000    1.00000
   -0.00000   -0.00000    1.00000
   -0.00000    1.00000   -0.00000
    1.00000  -10.00000   10.00000

extract state-space model matrices

In [5]:
if (Trref(nt, nt) == 1)
    A = Trref(no + 1 : nt, nt + 1 : nt + ns)
    B = Trref(no + 1 : nt, nt + ns + 1 : nt + ns + ni)
    C = Trref(1 : no, nt + 1 : nt + ns)
    D = Trref(1 : no, nt + ns + 1 : nt + ns + ni)
elseif
    disp('somethong wrong, possible algebraic degeneration')
endif
A = -10
B =  10
C =

   0.00100
  -0.00100
  -0.00100
   0.00000
  -1.00000
  -0.00000
   1.00000

D =

  -0.00100
   0.00100
   0.00100
   1.00000
   1.00000
   1.00000
  -0.00000

In [ ]:
save Ap1 A
save Bp1 B
save Cp1 C
save Dp1 D

find eigenfrequencies of the state-space model

In [6]:
poles = eig(A)
poles = -10
In [ ]:
save polesp1 poles