Hallo, ich habe die Aufgabe in einer Firma einen vorhandenen (genialen) Digitalfilter (FIR, sym. 512 Pole, programmierbar)in einem Sensor leider ersetzen zu müssen. Ein Xmega ist für die Steuerung schon vorhanden... Einmal habe ich 16Bit 140KSPS, im anderen Fall 24Bit 40KSPS (mit Dezimation der Ausgangswerte). Die Messwerte kommen über 3,3V SPI von ADCs. Gewünscht: Durchlassbereich: 0,003 * Fabtast; Sperrdämpfung >= -120dB bei 0,012*Fabtast Die Lösung sollte möglichst klein sein, "einfach" und mit unter 1/2 Watt auskommen. FIR-Filter sind mir bis jetzt lieber, wegen leichter Berechenbarkeit der Koeffizienten und wegen der nötigen Integer-Arithmetik. Prinzipiell bin ich aber auch für eine IIR-Lösung offen. Als Möglichkeiten gibt es ja die FPGAs, habe aber noch keine Ahnung von VHDL und eine Entwicklungsumgebung kostet auch eine Stange Geld. Außerdem brauchen die ja einen externen Flash. Wie sieht es mit den ARM-/ Cortex-Prozessoren aus, wie leistungsfähig sind die für digitale Filterung (FIR / IIR)? Welche Typen wären am geeignetsten? Die dsPICs sind ja schon ziemlich betagt. Lohnt sich das noch da einzusteigen? Wären die überhaupt leistungsfähig genug? Welche Erfahrungen habt ihr mit den Analog Devices-DSPs? Welche Alternativen gibt es noch? Suche also dringendst fundierte Entscheidungshilfen.
Alexxx schrieb: > Als Möglichkeiten gibt es ja die FPGAs, habe aber noch keine Ahnung von > VHDL und eine Entwicklungsumgebung kostet auch eine Stange Geld. > Außerdem brauchen die ja einen externen Flash. Die Altera Quartus Web-Edition ist kostenlos und kann alles was du brauchst. Von Altera gibts demnächst die MAX10, die eingentlich ganz gut auf deine Aufgabe passen sollten.
Hallo Alex. Xilinx bietet auch eine kostenlose Entwicklungsumgebung für ihre FPGA's an. Grundsätzlich sind FPGA's bei solchen Aufgaben die schnellsten Kandidaten, scheinen mir für deinen Zweck jedoch etwas übertrieben und im Vergleich zu anderen Lösungen zu teuer (selbst die kleinsten kommen schnell an 30€ ran). Meiner Meinung nach ist die beste Alternative ein ARM µC. Die sind schon ziemlich Leistungsfähig und recht günstig zu haben. Für deinen speziellen fall würde ich dir einen M4 Kern empfehlen. Kann jedoch schon mit M3 oder sogar mit M0 laufen - einfach ausprobieren. Klarer Vorteil des M4 Kerns ist auf jeden fall die DSP Erweiterung und die Floating Point Unit. Grüße
Jost H. schrieb: > Grundsätzlich sind FPGA's bei solchen Aufgaben die schnellsten > Kandidaten, scheinen mir für deinen Zweck jedoch etwas übertrieben und > im Vergleich zu anderen Lösungen zu teuer (selbst die kleinsten kommen > schnell an 30€ ran). Red kein Blech! Die kleinsten kosten nicht mal 3€ (wenn man nicht grad Einzelstückzahlen nimmt) und haben haben ein paar DSP-Böcke drin.
>>>>Gewünscht: Durchlassbereich: 0,003 * Fabtast; Sperrdämpfung >= -120dB bei 0,012*Fabtast Mit den Anforderungen komme ich mit schnellem hack auf ein FIR 512ter Ordnung oder ein elliptisches Filter (IIR) 7ter Ordnung, Frequnzgänge als Bild. >>Einmal habe ich 16Bit 140KSPS, im anderen Fall 24Bit 40KSPS (mit Fürs 140/40KSPS beim FIR also 71/20 MegaMACs/sec (multiply/accumulate), beim IIR (15MACs/sample) 2.1/0.6 MegaMACs/sec. Son kleiner ARM Cortex kann den IIR auf jeden Fall, ansonsten können die doch in der Regel einen MAC/Takt, bißchen schneller getaktet und alles ist gut. Auf jeden Fall braucht man da als hardware höchstens obere Unterklasse, FPGA ist da Kanone auf Spatzen. Cheers Detlef clear fb=firls(512,[0 0.0001/2 2*0.012 1],[1 1 1e-6 1e-6]); [feb,fea]=ellip(7,3,120,0.0105); %fb=fir1(1024,0.003); f=linspace(0,20,1000)/1000; H=freqz(fb,1,f,1); He=freqz(feb,fea,f,1); clf plot(f,20*log10(abs(H)/max(abs(H))),'.-',... f,20*log10(abs(He)/max(abs(He))),'.-'); grid return
Danke schon mal für eure Einschätzungen. Bei den FPGAs schrecken mich auch die komplexen Entwicklungsschritte und die für Anfänger komplexe Oberfläche ab. Zu den ARM M4: Welchen Hersteller / Welche Entwicklungsumgebung könntet ihr da empfehlen? Wie liegt die Preislich?
http://www.watterott.com/de/Boards-Kits/ARM/ARM-Cortex-M4 17.79E GidF Cheers Detlef
:
Bearbeitet durch User
Alexxx schrieb: > Bei den FPGAs schrecken mich auch die komplexen Entwicklungsschritte und > die für Anfänger komplexe Oberfläche ab. Es gibt auch nicht wirklich einen Grund, in einem FPGA eine Schaltung reinzuprogrammieren, die es für dasselbe Geld fertig zu kaufen gibt und den halben Strom verbraucht.
@ IT-Ingenieur
>> ...die es für dasselbe Geld fertig zu kaufen gibt und
den halben Strom verbraucht.
Welche fertige Schaltung meinst du? Gibt es da eine?
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.