Forum: FPGA, VHDL & Co. FFT Algorithmus in FPGA umsetzen


You were forwarded to this site from EmbDev.net. Back to EmbDev.net
von Fragender (Gast)


Lesenswert?

Hallo zusammen,

kann mir jemand erklären wie man einen FFT algorithmus prinzipiell auf 
einem FPGA realisieren würde. Mir ist nich klar wie man z.B. bei der FFT 
Butterfly rechnung die Multiplikation mit dem Sinus(f) einer passenden 
Frequenz machen würde. Müsste man diese Werte zunächst irgendwo im FPGA 
(BRAM oder Lookup Table) speichern und dann verwenden, oder wird das 
direkt berechnet?

Gibt es zu solchen Themen ein gutes Buch das ich mir mal anschauen 
könnte?

Vielen Dank schon mal für euere Antworten.

von 01001 (Gast)


Lesenswert?

Hi,
Hier wären einige Beispiele
http://opencores.org/projects "DSP Core"

von Johannes E. (cpt_nemo)


Lesenswert?

Fragender schrieb:
> Gibt es zu solchen Themen ein gutes Buch das ich mir mal anschauen
> könnte?

Es gibt zum Beispiel dieses Buch:

Digital Signal Processing with Field Programmable Gate Arrays
von Uwe Meyer-Baese

Wenn man das bei Google eintippt, wird folgender Treffer angezeigt:
http://148.204.64.201/paginas%20anexas/PDSA/fpga/Digital%20Signal%20Processing%20with%20FPGAs%252C%203rd%20Edition.pdf

Dieser Link stammt nicht von mir und ich hoffe, es ist erlaubt, diesen 
Link hier zu posten.

von Ralf (Gast)


Lesenswert?

Die FPGA Hersteller haben fertige FFT-Cores in ihren Libs, die man nur 
einsetzen und anschliessen muss.

von J. S. (engineer) Benutzerseite


Lesenswert?

Fragender schrieb:
> Müsste man diese Werte zunächst irgendwo im FPGA
> (BRAM oder Lookup Table) speichern und dann verwenden, oder wird das
> direkt berechnet?
Eine direkte Berechnung der Sinus und Cosinus-Koeffizienten ist nur 
nötig, wenn die FFT als solche zur Laufzeit verändert wird, oder man 
eine DFT macht, so wie bei Filtern. Das ist aber für die klassische FFT 
nicht nötig. Allenfalls das Fenster wird dynamisch angepasst. Meistens 
sind diese Funktionen aber statisch und werden fest eingbaut und dabei 
vor allem die Resourcen optimiert. Die resultierenden Koeffizienzen 
liegen dabei in Form von Konstanten im FPGA vor, die z.T. in der 
Verdrahtung, verteilten Registern und LUTs und gfs in den RAMS stecken.

Wie schon gesagt, werden unterschiedliche FFT-Formen von den Herstellern 
mitgeliefert. Welche Resourcen dann genau verwendet werden, ist Sache 
der Einstellung, des Chips und vor allem der Art der FFT. Die 
Konfigurationsprogramme für die FPGAs liefern diesbezügliche 
Abschätzungen, anhand derer Du einen Eindruck gewinnen kannst.

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.