Verständnisproblem - FIR-Filter

Gast #1626100
Lesenswert?

Hallo,

ich habe ein Verständnisproblem bei den FIR-Filtern. Vieeleicht kann mir 
jemand weiterhelfen.

Ich möchte meinen Analogeingang per Bandpass filtern und diese Daten am 
Analogausgang wieder ausgeben.

Dazu bekomme ich per DMA Audio-Happen die 64 Elemente umfassen. Setze 
ich auf diesen Buffer jetzt den FIR-Filter an, so bekomme ich bei den 
ersten Elementen ein Problem, da die Werte X[n-k] ja nicht mehr 
vorhanden sind. Diese wurden ja in dem vorangegangenen Buffer bereits 
geschickt.

Meine Frage: Das ließe sich ja lösen in dem ich den vorangegangen Buffer 
zusätzlich speichere.  Da ich wenig RAM habe würde ich das aber doch 
gerne vermeiden. Muss ich das tun oder gibt es für das Problem einen 
anderen Weg?
Gast #1627741
Lesenswert?

Danke für die Info.

Ich habe meinen Buffer jetzt zu einem Ring-Buffer abgeändert. Allerdings 
stoße ich dabei auf ein weiteres Problem. Wenn ich die DSP-Lib von TI 
verwenden will, dann kann ich diese gar nicht nutzen ohne die Daten 
vorher in einen anderen Buffer zu kopieren. Ein Ring-Buffer wird von der 
Bibliothek nicht unterstützt.

Mal von meinem RAM-Problem abgesehen, wäre damit der gesamte 
Zeit-Vorteil der DSP-Lib hinfällig.

Hat die DSP-Lib schon jemand mal benutzt?
#1627877
Lesenswert?

Tom schrieb:
> Wenn ich die DSP-Lib von TI verwenden will, dann kann ich diese gar nicht
> nutzen ohne die Daten vorher in einen anderen Buffer zu kopieren. Ein
> Ring-Buffer wird von der Bibliothek nicht unterstützt.

Das finde ich jetzt insofern ein wenig kurios, als dass gerade 
Ringpuffer in der Signalverarbeitung oft und gerne verwendet werden. So 
werden zum Beispiel die Koeffizienten für ein FIR-Filter üblicherweise 
als Ring betrachtet, man setzt einen Zeiger auf das erste Element und 
dann geht's fröhlich immer in die Runde rum ;-)

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