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
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
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.
Hallo, danke für die Antworten. Hatte eine Implementierung, die alle Samples "en bloc" verarbeitet hat. Läuft jetzt... Grüße Runout
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.