µC + Signalverarbeitung

Hallo,

ich möchte mit einem Mikrocontroller verrauschte/gestörte Signale um 100 kHz verarbeiten bzw. detektieren. Mit dem Mega32 von Atmel versuche ich eine (Auto)-Korrelation zu berechnen und habe dabei festgestellt, dass dieser Mikrocontroller viel zu langsam ist, um zum einen die Signale A/D Einzulesen, zum anderen eine vernünftige Korrelation (genügend Samples in begrenzter Zeit) durchzuführen. Bsp.: Für die Berechnung mit 15 Samples brauchte der Mega32 über 10 ms und erbrachte dabei ungenügende Ergebnisse, was von mir dahingehend gedeutet wurde, dass mehr Samples für die genaue Deutung der Signale benötigt werden (z.B. WLAN: 64). Dafür würde der Mikrocontroller aber warscheinlich Sekunden brauchen.

Hier also meine Frage: Gibt es Mikrocontroller, der eine Korrelation (oder vielleicht FFT) wesentlich schneller als der Mega32 berechnen kann und/oder A/D Samples schneller einliest? Oder sollte man gleich einen DSP benutzen? Wenn DSP, welchen dann?

Vielen Dank im Vorraus, Peter Thomsen

Reply to
Peter Thomsen
Loading thread data ...

Moderne DSP's haben nebenbei alle Eigenschaften eines Microcontrollers, selbst einen recht günstigen Preis.

Ich empfehle für Deinen Job einen Blick auf die DSP Familien Analog Devices Blackfin oder TI TMS320F28xx, theoretisch auch noch TMS320LF24xx, wenngleich zu erwarten ist, dass die kleinen 28er die 24er langfristig ersetzen werden.

Die TI-Teile haben wirklich alles auf einem Chip, der Blackfin rechnet etwas schneller, braucht aber externen ROM (Flash) Speicher.

Gruß Oliver

--
Oliver Bartels + Erding, Germany + obartels@bartels.de
http://www.bartels.de + Phone: +49-8122-9729-0 Fax: -10
Reply to
Oliver Bartels

Schau' Dir mal den dsPIC an. Gruss, Nikolaus

Reply to
Nikolaus Correll

Hallo Nikolaus,

Bei 100kHz Signalfrequenz und entsprechender Abtastrate um 300ksps ist damit nicht viel gebacken. Ich wuerde Oliver's Tip beherzigen und einen Blackfin von Analog Devices ins Auge fassen.

Gruesse, Joerg

formatting link

Reply to
Joerg

Dann müsstest du mit mindestens 200 kHz abtasten...

Schätze mal, der mega32 hat einen ähnlichen adu wie der mega128, laut Datenblatt max. 15 kSPS bei 10 Bit Auflösung, also ist alleine der ADU schon viel zu langsam, auch ohne Berechnung der AKF...

Reply to
Stefan Brroering

Peter Thomsen schrieb:

Das würde mich wundern. 128-Punkte FFT 100 Mal pro Sekunde auf einem AVR:

formatting link

Wie hast du die Korrelation implementiert? Zu Fuß ist das sicherlich zu langsam, mit FFT sollte es um ein Vielfaches schneller sein.

Es gibt diverse ARM-basierte Mikrocontroller mit schnellen AD-Wandlern und viel Rechenleistung, die nicht wesentlich schwieriger als ein AVR zu verwenden sind. Die AT91SAM7S-Reihe von Atmel zum Beispiel wandelt mit bis zu 533 kS/s, und dank DMA bekommt man die Daten auch schnell in den Speicher ohne die CPU zu belasten. Mit so einem Controller kann man z.B. bei 48 MHz in Echtzeit MP3 und AAC dekodieren, für ein paar Korrelationen pro Sekunde sollte es also auf jeden Fall reichen.

--
http://www.Mikrocontroller.net
Reply to
Andreas Schwarz

Wenn es um die FFT geht, die zu lahm ist: dafür gibt's auch spezielle FFT-Chips. Ob die einigermassen bezahlbar sind weiss ich nicht, und ob den Rest der Aufgaben von Deinem Controller erledigt werden können auch nicht.

Aber für alle Fälle haben Dir die anderen Leute ja schon ein paar DSPs genannt, falls Du das mit Dienem Controller und nem FFT-Chip nicht hin kriegst, oder die DSP-Lösung sogar preisgünstiger ist.

Gruß, Oliver

Reply to
Oliver Bandel

Peter Thomsen schrieb:

Freescale MC56F8* sind einen Blick wert. Gibt's von winzig (MC56F8013) bis reichlich.

Eval-Boards halbwegs bezahlbar, (eingeschränkte) Tools kostenlos.

Servus

Oliver

--
Oliver Betz, Muenchen (oliverbetz.de)
Reply to
Oliver Betz

Aber dann könnte man doch eigentlich auch gleich nen FPGA nehmen...

Gruß, Michael

Reply to
Michael Dreschmann

Michael Dreschmann schrieb:

Naja, da kommen wir vom 100sten ins 1000ste. Ein DSP ist bei dem Datendurchsatz sicher wesentlich einfacher (zu handhaben und programmieren) und kostengünstiger.

MFG Falk

Reply to
Falk Brunner

Hallo Falk,

Mit einer FFT ist es hier eventuell nicht getan.

So ist es. Ausserdem gibt es zu DSP alle moeglichen Filterroutinen als Softwarebausteine.

Gruesse, Joerg

formatting link

Reply to
Joerg

Hab mir eben mal die Familienübersicht bei TI angeguckt: Die Gehäuse werden ja immer ekliger. Ein semiprofessioneller Anwender braucht dann wohl erst einmal ein Evaluation Board, genauso wie das Anfertigen eines eigenen Layouts bei einer studentischen Arbeit "beyond the scope" wäre. Schade. Ein PDIP28-DSP, quasi der AVR unter den DSPs wäre auch etwas für den Hobbyisten.

Gruß Henning

Reply to
Henning Paul

ut=20

U schon=20

Der A/D-Wandler kann auch schneller arbeiten, dann geht halt die Aufl=F6sung runter.

Markus

Reply to
Markus Kaufmann

Hallo Henning,

naja, solange QFP-Gehaeuse dabei sind, beschwere ich mich noch nicht. Wenn es DIP sein soll: die dsPICs gibt es als DIP, allerdings liegen die in der Leistung eine knappe Groessenordnung unter den C28xx.

Gruss Hartmut

Reply to
Hartmut Schaefer

da musst Du aber den FPGA selber programmieren oder Dir programmieren lassen. Das wird ggf. teurer als nen Spezialchip zu kaufen; ausser Du hast das FPGA-Programmier-Equipment und Know-How....

Ciao, Oliver

Reply to
Oliver Bandel

Mehr an Informationen wurde ja nicht genannt. Es hiess, IMHO, an der FFT hängt das Problem. Da ich den eingestzten Mikrocontroller nicht kannte... ...wer weiß, wie langsam oder schnell der ist? Und... was gemacht werden soll?

(der ganz gerne seine kommerzielle Werbung via URL ins Netz stellt... und noch nicht mal als Sig abgetrennt...)

Ciao, Oliver

Reply to
Oliver Bandel

Der OP wollte eine Korrelation implementieren und die direkte Implementierung war auf dem AVR zu langsam. Eine FFT-basierte Implementierung hatte er sich als Option offengelassen.

Schnell ist relativ. Ist immerhin ein RISC-ähnliches Konzept mit (meistens) einem Takt pro Instruktion. Hardware-Multiplizierer hat er auch, Multiply-ADD soweit ich weiß leider nicht.

Klingt mir irgendwie nach einem studentischen Projekt... :-)

Gruß Henning

Reply to
Henning Paul

Hallo,

Klar, aber wenns ein Student ist, ist er ja vielleicht dazu motiviert. Zumindest für Xilinx tuts ne Programmierschaltung für paar Euro und die kleineren Teile kann man auch mit der kostenlosen Webversion bearbeiten.

Gruß, Michael

Reply to
Michael Dreschmann

Hallo Oliver,

Peter schrieb von Autokorrelation und verrauschten/gestoerten Signalen. Filtern kann man ja notfalls per FFT noch, aber eigentlich macht man das effektiver. Mit WDF oder Goertzelalgorithmus etwa. Ich wuerde natuerlich erstmal sehen, ob es nicht analog geht :-)

Das mache ich nur, um nicht anonym zu sein. Wer wissen will, wer dieser Typ aus fernen Landen ist, braucht nur zu klicken un nachzusehen. Als Werbung nutzt das nicht so viel, jedenfalls ist das nicht der Zweck.

Wie soll ich denn die Sig abtrennen? Eine simple Leerzeile erschien mir angebracht, weil ich auf den Server moeglichst wenig Platz mit meinen Posts belegen wollte. Aus Etikette sozusagen. Machen andere auch, jedenfalls in USA. Ich mag es nicht, wenn Leute ganze Picassogemaelde oder flatternde Faehnchen unter ihrem Namen haben. Das muss alles immer mit durchs Web geschleppt werden. Wie heisst das in Deutsch so schoen? In der Kuertzel liegt die Wuertzel, oder so.

Gruesse, Joerg

Achtung, poten(t)zielle Werbung, un jetz kuett et:

formatting link

Reply to
Joerg

Auch Oliver trennt seine Schlussformel nicht durch "-- " ab. Kaum jemand folgt dieser haesslichen Konvention so konsequent, dass es das Zitieren tatsaechlich erleichtert.

--
MfG, Mirko
Reply to
Mirko Liss

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.