Warum wird am Ausgang eines Digitalfilters mit schmalem Übergangsband ein Klingeln angezeigt?

12

Ich mache einen extremen Equalizer für spektrale Mangleffekte mit Audio. Ich verwende Brick-Wall-Filter und sehr Schmalband-Pass- und Reject-Filter (VST-Plugins), und ich würde gerne wissen, ob ich etwas gegen den Pre / Post-Ring mit den Linearphasen- / Minimalphasenfiltern tun kann, die ich verwende . Leider muss ich steile Äq-Hänge benutzen. Ich bin bereit, die minimale Phase zu verwenden, da sie das Vorklingeln vermeidet.

Im Besonderen wundere ich mich:

  1. Was genau verursacht die Oszillationen in der Impulsantwort direkt nach dem Eingang in einem Minimalphasenfilter?

  2. Sind diese Oszillationen die Ursache für den hörbaren Vor- und Nachklingelton, der mit einer Filterung mit steiler Flanke dem Durchlassband hinzugefügt wird?

  3. Sind die Schwingungen und damit die Ruffrequenz immer gleich oder hängt die Ruffrequenz in irgendeiner Weise vom Eingangssignal ab?

Vielen Dank für Ihre Expertise. Ich freue mich auf jede Antwort. Tal.

Dale Newton
quelle
Ich habe Ihre Konten zusammengeführt, daher sollten Sie in der Lage sein, unter den Antworten hier einen Kommentar abzugeben. Ich habe auch deinen letzten Beitrag als Edit angehängt. Bitte entfernen Sie die Teile davon, die tatsächlich Kommentare für einige der Antwortenden sind, und kommentieren Sie sie entsprechend (jetzt, da Sie dies tun können)
Lorem Ipsum

Antworten:

8

Bearbeitet als Antwort auf eine überarbeitete Frage und zusätzliche Kommentare des OP.

Ich bin mit der Behauptung von @ JasonR nicht einverstanden, dass das Filterklingeln auf das Gibbs-Phänomen zurückzuführen ist .

Wie in dem in Jasons Antwort verlinkten Wikipedia-Artikel beschrieben, ist das Gibbs-Phänomen eine Beobachtung über das asymptotische Verhalten der abgeschnittenen Summe (erste Terme) der Fourier-Reihe eines periodischen, aber diskontinuierlichen Signals wie einer Rechteckwelle oder einer Sägezahnwelle. Der Wikipedia-Artikel illustriert ein Beispiel für die Rechteckwelle und zeigt, dass mit zunehmender Anzahl von Begriffen ( n wird groß) die abgeschnittene Fouriersumme der Rechteckwelle immer näher kommt. Es gibt Oszillationen, die um die Schaltzeitpunkte herum auftreten, in denen die Rechteckwelle von hoch nach niedrig oder umgekehrt übergeht, aber diese werden kleiner und kleiner als nnnnwird groß. Wie Jason richtig bemerkt, wird die Amplitude der Schwingungen kleiner, die Frequenz nimmt zu und die (beobachtete) Dauer wird ebenfalls kleiner. Insgesamt sieht es so aus, als ob die abgeschnittene Fouriersumme im Grenzwert gegen die Rechteckwelle konvergiert , und zwar als .n

nnn

Warum klingelt es dann? Alle(nicht-triviale) Filter klingeln, unabhängig davon, ob es sich um Brick-Wall-Filter handelt oder nicht, unabhängig von der Form des Eingangssignals und unabhängig davon, ob der Eingang kontinuierlich ist oder scharfe Übergänge aufweist. Der Grund ist, dass, wenn der Eingang Energie in den Frequenzbändern hat, die gestoppt sind (ganz oder zu einem wesentlichen Teil), diese Energie effektiv intern im Filter gespeichert und mit fortschreitender Zeit langsam als In-Band-Energie freigesetzt wird. Meistens wird diese Veröffentlichung nicht sehr beachtet, da sie durch die Reaktion auf das vorhandene In-Band-Signal überlagert wird. Wenn sich das In-Band-Signal jedoch relativ plötzlich ändert (oder aufhört), muss die aus früheren Zeiten gespeicherte Energie noch freigesetzt werden, und dies ist das Klingeln, das beobachtet wird, nachdem das In-Band-Signal verschwunden ist. In DSP-Begriffen Der FIR-Filterpuffer bleibt auch nach dem Ende des Signals leer, sodass die Ausgabe auch nach dem Ende des Signals fortgesetzt wird. Da scharfe Filter lange Puffer haben (viele Biquad-Abschnitte, wenn Sie so wollen), dauert diese Entleerung lange und ist viel auffälliger als bei einem einfacheren Filter, der sich recht schnell entleert.

Dilip Sarwate
quelle
1
Danke Dilip. Ich kann nicht sehen, was es ist, dass Sie mit Jason R Post nicht einverstanden sind. Wie ich es verstehe, haben Sie beide gesagt, dass das Gibbs-Phänomen ein Klingeln verursacht. Sind Sie sich nicht einig über die relative Bedeutung / den Beitrag des Gibbs-Phänomens als Ursache für Klingeln im Vergleich zu anderen Ursachen für Klingeln?
Dale Newton
Siehe meine überarbeitete Antwort.
Dilip Sarwate
1
Dilip hat insofern Recht, als Sie von einem Filter aus anderen Quellen als dem Gibbs-Phänomen einen Ruf erhalten können. Wenn Sie das Spektrum einer periodischen, diskontinuierlichen Funktion abschneiden, sind die Oszillationen im Zeitbereich des resultierenden Signals das Gibbs-Phänomen. Die meisten Tiefpassfilter erzielen einen ähnlichen Effekt, da ihre Impulsantwort häufig einer Sinusfunktion ähnelt, die dieselbe Form wie die Gibbs-Phänomenoszillationen aufweist. Wenn Sie ein Signal mit einer Impulsantwort falten, die wie ein Sinc aussieht, können Sie häufig ein Klingeln aufgrund der Nebenkeulen der Impulsantwort sehen.
Jason R
@ Dilip: Ich bin mir nicht sicher, ob ich sagen würde, dass alle nichttrivialen Filter klingeln. Ja, alle nicht-trivialen Filter haben eine Impulsantwort, die breiter als ein Impuls ist, sodass sich die Energie des Eingangssignals mit der Zeit verteilt. Dies bedeutet jedoch nicht, dass die Ausgabe Schwingungen aufweist. Nehmen Sie als Beispiel einen Gaußschen Tiefpassfilter.
Jason R
1
@ Dilip: Ich glaube nicht, dass ich Ihnen in Bezug auf den Gibbs-Teil dieser Frage überhaupt nicht zustimmen kann. Ich stimme zu, dass Ihre Antwort in Bezug auf die Frage des OP präziser ist. Und ich habe nur den Begriff "Klingeln" gehört, der im Zusammenhang mit Oszillationen verwendet wird, ähnlich dem Gibbs-Effekt. Ich würde nicht-oszillierende Effekte wahrscheinlich nur "Überschwingen", "Unterschwingen" oder "Filtertransienten" nennen. Es ist jedoch nur eine Nomenklatur; Ich denke nicht, dass eine Interpretation objektiv richtig ist.
Jason R
8

Ihre Beobachtungen sind ein Beispiel für das Gibbs-Phänomen . Wenn Sie ein Filter mit einem sehr scharfen Übergangsband anwenden, beobachten Sie Oszillationen im Filterausgang (oder "Klingeln") in der Nähe von scharfen Übergängen im Eingangssignal (z. B. Grenzen gepulster Wellenformen). Die scheinbare "Frequenz" der Schwingungen hängt von der Bandbreite des Filters ab; Wenn Sie die Grenzfrequenz des Filters erhöhen, werden die Oszillationen zeitlich lokalisierter (dh "frequenzmäßig höher"), aber das Spitzenüberschwingen ändert sich nicht . Der Wikipedia-Artikel, der oben verlinkt ist, hat eine gute Erklärung in der Mitte oder so .

Jason R
quelle
8
  1. Wie Jason dort auf ein grundlegendes "Ungewissheitsprinzip" hinwies: Alles, was in der Frequenz sehr eng ist, ist zeitlich weit und umgekehrt.
  2. Wenn Sie minimale Filter verwenden, sollte es kein Vorklingeln geben, sondern nur Nachklingeln. Das Vorschwingen tritt nur bei linearen Phasenfiltern auf. Das Vorklingeln ist viel hörbarer als das Nachklingeln, daher sind Minimalfilter hier die bessere Wahl. Es mag bei einer Messung schlecht aussehen, aber wenn es nicht extrem ist, ist das Nachklingeln aufgrund einiger Maskierungseigenschaften des menschlichen Gehörs nicht sehr hörbar
  3. Sie klingeln normalerweise genau bei den Eckfrequenzen Ihres Filters. Dh ein 2-kHz-Tiefpassfilter erzeugt ein 2-kHz-Klingeln, sodass die Frequenz eine Funktion des Filters und nicht des Inhalts ist. Der Inhalt wird es allerdings anders aufregen. Wenn der Inhalt so klein oder nicht 2 kHz ist, wird das Klingeln nicht sehr erregt.
Hilmar
quelle
3

Ein Bandpassfilter mit steilen Übergängen und einem flachen Durchlassband nähert sich einer rechteckigen Form.

Ein Rechteck in einer FT-Domäne ist eine Sinc-Funktion in der anderen Domäne. Dies gilt für ein rechteckiges Fenster im Zeitbereich, das eine spektrale "Leckage" im Frequenzbereich erzeugt. Oder für ein rechteckiges Fenster im Frequenzbereich, das ein Spiralpaket im Zeitbereich erstellt. Je schmaler das Rechteck (Bandbreite) ist, desto breiter ist der Sinc. (Und eine Sinc-Funktion "klingelt" auf beiden Seiten). Für eine gegebene Breite in einer Domäne besteht die einzige Möglichkeit, eine engere Energieausdehnung als eine Sinc in der anderen Domäne zu erzielen, darin, etwas zu verwenden, das näher an einem Gaußschen als an einem Rechteck liegt, z. B. keine steilen Kanten.

Verschieben Sie nun das Rechteck in einer Domäne (z. B. Ändern der Durchlassfrequenz des Bandpassfilters). Eine zirkuläre Verschiebung in einer DFT-Domäne ist eine lineare Phasendrehung in der anderen Domäne. Summiere mit einem komplexen Konjugat, um eine echte Antwort zu erhalten, und zwei entgegengesetzt und schnell rotierende komplexe Exponentialspiralenpakete werden zu einer Ringing Time Domain-Antwort. Die Geschwindigkeit des Klingelns hängt von der Bandpaß-Mittenfrequenz ab, und die Länge des Klingelns hängt von der Enge der Bandbreite und der Übergangssteilheit ab. Wenn sich die Spirale mehr als eine halbe Umdrehung dreht, bevor der Umschlag erlischt, ertönt ein Klingeln. Um das Aussterben dieses Umschlags in einer Domäne zu beschleunigen, müssen Sie in der anderen Domäne eine breitere Rundungsfunktion verwenden.

Teil 2:

Wenn Sie zum Entwerfen Ihrer Filter das Tool Remez oder Parks-McClellen verwenden, erhalten Sie eine gleichmäßige Welligkeit. Eine Sinuskurve in einer FT-Domäne ist ein Impuls in der anderen. Daher ist Gleichwelligkeit im Frequenzbereich ein Impuls oder "Tick" im Zeitbereich. Dieses "Häkchen" wird von der Mitte der Impulsantwort um die "Frequenz" der Welligkeit im Frequenzbereich verschoben. Je flacher der von Remez entworfene Filter ist, desto schneller wird die Welligkeit, desto mehr wird das "Häkchen" von der Impulsantwort verschoben. Das gehört zum Pre-Ring. Verwenden Sie eine weniger aggressive Filterentwurfsmethode, um dies zu vermeiden.

hotpaw2
quelle
Vielen Dank, Hotpaw. Ich verstehe Ihre Erklärung nur sehr oberflächlich, da mein Verständnis von DSP derzeit sehr grundlegend ist. Ich kenne die Werkzeuge und Kits für die Herstellung von digitalen Filtern nicht, und ich bin verloren in Bezug auf die Spiralpakete und komplexen Konjugate, da ich noch nicht über die mathematischen Fähigkeiten verfüge.
Dale Newton
Ich möchte jedoch fragen: Sie sagen, die Geschwindigkeit des Klingelns hängt von der Mittenfrequenz des Filters ab. Bedeutet dies, dass Sie mit Hilmars Behauptung nicht einverstanden sind, dass bei den Eckfrequenzen ein Klingeln auftritt? Oder klingelt es bei beiden Frequenzen?
Dale Newton
Die Ecken eines Rechtecks ​​können auch als Mittelpunkt und Breite des Rechtecks ​​definiert werden.
Hotpaw2