Hallo zusammen Ich suche eine möglichst einfach zu implementierende FFT für Mikrocontroller (welchen möchte ich noch offen lassen) in C. Habe immer wieder diesen Link gefunden: http://elm-chan.org/docs/avrlib/avrfft.zip Leider scheint dieser nicht mehr zum Ziel zu führen. Hat eventuell noch jemand dieses ZIP-File? Oder kennt jemand einen ähnlich guten FFT Algorithmus in C? Danke
Vielleicht hier: https://osdn.net/projects/sfnet_avrfftlcd/downloads/avrfftlcd/AVR_FFT_20081031/AVR-FFT-20081031.zip/ mfG
:
Bearbeitet durch User
VIelen Dank für die Files Leider ist der FFT Code in Assembler. Das wusste ich nicht. Also geht die Suche nach einem passenden Code weiter :)
Dann hättest Du ab jetzt den Anlass, mit Deinem Mikrocontroller in einer Fremdsprache zu kommunizieren... Oder Arduino http://wiki.openmusiclabs.com/wiki/ArduinoFFT
:
Bearbeitet durch User
Wenn es denn C sein soll... Du musst den Code noch etwas überarbeiten, aber er funktioniert.
Holger K. schrieb: > VIelen Dank für die Files > > Leider ist der FFT Code in Assembler. > Das wusste ich nicht. > > Also geht die Suche nach einem passenden Code weiter :) Schau mal hier: http://elm-chan.org/works/akilcd/report_e.html Da ist die FFT, die du aus deinem Eingangspost gesucht hast. Die FFT selbst ist in Assembler, die Lib ist für Programmierung in C gemacht.
Wenn es ein Cortex-M werden soll: in der CMSIS-Dsp Lib sind fft Funktionen drin.
Johannes S. schrieb: > Wenn es ein Cortex-M werden soll: in der CMSIS-Dsp Lib sind fft > Funktionen drin. Hallo, ja soll es werden. > > Da ist die FFT, die du aus deinem Eingangspost gesucht hast. Die FFT > selbst ist in Assembler, die Lib ist für Programmierung in C gemacht. Danke, werde ich mir anschauen Georg G. schrieb: > Wenn es denn C sein soll... > Du musst den Code noch etwas überarbeiten, aber er funktioniert. Danke!
Ich habe nun diesen Code gefunden: http://www.embeddedsignals.com/FFTCM3.s Dieser gefällt mir sehr gut! Leider habe ich Samples mit 24Bit Aflösung (als vorzeigenbehafteter Wert) Die obige FFT benötigt 16bit Werte. Sieht jemand eine einfache Lösung, diese auf 24 bzw. 32 Bit zu erweitern? Genügt es, wenn ich das Array vergrössere? Danke!
Ganz so einfach wird es nicht sein. Wenn es in Assembler geschrieben ist wird man wahrscheinlich an mehreren Stellen auf 16 bit stehen, und wenns nur temporäre Variablen sind, die auf 16 bit getrimmt sind. Frage: brauchst du unbedingt 24 bit? Meiner Erfahrung nach braucht man das eigentlich praktisch nie bei einer FFT. Oft ist selbst 16 bit oversize. Du könntest ja z.B. die 24 bit Werte um 6 bit nach links schieben (ein Left Align also) und nur die oberen 16 bit für die FFT benutzen.
"Audiospektrum-Analyse mit Mikrocontrollern" Franzis 2013 ISBN 3645651381 Autor Felix Irmscher "Ladenpreis aufgehoben" der benutzt die Elm-Chan-FFT-Routinen
Christoph K. schrieb: > "Audiospektrum-Analyse mit Mikrocontrollern" Franzis 2013 > ISBN 3645651381 > Autor Felix Irmscher > "Ladenpreis aufgehoben" > der benutzt die Elm-Chan-FFT-Routinen Ui, krass, so ein richtiges Buch!!
http://www.jjj.de/fft/fftpage.html Das ist eine gute Sammlung für FFT mit Hineweisen zu den Links. Das Buch vom Auto gibt es ebenfalls auf seiner Seite, da ist auch FFT Kram drin: http://www.jjj.de/fxt/fxtpage.html#fxtbook
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.