mikrocontroller.net

Forum: Digitale Signalverarbeitung / DSP Biquad-Filter Hochpass


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
Autor: Thomas T. (runout)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Zusammen,

ich habe eine Verständnisfrage zur digitalen Filterung.

Ich bekomme einen Audiostream über DMA-Interrupt.
(24/32bit, 16k)
Die Werte haben einen DC-Offset und sollen mit einem
Biquadfilter (DF2) Hochpass gefilter werden.

Frage:
Macht es einen Unterschied, ob ich den "ganzen" Empfangspuffer
durch den Hochpass jage oder immer die 3 Samples welche vom DMA-
Interrupt kommen und am jeweils aktuellen Schreibzeiger
in den Empfangspuffer geschrieben werden.
Die drei Zwischenregister beim Biquad-HP werden bei jedem
Aufruf ja "geleert".

Oder sollte es eine Init()-Funktion geben
und dann nur die Berechnung der jeweils neu eintreffenden Samples?

Plattform ist ein STM32L4, Audioschnittstelle SAI.

Viele Grüße
Runout

: Verschoben durch Moderator
Autor: Dergute W. (derguteweka)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Moin,

Thomas T. schrieb:
> Die drei Zwischenregister beim Biquad-HP werden bei jedem
> Aufruf ja "geleert".

Das glaube ich nicht, Tim.

Jedes Sample, was irgendwie von Aussen reinkommt, muss genau einmal 
durch das Filter durch. Und damit auch die entsprechenden 
Zwischenergebnisse durch alle Zwischenregister. Da wird nix geleert.
Und initialisiert muss da eigentlich auch nix werden, hoechstens 
vielleicht die Register auf 0, aber wenn die auf irgendwas stehen, 
macht's beim Einschalten halt mal einen "plopp" oder sowas. Oft stoert 
der niemanden.

Gruss
WK

Autor: Oli (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dergute W. schrieb:
> Oft stoert der niemanden
Nun ja, wenn der als Steuerung auf eine digitale Stufe geht und die 
reaktionsfreudig aufmacht, dann braucht man schon mal neue Lautsprecher.

Autor: Thomas T. (runout)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

danke für die Antworten.
Hatte eine Implementierung,
die alle Samples "en bloc" verarbeitet hat.
Läuft jetzt...

Grüße
Runout

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.

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