Z-Trafo - Koeffizienten nach Integer

#7093008
Lesenswert?

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:
#7093010
Lesenswert?

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.
#7093035
Lesenswert?

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.

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