%Regler mit Polvorgabe
p1 = [-3; -4; -5+2j; -5-2j];
rT1 = acker(A,b,p1);
Ar1 = A - b * rT1; % Zusammenbau des Systems
Kf1 = inv(cT*inv(-A+b*rT1)*b); % Berechnung des Vorfilters
SYSrKf1 = ss(Ar1,b*Kf1,cT,d); % Simulation des Gesammtsystems
%% Kalman-Beobachter
Q=1;
R=1;
N=0;
[kest,L,P] = kalman(SYSrKf1,Q,R,N);
B = (place(A',cT',L))';
% Zusammenbau des Systems
Ab = A;
bb = b;
cTb = cT;
Arb = [A -b*rT1; B*cT Ab-B*cTb-bb*rT1];
brb = [b; bb];
cTrb = [cT 0000];
drb = d;
% Simulation des Gesamt-Systems % (Strecke+Regler+Vorfilter+Beobachter)
SYSrb2 = ss(Arb,brb*Kf1,cTrb,drb);
Der Beobachter erzielt damit ziemlich gute ergebnisse.
Was denkt ihr dazu? Wäre sehr froh wenn mir es jemand bestätigen könnte
lg muel
_________________
Liefert mir die Funktion kalman direkt die Werte mit welchen ich durch Polplatzierung den Beobachter entwerfen darf?
Die Funktion Kalman liefert dir mit dem Rückgabeparameter L die Kalman-Verstärkung, nicht die Pole des Systems.
Das kannst du auch gut nachvollziehen wenn du in deinem System wenn du folgendes am Ende ergänzt (du musst natürlich die gleiche Systemmatrix zur Berechnung nehmen):
Ah ... Jetzt wirds klar!
Vielen Dank!
_________________
sehen um vorauszusehen
Einstellungen und Berechtigungen
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.