Forum: Digitale Signalverarbeitung / DSP / Machine Learning Digitaler Regelkreis: Identifikation, Arduino


von X. A. (wilhem)


Lesenswert?

Moin,
ich habe folgendes Problem. Mit meinem Arduino möchte ich einen 
digitalen Regler entwickeln. Bei einer bestimmten Abtastfrequenz werden 
Daten (Orientierung aus einer IMU) eingelesen. Dazu brauche ich ein 
„Modell“ der Regelstrecke, die ich regeln möchte, damit ich es zuerst 
mit Matlab die einzustellenden Parameter berechnen kann. Daher hatte ich 
die Idee, meine Regelstrecke an dem Arduino anzuschließen, durch eine 
Sprungfunktion anzuregen und dessen Sprungantwort über Serialport 
einzulesen.

Durch die Folge der Sprungfunktion:
erhalte ich also die Folge:

Frage: wie kriege ich jetzt der Regelstrecke entsprechend 
Z-Übertragungsfunktion?

Soll ich einfach den Satz:

anwenden?

Gruß

: Bearbeitet durch User
von rava (Gast)


Lesenswert?

du hast die Sprungantwort eines zeitkontinuierlichen Systems zeitdiskret 
aufgenommen und suchst jetzt das Übertragungsverhalten (kontinuierliche 
Impulsantwort im Frequenzbereich).

das "Abtasttheorem nach Shannon" sagt dir, dass die Daten bandbegrenzt 
sind. Es war also sinnvoll die Daten vor der Digitalisierung 
tiefpasszufiltern.


Es gibt jetzt mehrere Möglichkeiten, vorzugehen.

Du kannst die kontinuierliche Sprungantwort rekonstruieren
http://de.wikipedia.org/wiki/Nyquist-Shannon-Abtasttheorem#Rekonstruieren_ohne_Informationsverlust
über Ableitung bekommst du die Impulsantwort
und über laplace Transformation bekommst du die Übertragungsfunktion

Oder du gehst sofort zur zeitdiskreten Impulsantwort über und 
transformierst diese direkt, beispielsweise mit der 
Tustin-Transformation 
(http://de.wikipedia.org/wiki/Bilineare_Transformation_%28Signalverarbeitung%29)

wie die Genauigkeitsunterschiede sind, weiß ich allerdings nicht.


Möglicherweise genügt dir auch ein zeitdiskretes Modell für einen 
zeitdiskreten Reglerentwurf. Ist allerdings nicht so mein Gebiet. Warte 
mal auf weitere Stimmen.

von X. A. (wilhem)


Lesenswert?

Hallo rava

prinzipiell hast du recht. Angenommen, meinen Sensor kann/darf ich zu 
jedem beliebigen Zeitpunkt abfragen, dann schreibe ich für mein Arduino 
ein Top-Programm , mit dem ich, mithilfe einer schnellen Abtastfrequenz, 
meine Regelstrecke erprobe. Verbinde ich die "vielen" Punkte zusammen, 
erhalte ich eine "quasi-kontinuerliche" Kurve, die ich durch 
mathematisches Mittel in eine Laplace-Transformation übertragen kann.

Ok.

Sollte aber die Abtastfrequenz nicht so schnell sein, dann kann ich kein 
kontinuerliches System analysieren, da dieses durch keine 
Übertragungsfunktion in S-Ebene umformuliert werden kann. Die Ahnäherung 
gilt nicht mehr. Daher muss ich einen diskreten Regler niedriger Ordnung 
meines meines Systems zu reglen.

Mit meinem Arduino frage ich (mit max 200 Hz Abtastsfrequenz) meine IMU 
ab. Arduino und die IMU sind beide zeitdiskrete Systeme. Eine Ahnärung 
mit einem kontinuerlichen Regler ist daher unmöglich.
Ich muss also aus einer Treppenfunktion mein System beschreiben.
Die Regelstrecke identifizieren!

Hilfe?!??!

: Bearbeitet durch User
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.