Gast
#1915953
Hallo, ich habe mir für ein AHRS einen Kalman-Filter zusammengerechnet (auf Papier bis jetzt) und möchte diesen nun in einen STM32 gießen. Da der Filter aber 15 Zustände hat wird es mit der Rechnerei etwas heftig! Neben zahlreichen Vereinfachungen durch die Wahl der Algorithmen benötige ich natürlich unbedingt eine fixed point Darstellung aller meiner Größen im Code. Jetzt quälen mich zwei Unbekannte die ich noch bestimmen muss. Zum einen wäre da die Wahl des fixed point Formates, also bei 32 Bit Busbreite brauche ich schon mal sicher ein Bit als sign Bit bleiben 31 wie soll ich diese nun in fractional und integer Part aufteilen? Zum anderen (davon hängt auch essentiell die erste Frage ab!) stellt sich die Frage, wie groß ist die größte zu erwartende Zahl in meinem Kalman Filter??? Bei so vielen Divisionen/Multiplikationen/Inversionen... ist mir das ein Rätsel. Wenn ich dann innerhalb einer Kovarianzmatrix permanent einen Wert in der Begrenzung halte da mein Wertebereich zu klein ist und theoretisch ein Overflow passieren würde kann das Filter sicherlich schnell divergieren. Hat einer eine Herangehensweise wie man solche Probleme abschätzen kann. Eventuell kann man auf den benötigten Wertebereich schließen anhand der Eingangssignale und deren Bereiche (+- 1,5G; +-500°/s; ...)? Vielen Dank für jeglichen Hirnschmalz! Bene