Forum: Digitale Signalverarbeitung / DSP / Machine Learning FIR-Filterung von 3 Meßkanälen


von Christian K. (cateye030)


Lesenswert?

Hallo Ihr DSP-Experten,
hat jemand von Euch schon Erfahrungen mit den digitalen 
Filteralgorithmen von Microchip gemacht?
Ich will 3 Kanäle (16 Bit ADC, ca. 5 kSPS) digital Filtern (Block-FIR).
Die Zielsignale liegen bei 50 Hz. In der dem Dokument "DSP-library 
summery DS70148B" schreiben die dass ich 1205 Zyklen (40,2 us @ 30 MIPS) 
für eine Block-FIR mit 32 Samples einplanen muss. Jetzt ist die Frage ob 
ich die Anzahl der Zyklen nur mit 3 multiplizieren muss oder ob ich 
Register- Umschaltzeiten einplanen muss.
Ich will das ganze auf nem dsPIC33Fxxxx laufen lassen.
Bitte helft mir ein wenig auf die Sprünge...

von rene (Gast)


Lesenswert?

Mal 3 wuerd ich sagen. Da sollte noch was von den 30mips uebrig sein 
denk ich.

rene

von Christian K. (cateye030)


Lesenswert?

Hallo rene,
ich hab an einen FIR-Filter mit 32 Samples gedacht. Dabei wird zwar je 
Kanal nur ein neuer Wert an das FIR-Filter übergeben, aber die 
restlichen 31 Werte (alte Werte) müssen ja auch immer wieder neu 
bereitgestellt werden. Ist dein angegebener Faktor 3 ne Schätzung oder 
basiert das auf Erfahrung mit dem FIR-Filter-Algorithmus von MICROCHIP 
;)

von rene (Gast)


Lesenswert?

Nein, ich kenn die Microchip implementation nicht. Das 
Eingansschieberegister ist sinnvollerweise als Ringbuffer implementiert. 
Dh man incrementiert einen pointer scheibt einen neuen Wert und dann 
werde alle Werte des Schieberegisters mit ihren Gewichten aufsummiert, 
mit 32 MAC ist man dabei. Dh bei 3 Kanaelen, hat man 3 solche 
Schieberegister, und macht alles noch zwei mal dazu. Nein ?

rene

von Christian K. (cateye030)


Lesenswert?

Hallo Rene,
ich denke Du hast mit den 3 unterschiedlichen Ringpuffern recht. Ich 
werde mir das jetzt mal genau anschauen. Ich hatte so doof in die Runde 
gefragt, weil ich erst mal abschätzen wollte ob ich mit den 40 MIPS vom 
dsPIC33Fxxx hinkomme um die 3 Kanäle in einer vertretbaren Zeit zu 
filtern.
Grüße Christian

von Thorsten (Gast)


Lesenswert?

Ja, das geht definitiv. Ich nutze einen dsPIC für Audio, der rennt mit 
knapp 25 MIPS und ich hab da zwei FIR-Filter mit je 128 Koeffizienten, 
die quasi hintereinander geschaltet sind. Diese Filter bearbeiten ein 
mit ca. 12kHz gesampeltes Stereosignal in Echtzeit.

von Thorsten (Gast)


Lesenswert?

Kleiner Fehler von mir, es sind 513 Koeffizienten und 24 kHz Abtastrate 
(Stereo, 16 Bit).

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
Noch kein Account? Hier anmelden.