mikrocontroller.net

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


Autor: Christian Kito (cateye030)
Datum:

Bewertung
0 lesenswert
nicht 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...

Autor: rene (Gast)
Datum:

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

rene

Autor: Christian Kito (cateye030)
Datum:

Bewertung
0 lesenswert
nicht 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 
;)

Autor: rene (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Christian Kito (cateye030)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Thorsten (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Thorsten (Gast)
Datum:

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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.