Forum: Digitale Signalverarbeitung / DSP / Machine Learning Suche FFT Baustein


von Onit (Gast)


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??????

von sven (Gast)


Lesenswert?

Im Radiobereich?!

von Onit (Gast)


Lesenswert?

Ja, soll eigentlich für Ultraschall sein, aber ich hoffe das für das 
Niederfrequente LW-Band so etwas existiert. Suche nur einen fertigen 
Baustein.

von Onit (Gast)


Lesenswert?

Wie ich die zu verarbeitenden Werte in den IC gebe, ist vollkommen egal.
Also von Analog bis SPI....ist egal.

von Onit (Gast)


Lesenswert?

Gibt es überhaupt feste FFT-ics??? Also mit fester Funktion, und ggf. 
einstellbaren Fensterfunktionen oder so???

von Markus (Gast)


Lesenswert?

>>> Gibt es überhaupt feste FFT-ics?

Von der Stange glaube ich nicht?

Dürfte aber ein interessantes Projekt sein. Welchen Frequenzbereich 
brauchst du (von _ bis 130 KHz)?

Tipp: Ein Fragezeichen reicht.

von Onit (Gast)


Lesenswert?

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!

von Ras F. (rasfunk)


Lesenswert?

Ein super Chip für diese Anwendung ist der Pathfinder-2 von Catalina:

http://pda.chipfind.ru/datasheet/pdf/etc/pathfinder2.pdf

Der rechnet Dir FFTs bis 1M Linien ind IEEE-754 SP floating point. Mit 
6W extrem stromsparend.

von Ras F. (rasfunk)


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...

von Onit (Gast)


Lesenswert?

Danke, aber 6 Watt sind zuviel. Ich will mit einer Batterie arbeiten.

von Markus (Gast)


Lesenswert?

Nimm einen ATMEGA mit ausreichend SRAM (z. B. ATMEGA8 1 Kbyte SRAM), da 
eine FFT64 vollkommen ausreichend ist. Code findest du in der 
Artikelabteilung unter FFT.

von Onit (Gast)


Lesenswert?

Ich habe einen Mega128 schafft der das wirklich bis 120 kHz?

von Onit (Gast)


Lesenswert?

RE: Ras Funk-MSP zu langsam
Die Sample and Hold einheiten der MSPs brauchen was bei 60us zur 
Wandlung. Somit ist bei rund 15 kHz leider Feierabend.

von Markus (Gast)


Lesenswert?

Der sollte das schaffen. Aber schaue noch einmal in das Datenblatt.

von Markus (Gast)


Lesenswert?

Sorry, der ATMega8/ATMega128 schafft es nicht. Min. Zeit für eine 
Wandlung 13 µs, du brauchst ca. 8 µs. Versuch auf die PIC30F / PIC33F 
auszuweichen.

von Markus (Gast)


Lesenswert?

Es gäbe noch die Möglichkeit den ADC des AtMega zu übertakten. Eventuell 
sind dann nur noch 7 Bit vom Ergebnis brauchbar. Im Forum wurden schon 
Programme vorgestellt die VGA-Signale wandeln.

von Warhawk (Gast)


Lesenswert?

Hallo,

sry aber du brauchst sogar einen ADC der eine Wandlungszeit von ca. 4 µs 
hat, da du mit mehr als der doppelten Frequenz abtasten musst. Also bei 
120kHz musst mit mehr als 240kHz abtasten und das schafft im Moment bei 
den AVRs(8bit) nur die ATXMega. Die sind mittlerweile sporadisch 
erhältlich.

von avr (Gast)


Lesenswert?

Ich würde zu einem PICCOLO von TI raten:

http://focus.ti.com/pr/docs/preldetail.tsp?sectionId=594&prelId=sc08165

gruß avr

von Markus (Gast)


Lesenswert?

@ Warhawk.

Asche auf mein Haupt.

von Onit (Gast)


Lesenswert?

120kHz ist aber die maximal darzustellende Frequenz. D.H.:ich brauche 
4.1666us Abtastfrequenz (240kHz Abtastrate). Sind da die Pics noch 
geeignet, oder ist es da besser auf TI-Derivate umzusteigen? Wenn ja 
welcher von denen glänzt durch geringen Stromverbrauch?

von Onit (Gast)


Lesenswert?

Sorry habe zum Schreiben zu lange gebraucht :-) Deswegen eine Frage die 
schon vorher beanwortet wurde. Ist schon mal ein suppi Tipp! Gibt es 
dropsdem noch etwas günstigeres?

von Warhawk (Gast)


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. ;-)

von M3 (Gast)


Lesenswert?

Nimm einen M3-Cortex von luminary, 50mhz und 1Ms/s. Die haben auch ein 
Eval-Brett für ein kleines Scope. DMA inklusive ...

von Onit (Gast)


Lesenswert?

Wäre der Mega128 allein in der Lage der FFT-Berechnung ohne eigene 
Analog-Werteaufnahme?
Gibt es AD-->SPI-Wandler, oder AD-->Parallel-Wandler die für diese 
Anwendung schnell genug wären?

von Onit (Gast)


Lesenswert?

Also AD-Wandler gibt es die schnell genug wären. Die Frage ist jetzt 
nur: Reicht der Mega128 für die Berechnungen aus?

von Wolfgang M. (womai)


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

von Onit (Gast)


Lesenswert?

Ziel soll ja eine Batterieapplikation sein! Müsste doch eigentlich mit 
dem MAX1601-MAX1603 etwas werden können. Die haben einen parallelen 
Ausgang, welchen ich an den Mega128 anklemmen könnte. Reicht der Atmel 
mit 20MHz dafür aus????

von Andreas Bayer (Gast)


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

von Michael H. (morph1)


Lesenswert?

dsPIC wären da eigentlich richtig, auch wenn das hier nicht gern gelesen 
wird ;)

der ad-wandler ist ausreichend schnell und ne fft-lib für die hardware 
gibts von mc ebenfalls

von spess53 (Gast)


Lesenswert?

Hi

Wenn du von der AVR-Schiene kommst: ATXMega (gibt es mittlerweile bei 
CSD).

->One Twelve-channel, 12-bit, 2 Msps Analog to Digital Converter

Denke das langt.

MfG Spess

von Helmut (Gast)


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

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.