%% Parameterfiles fuer das Simulink Modell des elektrischen Systems.

% Widerstaende R1 und R2
R1 = 600;    % Widerstand in Ohm
R2 = 3500;   % Widerstand in Ohm

% Widerstandsverhaeltnis R4
K = 3;        % Spannungsverstärkung

% Kapazitaeten C1 und C2
C1_ref  = 9e-6;   % Referenz-Kapazitätswert auf Kennlinie von C1 in F
C1_inf  = 1e-9;   % Referenz-Kapazitätswert auf Kennlinie von C1 in F
UC1_ref = 3.5;      % Referenz-Spannungswert auf Kennlinie von C1 in V
C2      = 1e-6;   % Kapazität in F

% Festlegung der Ruhelage
UeR = 5;
UsR = 5;

%% Eingangsspannung und Stoerspannung
% Sprungfoermige Eingangsspannung
te = .05;      % Einschaltzeitpunkt
Ue = 7;      % Endwert des Sprunges

% Sinusfoermige Eingangsspannung
Usinus = 1;    % Amplitude des Sinus    
we     = 1000; % Winkelfrequenz des Sinus   

% Rechteckfoermige Stoerspannung
ts1 = 0.03;     % Einschaltzeitpunkt   
ts2 = 0.11;     % Auschaltzeitpunkt  
Us = 4;      % Endwert des Sprunges

% Rampenförmige Störspannung
tsR1 = 0.05;    % Einschaltzeitpunkt
tsR2 = 0.10;  % Auschaltzeitpunkt  
dr = -10;      % Steigung


%% Modell des linearisierten Systems

% Aufgabe 1.4.4
% -------------
% Errechnen Sie die Ruhelage des Systems!
UC1R = ((-UsR*K - UeR*(K - 2))*R2 - UsR*R1*(K - 1))/(R1 + 2*R2);
UC2R = ((UsR + UeR)*R2 + R1*UsR)/(R1 + 2*R2);
UaR  = UC2R*K;

% Errechnen Sie für die gegebene Ruhelage die Ableitungen der in C1 
% gespeicherter Ladung Q1 nach der anliegenden Spannung!
dQ1  = (C1_inf*UC1R^2 + C1_ref*UC1_ref^2)/(UC1R^2 + UC1_ref^2);  % Erste Ableitung von Q1 nach UC1
ddQ1 = (2*UC1R*UC1_ref^2*(C1_inf-C1_ref))/((UC1R^2+UC1_ref^2)^2);    % Zweite Ableitung von Q1 nach UC1

% Ergaenzen Sie die Systemmatrix A (Asys), die Eingangsvektoren bu (busys)
% und bd (bdsys) sowie den Ausgangsvektor c (csys) und den Durchgriff d (dsys)
% für das linearisierte System!
A11 = ((-R1-R2)*(dQ1-ddQ1*UC1R)-ddQ1*((R1*(1-K)-R2*K)*UC2R+R2*UeR))/(R1*R2*dQ1^2);
A12 = (-R1*K-K*R2+R1)/(R1*R2*dQ1);
A21 = 1/(R2*C2);
A22 = (K-2)/(R2*C2);

Asys  = [A11,A12;A21,A22];
busys = [1/(R1*dQ1);0];
bdsys = [0;1/(R2*C2)];
csys  = [0 K];
dusys = [0];
ddsys = [0];

%% Uebertragungsfunktion G (Eingang u -> Ausgang y) und Uebertragungsfunktion Gd (Stoerung d -> Ausgang y)

% Aufgabe 1.4.4
% -------------
% Bestimmen Sie zunächst eine MISO- oder zwei SISO-Zustandsraum- 
% darstellungen mittels ss(). Anschließend koennen Sie in beiden Faellen
% die gesuchten Übertragungsfunktionen (G und Gd) mittels tf() bestimmen.

b = [busys,bdsys];
d = [dusys,ddsys];
sys = ss(Asys,b,csys,d, 'InputName', {'u','d'}, 'OutputName','y', 'StateName', {'uc1', 'uc2'});

trans = tf(sys);
G  = trans(1)
Gd = trans(2)

%% Verstaerkungsfaktor V, Daempfungsgrad xi und Zeitkonstante T von G

% Aufgabe 1.4.5
% -------------
% Bestimmen Sie den Verstaerkungsfaktor V, den Daempfungsgrad xi und die
% Zeitkonstante T der Übertragungsfunktion G. 

V  = 1.453/1.052;
T  = sqrt(1/1.052*10^(-6));
xi = 850/sqrt(1.052)*10^(-3);
%% Save Parameters
par.R1      = R1;
par.R2      = R2;
par.K       = K;
par.C1_ref  = C1_ref;
par.C1_inf  = C1_inf;
par.UC1_ref = UC1_ref;
par.C2      = C2;

par.x0 = [UC1R; UC2R];