Forum: Digitale Signalverarbeitung / DSP / Machine Learning Fragen zur FFT


von Mister_X Y. (c2000)


Lesenswert?

Im Studium machen wir gerade µC und die FFT. Dazu hab ich ein paar 
Fragen, evtl kann sie mir ja jemand beantworten.

1.Ich hab 128 Werte, wie viel RAM und Flash brauche ich denn dafür?
2.Bei Komplexer und Reeller FFT?
3.Wie viele Zyklen braucht die FFT Routine bis zum ende?
4.Unterschied komplex/reelle FFT?
5.Vorteile der komplexen FFT gegenüber Reeller?

Ich hoffe mir kann jemand bei den Fragen behilflich sein!

Danke im Vorraus.

: Verschoben durch Admin
von Martin (Gast)


Lesenswert?

... Studium ...

Wenn ich mir deinen Beitrag so anschaue, kommt bei mir die Frage auf: 
was machst du während der Vorlesungen?

von holger (Gast)


Lesenswert?

>Im Studium machen wir gerade µC und die FFT. Dazu hab ich ein paar
>Fragen, evtl kann sie mir ja jemand beantworten.

>1.Ich hab 128 Werte, wie viel RAM und Flash brauche ich denn dafür?

Kann man so nicht sagen. Was für Werte sind das? 8Bit, 16Bit, 32Bit.

>2.Bei Komplexer und Reeller FFT?

Was ist eine Reelle FFT? Ich kenn nur die komplexe.

>3.Wie viele Zyklen braucht die FFT Routine bis zum ende?

Kann man nicht sagen, hängt vom Prozessor ab.
Die einzige Konstante ist die Sampletime für 128 Werte.

>4.Unterschied komplex/reelle FFT?

?

>5.Vorteile der komplexen FFT gegenüber Reeller?

?

von Anja (Gast)


Lesenswert?

Hallo,

es gibt viel mehr Implementierungen der FFT als Du Dir vorstellen 
kannst.
Floating Point 32 Bit / Integer 16 Bit
Inplace (spart die hälfte an RAM)/ nicht Inplace

Reelle FFT bezieht sich meist nur auf die Eingangsdaten die Ergebnisse 
sind normalerweise immer komplex. Auf Grund der Symmetrie zur halben 
Abtastfrequenz lassen sich die Imaginäranteile bei einer reellen FFT in 
der oberen hälfte speichern.

Was Du jetzt an Speicher brauchst hängt im wesentlichen von der 
gewählten Optimierung ab. (Speicherplatz, Laufzeit, Datentyp usw.)

Gruß Anja

von Mister_X Y. (c2000)


Lesenswert?

Martin schrieb:
> ... Studium ...
>
> Wenn ich mir deinen Beitrag so anschaue, kommt bei mir die Frage auf:
> was machst du während der Vorlesungen?

Würdest du bei mir in der Vorlesung sein, würdest du verstehen wieso ich 
diese Fagen stelle. Das Wort "Vorlesung" wird bei uns wörtlich genommen. 
Es wird aus dem Skript vorgelesen und das wars, und im Skript steht 
darüber nix.

von Mister_X Y. (c2000)


Lesenswert?

Prozessor war im Labor der MSP430-4617.

Mh ich denke das ein Wert 16 Bit hat, also 16bit real und 16bit im Teil, 
also müssten es 4 Byte sein und das ganze dann multipliziert mit 128?

von Simon K. (simon) Benutzerseite


Lesenswert?

Es gibt auch eine relle Fourier Transformation: Nämlich die, wo die 
komplexe e-Funktion durch sin/cos ersetzt wurde und es nicht komplexe 
Koeffizienten gibt, sondern nur reelle (und dafür immer zwei pro Punkt). 
Der Rest ist aber gleich. Die Amplitude ist nach wie vor der Phytagoras 
von Beiden.
Also dürfte der Speicherverbrauch gleich bleiben.

von Anja (Gast)


Lesenswert?

Michael O. schrieb:
> Mh ich denke das ein Wert 16 Bit hat, also 16bit real und 16bit im Teil,
> also müssten es 4 Byte sein und das ganze dann multipliziert mit 128?

Und das ganze noch mal 2 wenn die FFT nicht "inplace" angelegt ist. In 
diesem Fall brauchst Du für die zwischenschritte einen 2. Buffer.

Wenn die FFT "real valued" (ausschließlich reelle Eingangsgrößen) ist 
und "inplace" kanst Du mit dem halben Speicher (128 * 2 Bytes) 
auskommen.

Gruß Anja

von Anja (Gast)


Lesenswert?


Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.