Forum: Digitale Signalverarbeitung / DSP / Machine Learning FFT Gesucht - FixPoint, fft/ifft


von Der A. (der-albi)


Lesenswert?

Hallo!
Mein derzeitiges Projekt benötigt eine FFT :-)
Es wird FixedPoint und min 16bit Genauigkeit gebraucht.
Vorhandensein muss eine fft und eine inverse fft.
Ich habe schon KissFFT versucht, aber mit deren Daten komme ich nicht 
zurecht.
Einerseits erzeugt kiss_fftr mehr Daten, als man reingibt (Bei 32 
InputSamples kommen 17 komplexe Werte heraus!?) andererseits muss man 
nach der inversen fft "kiss_fftri" alle Zeitwerte mit der anzahl der 
Inputsamples multiplizieren. d.h. bei 32 Samples gehen mit 5bit 
genauigkeit flöten :-/
Unschön.

Hier im Forum habe ich eine FixedPoint-FFT gefunden.. aber diese geht 
auch nicht wie gewüscht.
Dort kommen aus 32 Inputsamples 32 imaginäre Zahlen heraus.. 
normalerweise müssten sich die Werte am dem 16. Wert wiederholen.. tuen 
sie aber nicht ganz

Gibt es eine 16bit ganzzahl FFT die mir auch nur InputSample/2 nötige 
imaginäre Ergebnisse liefert, sodass ich daraus das originalsignal 
wiederherstellen kann?

32Bit ist auch ok.. es werden halt nur 16Bit genutzt.

von Der A. (der-albi)


Lesenswert?

Grml. Ich hoffe es ist rübergekommen: eine reele FFT ist gesucht :-)

von Björn (Gast)


Lesenswert?

eine "reele" FFT gibt es nicht...

von Der A. (der-albi)


Lesenswert?

Och menno.. ich glaube jeder weiß, was gemeint ist... weiter bin ich 
jetzt immernoch nicht :-(

von Der A. (der-albi)


Lesenswert?

Och leute.. ihr habt doch bestimmt irgendwo was... nich?

von eric (Gast)


Lesenswert?


von eric (Gast)


Lesenswert?

> Ich habe schon KissFFT versucht, aber mit deren Daten komme ich nicht
zurecht.

??

eric.

von Der A. (der-albi)


Lesenswert?

Lies nochmal:

Einerseits erzeugt kiss_fftr mehr Daten, als man reingibt (Bei 32
InputSamples kommen 17 komplexe Werte heraus!?) andererseits muss man
nach der inversen fft "kiss_fftri" alle Zeitwerte mit der anzahl der
Inputsamples multiplizieren. d.h. bei 32 Samples gehen mir 5bit
Genauigkeit flöten :-/
Unschön.


Und das will ich nicht.

von eric (Gast)


Lesenswert?

> (Bei 32 InputSamples kommen 17 komplexe Werte heraus!?)

Komplexe Ergebnisse für NUMBER_OF_SAMPLES / 2 ist korrekt für DFT.


Vielleicht hilft Dir die FFT aus folgendem Projekt weiter:

http://www.codeproject.com/KB/audio-video/oscilloscope.aspx



eric.

von Tom (Gast)


Lesenswert?


von Der A. (der-albi)


Lesenswert?

Die FFT kenn ich auch schon. Das ist die, deren Ergebnisse nicht 
spiegelbar sind... oder müssen die das gar nicht sein?? (kann ja auch 
sein, dass ich falsch liege)
Ich dachte bisher, das aus 32inputsamples 16 Imaginäre Zahlen werden.
Eine FFT spuckt aber 32 imaginäre Zahlen aus.. dafür sollten die nach 
dem 16. Element gespiegelt sein.. dachte ich zumindest :-/

von RST (Gast)


Lesenswert?

Hallo Leute,

ich bin auf eine FFT gestossen, die im C Source Code vorliegt und 
außerdem noch gut dokumentiert ist. Es handelt sich um die Applikation 
Note AN3722 von Maxim.

Dort wird auf Basis des MAXQ2000 eine komplette FFT beschrieben.

http://www.maxim-ic.com/appnotes.cfm/an_pk/3722

Hat jemand Erfahrungen mit dieser FFT und dies vielleicht noch mit 
PIC18Fxxx ?

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.