% Entwurf einer Zustandsregelung
%
%Abschlussarbeit
%Simulation – und Regelung einer permanent-magneterregten Synchronmaschine mit Hilfe von MatLab/Simulink
%
% Von Nikolai Isaak, 31.01.2012



clear all

%öffnen des PMSM-Modells
PMSM

% Generierung des Zustandsmodells aus der bekannten PMSM

[A,B,C,D]=linmod('PMSM');
pmsmz=ss(A,B,C,D);
%ltiview(pmsmz)             %Anzeige für Bode,Sprungantwort, etc.

% Steuerbarkeit und Beobachtbarkeit überprüfen

Qs=ctrb(A,B);
Qb=obsv(A,C);
rankQs=rank(Qs);
rankQb=rank(Qb);

%Polstellen der Strecke bestimmen und Polstellen für die Rückführmatrix
%ermitteln
p=pole(pmsmz);

%iopzmap(pmsmz)
%sgrid

% Rückführmatrix K, Beobachtungsmatrix L und Zustandsregler erstellen
K=place(A,B,p);
L=place(A,C,p);
Rpmsmz=reg(pmsmz,K,L);

%Berechnung des Vorfilters V

V=(C*(B*K-A)'*B)';

