Hallo!

Hab mal wieder ein wenig Zeit mich mit der FFT zu beschäftigen und wollte diese für den mega644 in C programmieren jedoch wie der Titel schon sagt ohne Floatingpoint.
Möchte folgendermaßen vorgehen:
Da ich ja weiß das ich 1024 Werte aufnehme kann ich die benötigten Drehfaktoren schon vorher berechnen und in einer Tabelle ablegen. Entweder programmiere ich sie mir als Konstante oder lasse diese Tabelle bei einschalten des µC sozusagen als Initialisierung vorrechnen. Die eigentliche FFT-Funktion pickt sich dann die benötigten Ergebnisse raus usw.
Somit gibt es keinen Sin/Cos Berechnungen mehr, sondern Addition, Multiplikation und Subtraktion. Da das alles allerdings mit Floatinpoint laufen würde, wäre der µC seeehr langsam... Bräuchte jetzt einen Tip wie ich das ganze mit Ganzzahltypen also Integern lösen kann.
Wenn ich die Drehfaktorentabelle eben mit integern füllen würde, wäre der restliche Weg klar... Meine Idee ist z.B. den
Sin(0.5) = 0,479425538 rad
mit 1000 zu multiplizieren und den Rest hinter dem Komma abzuschneiden: 0,479425538 * 1000 = 479 --> Ergebnis ist ein Integer.
So wollte ich mit allen anderen Sin/Cos Berechnungen vorgehen. Am Ende wäre die Tabelle nur noch mit Integern gefüllt. Denke ich da in die richtige Richtung oder ist das falsch?

Grüße
Charly