WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Parameter-Schätzung bei System mit einer Nullstelle

 

Max Maurer

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 12.08.2015, 14:21     Titel: Parameter-Schätzung bei System mit einer Nullstelle
  Antworten mit Zitat      
Hallo,

ich hab im Rahmen meiner Bachelorarbeit die Aufgabe die Verstärkung eines unbekannten Systems zu bestimmen.

Dazu habe (zu Testzwecken) ein Simulink-Modell des Prozesses. Ich gebe in Eingangssignal auf das Modell und "messe" den Ausgang. Aus beiden Signalen soll nun die Verstärkung des Systems geschätzt werden. Bekannt ist nur, dass das System 3. Ordnung ist.

Meine Methode funktioniert auch gut, sofern das Modell ein P-T3-Glied ist. Sobald das System aber eine Nullstelle besitzt, funktioniert sie nicht mehr, wenn ich als Testsignal weißes Rauschen verwende. Ein Sinus als Testsignal funktioniert weiterhin.

Meine Methode funktioniert folgendermaßen:

1. Aufstellen der Matrizen
2. Bestimmen der Parameter b0 .. b3 und a1 ... a3 der angenommenen Z-Übertragungsfunktion.
3. Über den Endwertsatz der z-Transformation kann ich dann mit den Parametern meine Verstärkung berechnen

Hier der Code

Code:

%Y: Ausgang Y0 = Y[k]; Y1 = Y [k-1] etc.
%U: Eingang U0 = U[k]; U1 = U [k-1] etc.
 A = [-Y1, -Y2, -Y3, U0, U1, U2, U3 ];
 B = Y0;
       
 x = A\B; %Parameter-Schätzung
 
a1 = x(1);
a2 = x(2);
a3 = x(3);
b0 = x(4);
b1 = x(5);
b2 = x(6);
b3 = x(7);


K = (b0 + b1 + b2 + b3) / (1 + a1 + a2 + a3)

 


Wenn mein Simulinkmodell ein PT3 ist funktioniert das auch wunderbar. nur sobald eine Nullstelle im Spiel ist, kommt nur Mist raus. Das Ergebnis schwankt mit jedem neu generiertem Rauschen (ich nutz die Matlab Funktion wgn)

Wo liegt mein Fehler?

Gruß


GoldStandard
Forum-Anfänger

Forum-Anfänger


Beiträge: 24
Anmeldedatum: 27.06.15
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 25.08.2015, 08:24     Titel:
  Antworten mit Zitat      
Hey,

du wandelst nicht zufällig anschließend noch in das kontinuierliche um? Weil da kenne ich die Fehler, dass mit 'zoh' oder der 'tustin' Approximation Probleme auftreten, falls die Pole in der Nähe von 0 oder -1 sind. Hast du bei Mathworks schon mal nach Fehlern gesucht, bzw. hast du schon eine Lösung, mich interessiert das ganze auch.

Grüße
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

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
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2024 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

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.