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...
Mal 3 wuerd ich sagen. Da sollte noch was von den 30mips uebrig sein denk ich. rene
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 ;)
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
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
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.