Welcher DSP reict für FIR (3000 Werte)

Gast #2371646
Lesenswert?

Hi, ich muss einen Filter bauen und muss einen FIR Filter umsetzen.
Die Daten kommen mit ca. 100KHz rein und ich brauche einen Filter mit 
3000 Werten.
Das macht somit maximal 10us für die ganze Berechnung.
Ist das mit einem DSP überhaupt machbar und wenn ja welchen würdet Ihr 
mir empfehlen?

Dirk
Gast #2371689
Lesenswert?

Ein einfacher Filter mit ein wenig zurecht biegen der Frequenzen.
Ist eine Signalaufbereitung von einem nicht linearen Sensorsystems und 
kleinere Filter zeigten in der Simulation nicht den gewünschten Erfolg.

Die DSPs kosten für dieses Projekt dann doch recht viel, der gesamt 
preis wird dadurch glatt auf das Doppelte bis 4 fache teurer.
Da muss ich wohl nach was anderem suchen.
Ob ein kleiner FPGA (max 15 Euro) gehen würde?

VG, Dirk
Gast #2372546
Lesenswert?

Moin,

die Frage stellt sich v.a. nach der Peripherie, soll die Verarbeitung 
direkt oder RAM-gepuffert geschehen, und wo müssen die Daten nachher 
hin? Welches Interface?
Reichen 16 Bit? Wieviel RAM brauchst du für dein Konzept?

Für 16bit per SPORT wüsste ich eine Lösung mit dem Blackfin, da würde es 
auch einer aus der billigen 50x-Reihe eventuell tun. Das kritische ist 
meist  nicht die Berechnungsdauer sondern das Zusammenspiel 
Peripherie/DMA, usw.
Und den FIR solltest du auf jeden Fall in Assembler programmieren um die 
Pipeline schön voll zu halten und die parallelen Befehle voll 
auszunutzen.
Unter Umst. ist da das FPGA geeigneter im Sinne von "keep it simple". 
Ein Killerkriterium bei den DSPs ist, dass die Effizienz flöten geht, 
wenn man während der Berechnung (in der HW-Schleife) irgendwelche 
Overflow/Range-Checks macht (if/else). Tut man normalerweise nicht, aber 
das so am Rande.

Gruss,

- Strubi
#2372561
Lesenswert?

Andreas Schwarz schrieb:
> Eine Möglichkeit wäre IIR statt FIR (weniger Koeffizienten, dafür
> komplizierteres Design und Implementierung). Falls FIR nötig, dann
> blockweise mit FFT statt Faltung (Overlap-Add, Overlap-Save) ->
> Komplexität O(N log(N)) statt O(N²).

Wenn die Latenz kritisch ist, ein partitioniertes Overlap-Add/Save ;)

IIR kann keine linearphasig Implementation, (das sollte aber nur für 
Sprachsignale wichtig sein?)
Gast #2372940
Lesenswert?

Danke für die Antworten.

Ich bekomme von einem AD-Wandler 16/24Bit mit 96,... KHz Daten.
Das ist ein Audio Wandler, es wird aber nur ein Kanal ausgewertet.

Die Daten gehen durch den Filter und werden wieder raus gegeben an einen 
DA-Wandler und an einen ARM7.

Der DA-Wandler ist zur direkten Ausgabe der Daten zum ansehen und ob der 
Filter sauber arbeitet.
Der ARM7 macht ein paar Auswertungen damit und kümmert sich um alles 
andere auf dem System.

VG, Dirk
Gast #2394236
Lesenswert?

Ich meinte mit Schnittstelle den Filter!

Der eine oder andere TI DSP hatte es mir auch angetan, aber da stand 
dann immer wieder das Löten im weg.
Vielleicht bin ich aber auch nur blind und übersehe den richtigen DSP 
ständig.
Gast #2397280
Lesenswert?

Bist du dir sicher das du einen Filter mit 3000 taps brauchst ? Ich 
glaube da hast du irgendwas nicht verstanden.

> Ich bekomme von einem AD-Wandler 16/24Bit mit 96,... KHz Daten.
>Das ist ein Audio Wandler, es wird aber nur ein Kanal ausgewertet.

>Die Daten gehen durch den Filter und werden wieder raus gegeben an einen
>DA-Wandler und an einen ARM7.

guck dir mal die Signal Processing Features vom tlv320aic3204 an (Seite 
45). http://www.ti.com/lit/ds/symlink/tlv320aic3204.pdf
Gast #2403344
Lesenswert?

Das ganze System wird sich nochmal komplett ändern.
Manche Projekte hätte man lieber nie angefangen.

Aufgrund vom geänderten System habe ich, nach weiteren Berechnungen und 
Simulationen das ganze auf knapp 2000 Taps reduziert.
Aber aufgeteilt auf 9 einzelne Filter. Zerlegen in 5 Bänder und wieder 
zusammen fügen!
Die einzelnen Signale (5 Bänder und gesamt) werden dann entsprechend 
weiter verarbeitet.


Audio ist leider was anderes wie Sensoren.
Glaube das bei Audio ein Filter mit 50-100Taps mehr als ausreichen 
würde.
Das könnte der ARM7 locker noch alleine machen.
Gast #2404673
Lesenswert?

> Ich bekomme von einem AD-Wandler 16/24Bit mit 96,... KHz Daten.
>Das ist ein Audio Wandler, es wird aber nur ein Kanal ausgewertet.

oder

> Audio ist leider was anderes wie Sensoren.
> Glaube das bei Audio ein Filter mit 50-100Taps mehr als ausreichen
> würde.

Was denn jetzt ?
Gast #2408157
Lesenswert?

Manchmal muss man halt stur sein und was entscheiden.
Sonst kommt am ende nichts raus, weil man schon beim Start immer was 
besseres findet. Was verbessern kann man später immer noch, aber erst 
einmal muss was funktionierendes auf dem Tisch liegen.
Und die Planung beende ich jetzt, hat genug Zeit verbraten.
Nun wird das stur durch gesetzt.

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