Übertragungsfunktion aus sweep bestimmen

OP #2095309
Lesenswert?

Hallo,
Zuerst einmal ein großes Lob an dieses Forum. ich habe mich gerade erst 
angemeldet aber bereits häufig gute Tips gefunden.

Nun habe ich ein Problem, für das ich leider keine Lösung finde.

Ich habe eine Messreihe aufgenommen. Dabei habe ich ein mechanisches 
System mit einem Sinus-Sweep-Signal angeregt. Gemessen habe ich den 
Ausgang des Systems. Mein Ziel ist es jetzt aus den Messwerten die 
Übertragungsfunktion zu bestimmen die nach möglichkeit stabil und 
invertierbar sein sollte.

Zuerst habe ich die "System identification Toolbox" von Matlab 
verwendet. Diese Toolbox liefert mir auch viele schöne arx oder n4sid 
Modelle. leider jedoch alle nicht stabil und invertierbar.

Mein Gedanke war jetzt die Methode der kleinsten Fehlerquadrate 
anzuwenden. Hier hört es leider mit meinem Verständnis ein wenig auf. 
Was muss ich denn genau annähern?

Ich habe versucht G=fft(Ausgang)./fft(Eingang) dann erhalte ich einen 
Vektor mit zahlreichen komplexen Einträgen. Kann ich aus diesen 
Einträgen die Übertragungsfunktion annähern?

Viel habe ich schon darüber gelesen, dass man das System zur 
Systemidentification lieber mit einem Rechtecksignal anregen sollte. Das 
ist mir leider nicht möglich, da so das System zerstört werden würde.

Vielleicht könnt Ihr mir weiterhelfen
OP #2100238
Lesenswert?

Soo... ich habe nochmal ein bisschen weiter versucht und jetz mit der 
Methode der kleinsten Fehlerquadrate folgende Übertragungsfunktion 
angenähert:

Transfer function:

0.01995 z^5 + 0.0231 z^4 + 0.1962 z^3 + 0.06428 z^2 + 0.02985 z + 
0.001591
------------------------------------------------------------------------ 
--
      z^5 - 0.815 z^4 + 0.6934 z^3 - 0.4193 z^2 - 0.2116 z + 0.1136

Sampling time: 5e-005

Daraus ergeben sich folgende Polstellen und Nullstellen

poleG =

   0.0610 + 0.9150i
   0.0610 - 0.9150i
  -0.4579
   0.7656
   0.3852


zeroG =

  -0.4150 + 3.0384i
  -0.4150 - 3.0384i
  -0.1341 + 0.3527i
  -0.1341 - 0.3527i
  -0.0595

Mein Problem ist jetzt nur, dass ich die Funktion weder kausal 
invertieren kann noch ist sie stabil. Gibt es irgendwie noch einen 
anderen Trick wie ich diese Funktion stabil gestalten kann bzw. 
invertieren kann?

hoffentlich kann mir jemand helfen.

mit freundlichen Grüßen
Christoph

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren