Suche FFT Baustein

Gast #1274783
Lesenswert?

Hallo, brauche dringend Hilfe,
ich suche einen IC der mir eine Ausgabe von FFT-Balken(Bandbreite 
erstmal nebensächlich)realisiert, und das ganze möglichst stromsparend! 
Ich hoffe das im Radiobereich so etwas gibt. Ich brauche eine Anzeige 
bis 130kHz.
Kennt jemand so einen Chip??????
#1275076
Lesenswert?

Onit schrieb:
> Ich benötige 10-120kHz. Der Abstand der Balken soll max 5kHz sein.
> Welcher dsp ist günstig in der Programmierung (Programmer), stromparend,
> und schnell genug dafür? Ich bin eher in der Welt der AVRs und MSPs
> daheim. Das die dafüt zu langsam sind ist nix neues!

Argh, das sind ja gerade mal 32 Linien! Wieso soll da ein MSP zu langsam 
sein!? Es ist doch nur für eine Anzeige, d.h 25Hz Refreshrate ist schon 
zuviel des Guten...
Gast #1275223
Lesenswert?

Hallo,

mir ist gerade noch nen kleiner Fehler in meiner Aussage von eben 
aufgefallen. Ich befürchte das du mehr als nur 240 kHz Abtastrate 
brauchst, da für eine FFT nicht die höchste Frequenz die man darstellen 
will, sondern die höchste im Signal vorkommende Frequenz entscheident 
ist. Also kommt es darauf an wie du die Filter vor der Abtastungs 
auslegst. Hierbei solltest du aber auch beachteten das der Tiefpass 
nicht ab einer bestimmten Freuqenz alles wegschneidet, sondern ein 
übergangsbereich existiert, die Breite desen ist wiederum vom Grad des 
Filters abhängig. Am besten fragst du nochmal eine Elektortechniker 
deines Vertrauens, der müsste das berechnen können. ;-)
#1275728
Lesenswert?

Meine Empfehlung waere ein Microchip dsPIC. Der eingebaute ADC hat ca. 
500 kHz Bandbreite, das sollte also reichen. Je nach dsPIC schafft er 
bis zu 2 MSamples/sec (fuer 120 kHz FFT musst Du mit mindestems 240 
kHz). Die Chips sind auch schnell genug (und haben einige 
Mathematic-Spezialbefehle im Befehlsatz), um eine vernuenftige FFT in 
Echtzeit zu schaffen (mit "Echtzeit" meine ich, schneller als Du schauen 
kannst, also zumindest etws 15 frames/sec bei 128 FFT-Bins).

Wolfgang
Gast #1276088
Lesenswert?

Dedizierte FFT-Chips gab es früher einmal, als DSP noch nicht die 
benötigte Leistung abliefern konnten.
Jeder Hersteller hat FFT-Bibliotheken im Programm, die mehr oder minder 
robust sind. Bei Festkomma-Prozessoren sollte die Rechengenauigkeit 
beachtet werden, denn durch Rundung in jeder Stufe der FFT entsteht 
numerisches Rauschen, das das Ergebnis beeinträchtigt.

Die eingebauten ADC (z.B. im Piccolo von Texas Instruments oder im 
Blackfin von Analog Devices) sind nicht gerade ideal für Messtechnik.

Ich empfehle eher einen kleinen SHARC (von Analog Devices) oder einen 
C672x von Texas Instruments mit einem vernünftigen ADC. Ein TMS320C2833x 
von TI bietet sich als reiner Rechner auch an. Bei anderen Architekturen 
achtet bitte darauf, keine 16-Bit-Arithmetik zu verwenden, sondern 
möglichst 24/32 Bit. Im Prinzip kann auch ein ARM ausreichend sein, wenn 
die Update-Rate der FFT nicht allzu hoch sein muss. Ein moderner DSP 
rechnet eine 1024-Punkte-FFT in weit weniger als 1 Millisekunde, ein 
Cortex M3 in vielleicht 100 Millisekunden (educated guess).

Für eine Messbandbreite von 130kHz sollte man über 400-500kHz Abtastrate 
nachdenken. Einfach nur Nyquist zu bemühen, reicht in der Praxis nicht 
aus (Filterung gegen Aliasing nie ideal).

Ein passender ADC-Baustein wäre z.B. der AD7723 von Analog Devices. 
Daten liest man z.B. per DMA ein und greift sich ein Paket Abtastdaten 
(z.B. 256 oder 512 pro Kanal), die zur FFT verhackstückt werden.

Ich hoffe, die Tipps helfen.

Gruß,
Andreas
Gast #1280788
Lesenswert?

Nehmen wir mal an du willst eine Echtzeit-FFT. Echtzeit heißt, dass du 
während der Zeit in dem du die FFT berechnest, genau so viele neue Daten 
aufnimmst.

Abtastung mit 512kHz. FFT mit 256 Punkten. Daraus folgt alle 2ms eine 
FFT. Parallel noch a1lle 2us eine A/D-Wandlung durchführen und 
abspeichern.
Die FFT braucht ca. 1000 Additionen und 1000 Multiplikationen plus 4000 
Tabellenzugriffe anschließend nochmals 1000? Befehle um das Ergebnis 
umzusortieren. Sagen wir mal zusammen 10000 Befehle abarbeiten. Bei 
einem Prozessor mit 2Taktzyklus/Befehl wären das damit 20000 Taktzyklen 
in 2ms. Somit müsstest du mit 10Millionen Taktzyklen rechnen. Die 
Wortbreite muss mindestens 16bit sind (8 bit mehr als dein DAC hat). 
Jeglichen 8bit-Prozessor kann man da vergessen. Mindestens ein 
eingebauter 16*16 Hardwaremultiplizierer ist Pflicht. Besser wäre ein 
32bit Prozessor damit man statt 8bit direkt auch bis zu 16bit-A/D 
Wandler sinnvoll nutzen kann.

Ergebnis. entweder 32bit-DSP mit >20MIPS oder 32bit-uP mit >50MHz.
DSPs: Motorola 24bit, TI 32bit
uP: ARM 32bit, Blackfin

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren