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??????
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.
Wie ich die zu verarbeitenden Werte in den IC gebe, ist vollkommen egal. Also von Analog bis SPI....ist egal.
Gibt es überhaupt feste FFT-ics??? Also mit fester Funktion, und ggf. einstellbaren Fensterfunktionen oder so???
>>> 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.
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!
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.
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...
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.
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.
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.
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.
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.
Ich würde zu einem PICCOLO von TI raten: http://focus.ti.com/pr/docs/preldetail.tsp?sectionId=594&prelId=sc08165 gruß avr
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?
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?
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. ;-)
Nimm einen M3-Cortex von luminary, 50mhz und 1Ms/s. Die haben auch ein Eval-Brett für ein kleines Scope. DMA inklusive ...
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?
Also AD-Wandler gibt es die schnell genug wären. Die Frage ist jetzt nur: Reicht der Mega128 für die Berechnungen aus?
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
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????
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
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
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.