Gast
#5219174
Guten Abend, ich habe gerade einen Knobelaufgabe, bei der ich gerade nicht weiter weiss. Ich habe zwei Variablen a und b (beide 64 Bit signed Integer), deren Differenz jederzeit klein genug ist, daß sie problemlos in eine 16-Bit-Integer-Variable passt, also auch problemlos in eine 32 Bit float-Variable. Sie wird auch als float weiterverarbeitet. Allerdings will ich vor der Differenzbildung den Zweig a mit einem IIR 1. Ordnung leicht filtern. Das Filter ist als float implementiert. Zweig b darf keinesfalls gefiltert werden. Durch die Filterung wird die Differenz der beiden Variablen tendenziell eher kleiner - zur Mantissengröße im 32-Bit-float habe ich weiterhin mehr als genügend Sicherheitsabstand. Das Ganze will ich möglichst effizient für einem ARM Cortex M4 implementieren. Die Variablen a und b passen zwar jeweils in die 52-Bit-Mantisse einer double-Variable, aber das wäre sozusagen die letzte Lösung. Mein Gefühl sagt mir, daß es eine relativ einfache Möglichkeit geben muss, den gefilterten und den ungefilterten Zweig in einen großen Integer- und einen kleinen Float-Teil aufzuspalten. Wer hilf mir, den gordischen Knoten zu zerschlagen? Viele Grüße W.T.
