Z-Trafo - Koeffizienten nach Integer

OP #7093008
Hi,

Ich versuche einen diskreten Regler zu implementieren, welcher die 
Übertragungsfunktion wie im Anhang hat. Mein uC hat keine FPU (STM32 mit 
FPU sind im Moment praktisch alle nicht mehr Verfügbar) und ich möchte 
die Koeffizienten so anpassen, dass ich alles in Integer rechnen kann.

Im Moment ist der Eingang die Leistung in W und der Ausgang die 
Temperatur in °C und ich kann natürlich auch Eingang und Ausgang 
skalieren, aber nur bis auf Integers. Jemand eine Idee, wie ich die 
Koeffizienten skalieren kann, ohne das Regelverhalten zu beeinflussen 
und keine Floating Point Operationen ausführen muss?
Angehängte Dateien:
Bert S. schrieb:
> Mein uC hat keine FPU (STM32 mit
> FPU sind im Moment praktisch alle nicht mehr Verfügbar) und ich möchte
> die Koeffizienten so anpassen, dass ich alles in Integer rechnen kann.

Rechne erstmal in Float und guck, ob Deine Wiederholrate ausreicht. Die 
Chancen sind sehr gut, dass Du angenehm überrascht sein wirst - vor 
allem bei festen Koeffizienten (Horner-Schema).

BTDT.

Sollte es nicht reichen, kannst Du die float-Implementierung immer noch 
zum Gegentesten brauchen.
OP
Walter T. schrieb:
> Rechne erstmal in Float und guck, ob Deine Wiederholrate ausreicht. Die
> Chancen sind sehr gut, dass Du angenehm überrascht sein wirst - vor
> allem bei festen Koeffizienten (Horner-Schema).

Ok, da hast du recht, ich probiere es mal aus. Es wäre aber schon 
spannend, wie man diese Koeffizienten skalieren kann. Habe bereits in 
Octave ein wenig ausprobiert, aber die a-Koeffizienten kann ich nicht 
skalieren.
Gast
Bei einer Temperaturregelung ist die Wahrscheinlichkeit Recht hoch, dass 
es sich so geht, was ist denn deine Regelfrequenz?

Ansonsten zerlegt man auch gerne ein Filter in mehrere Teilfilter 
zweiter Ordnung. Diese lassen sich dann auch besser in Fixed Point 
umwandeln.
Gast
Mich würde ja erstmal interessieren, was aus der ursprünglichen
Regelung geworden ist.

Hat es funktioniert, suchst Du noch Probleme oder pausiert das Projekt?

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 4 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.