Filter design
Filterdesign ist der Prozess des Entwerfens a Signalverarbeitungsfilter Dies erfüllt eine Reihe von Anforderungen, von denen einige widersprüchlich sein können. Ziel ist es, eine Verwirklichung des Filters zu finden, der die einzelnen Anforderungen in ausreichendem Maße erfüllt, um ihn nützlich zu machen.
Der Filterentwurfsprozess kann als Optimierungsproblem beschrieben werden, bei dem jede Anforderung zu einer Fehlerfunktion beiträgt, die minimiert werden sollte. Bestimmte Teile des Entwurfsprozesses können automatisiert, aber normalerweise eine erfahrene Elektroingenieur wird benötigt, um ein gutes Ergebnis zu erzielen.
Das Design digitaler Filter ist ein täuschend komplexes Thema.[1] Obwohl Filter leicht zu verstehen und zu berechnen sind, sind die praktischen Herausforderungen ihres Designs und ihrer Umsetzung erheblich und Gegenstand fortgeschrittener Forschung.
Typische Designanforderungen
Typische Anforderungen, die im Entwurfsprozess berücksichtigt werden, sind:
- Der Filter sollte eine bestimmte haben Frequenzgang
- Der Filter sollte eine bestimmte haben Phasenverschiebung oder Gruppenverzögerung
- Der Filter sollte eine bestimmte haben impulsive Reaktion
- Der Filter sollte sein kausal
- Der Filter sollte sein stabil
- Der Filter sollte lokalisiert sein (Impuls- oder Stufeneingänge sollten zu endlichen Zeitausgängen führen).
- Die rechnerische Komplexität des Filters sollte niedrig sein
- Der Filter sollte insbesondere Hardware oder Software implementiert werden
Die Frequenzfunktion
Ein wichtiger Parameter ist der erforderliche Frequenzgang. Insbesondere ist die Steilheit und Komplexität der Antwortkurve ein entscheidender Faktor für die Filterreihenfolge und Machbarkeit.
Eine erste Ordnung rekursiv Der Filter hat nur eine einzelne frequenzabhängige Komponente. Dies bedeutet, dass die Neigung des Frequenzgangs ist auf 6 begrenzt db pro Oktave. Für viele Zwecke reicht dies nicht aus. Um steilere Hänge zu erreichen, sind Filter höherer Ordnung erforderlich.
In Bezug auf die gewünschte Frequenzfunktion kann es auch zu begleitend sein Gewichtung Funktion, die für jede Frequenz beschreibt, wie wichtig es ist, dass die resultierende Frequenzfunktion den gewünschten annähert. Je größer, desto wichtiger ist eine enge Annäherung.
Typische Beispiele für die Frequenzfunktion sind:
- A Tiefpassfilter wird verwendet, um unerwünschte Hochfrequenzsignale zu schneiden.
- A Hochpassfilter Pässt hohe Frequenzen ziemlich gut; Es ist hilfreich als Filter, unerwünschte Niederfrequenzkomponenten zu schneiden.
- A Bandpassfilter Pässt einen begrenzten Frequenzbereich.
- A Band-Stop-Filter Übergeht Frequenzen über und unter einem bestimmten Bereich. Ein sehr schmaler Band-Stop-Filter ist als Notch-Filter bekannt.
- A Unterscheidungsmerkmal hat eine Amplitudenantwort proportional zur Frequenz.
- Ein Filter mit niedrigem Shelf überträgt alle Frequenzen, erhöht oder reduziert die Frequenzen unter der Regalfrequenz um angegebener Menge.
- Ein Hochpackfilter übergeht alle Frequenzen, erhöht oder reduziert die Frequenzen über der Regalfrequenz um angegebener Menge.
- Ein Peak -EQ -Filter macht einen Peak oder einen Einbruch des Frequenzgangs, der üblicherweise in verwendet wird Parametrische Equalizer.
Phasen- und Gruppenverzögerung
- Ein All-Pass-Filter durchläuft alle unveränderten Frequenzen, ändert jedoch die Phase des Signals. Filter dieses Typs können verwendet werden, um die Gruppenverzögerung rekursiver Filter auszugleichen. Dieser Filter wird auch in verwendet Phaser -Effekte.
- A Hilbert Transformator ist ein spezifischer All-Pass-Filter, der Sinusoide mit unveränderter Amplitude übergeht, aber jede sinusförmige Phase um ± 90 ° verändert.
- Ein fraktionaler Verzögerungsfilter ist ein All-Pass, der für alle Frequenzen eine bestimmte und konstante Gruppe oder Phasenverzögerung aufweist.
Die Impulsantwort
Es gibt eine direkte Korrespondenz zwischen der Frequenzfunktion des Filters und seiner Impulsantwort: Ersteres ist das Fourier-Transformation buchstäblich. Dies bedeutet, dass jede Anforderung an die Frequenzfunktion eine Voraussetzung für die Impulsantwort ist und umgekehrt.
In bestimmten Anwendungen kann es jedoch die explizite Impulsantwort des Filters sein, und der Entwurfsprozess zielt dann darauf ab, eine so enge Annäherung an die angeforderte Impulsantwort zu erzeugen, wenn alle anderen Anforderungen angerufen werden.
In einigen Fällen kann es sogar relevant sein, eine Frequenzfunktion und eine Impulsantwort des Filters zu berücksichtigen, die unabhängig voneinander ausgewählt werden. Zum Beispiel möchten wir möglicherweise beide eine bestimmte Frequenzfunktion des Filters und dass der resultierende Filter eine kleine effektive Breite im Signalbereich wie möglich aufweist. Die letztere Bedingung kann realisiert werden, indem eine sehr enge Funktion als die gewünschte Impulsantwort des Filters berücksichtigt wird, obwohl diese Funktion keinen Zusammenhang mit der gewünschten Frequenzfunktion hat. Ziel des Designprozesses ist es dann, einen Filter zu realisieren, der beide widersprüchlichen Designziele so weit wie möglich erreicht.
Kausalität
Um implementierbar zu sein, muss ein zeitabhängiger Filter (in Echtzeit betrieben) sein kausal: Die Filterantwort hängt nur von den Strom- und früheren Eingängen ab. Ein Standardansatz besteht darin, diese Anforderung bis zum letzten Schritt zu verlassen. Wenn der resultierende Filter nicht kausal ist, kann er durch Einführung einer geeigneten Zeitverschiebung (oder einer Verzögerung) kausal gemacht werden. Wenn der Filter Teil eines größeren Systems ist (das normalerweise ist) muss diese Arten von Verzögerungen mit der Pflege eingeführt werden, da sie den Betrieb des gesamten Systems beeinflussen.
Filter, die nicht in Echtzeit arbeiten (z. B. zur Bildverarbeitung), können nicht kausal sein. Dies z.B. Ermöglicht das Design von rekursiven Filtern mit Nullverzögerung, wobei die Gruppenverzögerung eines Kausalfilters durch den nicht-kausalen Filter des Hermitian-Falles aufgehoben wird.
Stabilität
A stabiler Filter versichert, dass jedes begrenzte Eingangssignal eine begrenzte Filterantwort erzeugt. Ein Filter, der diese Anforderung nicht erfüllt, kann sich in einigen Situationen als nutzlos oder sogar schädlich erweisen. Bestimmte Konstruktionsansätze können Stabilität garantieren, beispielsweise nur durch Verwendung von Vorwärtsschaltungen wie einem FIR-Filter. Andererseits haben Filter, die auf Rückkopplungsschaltungen basieren, andere Vorteile und können daher bevorzugt werden, selbst wenn diese Filterklasse instabile Filter enthält. In diesem Fall müssen die Filter sorgfältig gestaltet werden, um Instabilität zu vermeiden.
Lokalität
In bestimmten Anwendungen müssen wir uns mit Signalen befassen, die Komponenten enthalten, die als lokale Phänomene bezeichnet werden können, beispielsweise Impulse oder Schritte, die eine bestimmte Zeitdauer haben. Eine Folge der Anwendung eines Filters auf ein Signal ist intuitiv, dass die Dauer der lokalen Phänomene durch die Breite des Filters verlängert wird. Dies impliziert, dass es manchmal wichtig ist, die Breite der Impulsantwortfunktion des Filters so kurz wie möglich zu halten.
Nach der Unsicherheitsbeziehung der Fourier -Transformation muss das Produkt der Breite der Impulsantwortfunktion des Filters und der Breite seiner Frequenzfunktion eine bestimmte Konstante überschreiten. Dies bedeutet, dass jede Anforderung an der Lokalität des Filters auch eine Verknüpfung der Breite der Frequenzfunktion impliziert. Infolgedessen ist es möglicherweise nicht möglich, die Anforderungen an die Lokalität der Impulsantwortfunktion des Filters sowie die Frequenzfunktion gleichzeitig zu erfüllen. Dies ist ein typisches Beispiel für Widerspruchsanforderungen.
Rechenkomplexität
Ein allgemeiner Wunsch in jedem Design ist, dass die Anzahl der Operationen (Ergänzungen und Multiplikationen), die zur Berechnung der Filterantwort erforderlich sind, so gering wie möglich ist. In bestimmten Anwendungen ist dieser Wunsch eine strenge Anforderung, beispielsweise aufgrund begrenzter Rechenressourcen, begrenzter Stromressourcen oder begrenzter Zeit. Die letzte Einschränkung ist typisch in Echtzeitanwendungen.
Es gibt verschiedene Möglichkeiten, wie ein Filter eine unterschiedliche Rechenkomplexität haben kann. Beispielsweise ist die Reihenfolge eines Filters mehr oder weniger proportional zur Anzahl der Operationen. Dies bedeutet, dass die Berechnungszeit durch Auswahl eines Filters mit geringer Ordnung reduziert werden kann.
Bei diskreten Filtern ist die Rechenkomplexität mehr oder weniger proportional zur Anzahl der Filterkoeffizienten. Wenn der Filter viele Koeffizienten aufweist, beispielsweise bei mehrdimensionalen Signalen wie Tomographiedaten, kann es relevant sein, die Anzahl der Koeffizienten zu verringern, indem diejenigen entfernt werden, die ausreichend Null sind. In Multiratfiltern nutzte die Anzahl der Koeffizienten, indem er seine Bandbreitengrenzen nutzte, wobei das Eingangssignal (z. B. für seine kritische Frequenz) heruntergetastet und nach der Filterung upsplostiert wird.
Ein weiteres Problem im Zusammenhang mit der Computerkomplexität ist die Trennbarkeit, dh wenn und wie ein Filter als Faltung von zwei oder einfacheren Filtern geschrieben werden kann. Insbesondere ist dieses Problem für mehrdimensionale Filter von Bedeutung, z. B. 2D -Filter, die in der Bildverarbeitung verwendet werden. In diesem Fall kann eine signifikante Verringerung der Rechenkomplexität erhalten werden, wenn der Filter als Faltung eines 1D -Filters in horizontaler Richtung und eines 1D -Filters in vertikaler Richtung getrennt werden kann. Ein Ergebnis des Filterkonstruktionsverfahrens kann z. B. als trennbarer Filter oder als Summe trennbarer Filter eingehalten werden.
Andere Überlegungen
Es muss auch entschieden werden, wie der Filter implementiert wird:
Analogfilter
Das Design von linearen analogen Filtern ist größtenteils in der bedeckt linearer Filter Sektion.
Digitale Filter
Digitale Filter werden in eine von zwei grundlegenden Formen eingeteilt, je nachdem, wie sie auf a reagieren Einheitsimpuls:
- Endliche Impulsantwort, oder TANNE, Filter drücken jede Ausgangsprobe als gewichtete Summe der letzten aus N Eingangsproben, wo N ist die Reihenfolge des Filters. FIR-Filter sind normalerweise nicht rekursiv, was bedeutet, dass sie kein Feedback verwenden und als solche von Natur aus stabil sind. EIN gleitender Durchschnitt Filter oder CIC -Filter sind Beispiele für FIR -Filter, die normalerweise rekursiv sind (die Feedback verwenden). Wenn die FIR -Koeffizienten symmetrisch sind (oft der Fall), dann ist ein solcher Filter lineare Phase, so dass es Verzögerungen Signale aller Frequenzen gleichermaßen, was in vielen Anwendungen wichtig ist. Es ist auch unkompliziert, Überlauf in einem FIR -Filter zu vermeiden. Der Hauptnachteil ist, dass sie möglicherweise erheblich mehr benötigen wird bearbeitet und Erinnerung Ressourcen als geschickt gestaltete IIR -Varianten. FIR -Filter sind im Allgemeinen einfacher zu gestalten als IIR -Filter - die Parks-McClellan-Filter-Design-Algorithmus (basierend auf Remez -Algorithmus) ist eine geeignete Methode, um ziemlich gute Filter halbautomatisch zu entwerfen. (Sehen Methodik.))
- Unendliche Impulsantwort, oder IirFilter sind das digitale Gegenstück zu analogen Filtern. Ein solcher Filter enthält den internen Zustand, und die Ausgabe und der nächste interne Zustand werden durch a bestimmt lineare Kombination der vorherigen Eingänge und Ausgänge (mit anderen Worten, sie verwenden Rückmeldung, welche FIR -Filter normalerweise nicht). Theoretisch stirbt die Impulsantwort eines solchen Filters niemals vollständig aus, daher ist der Name IIR, obwohl dies angesichts der endlichen Auflösung der Computerarithmetik in der Praxis nicht zutrifft. IIR -Filter benötigen normalerweise weniger Computer Ressourcen als ein FIR -Filter ähnlicher Leistung. Aufgrund des Feedbacks können IIR -Filter mit hoher Ordnung jedoch Probleme mit haben Instabilität, arithmetischer Überlauf, und Zyklen begrenzenund erfordern sorgfältige Design, um solche Fallstricke zu vermeiden. Zusätzlich seit der Phasenverschiebung ist von Natur aus eine nichtlineare Funktion der Frequenz, die Zeitverzögerung durch einen solchen Filter ist frequenzabhängig, was in vielen Situationen ein Problem sein kann. 2. Ordnung IIR -Filter werden oft genannt ''Biquads'Und eine häufige Umsetzung von Filtern höherer Ordnung besteht darin, Biquads zu kaskaden. Eine nützliche Referenz für die Berechnung von Biquad -Koeffizienten ist die RBJ Audio EQ -Kochbuch.
Beispielrate
Es sei denn, die Beispielrate wird durch einige externe Einschränkungen festgelegt, die Auswahl einer geeigneten Stichprobenrate ist eine wichtige Entwurfsentscheidung. Eine hohe Rate erfordert mehr in Bezug auf Rechenressourcen, aber weniger in Bezug auf Anti-Aliasing-Filter. Interferenz und Prügel Mit anderen Signalen im System kann auch ein Problem sein.
Kantenglättung
Für jedes digitale Filterdesign ist es entscheidend, zu analysieren und zu vermeiden Aliasing Auswirkungen. Dies geschieht häufig durch Zugabe analoge Anti-Aliasing-Filter am Eingang und Ausgang, wodurch eine Frequenzkomponente über dem vermieden wird Nyquist Frequenz. Die Komplexität (d. H. Steilheit) solcher Filter hängt vom erforderlichen Signal-Rausch-Verhältnis und das Verhältnis zwischen dem Abtastrate und die höchste Frequenz des Signals.
Theoretische Basis
Teile des Entwurfsproblems beziehen sich auf die Tatsache, dass bestimmte Anforderungen im Frequenzbereich beschrieben werden, während andere im Zeitbereich ausgedrückt werden und dass diese konflikt. Beispielsweise ist es nicht möglich, einen Filter zu erhalten, der sowohl eine willkürliche Impulsantwort als auch eine willkürliche Frequenzfunktion aufweist. Andere Effekte, die sich auf die Beziehungen zwischen Zeit- und Frequenzbereich beziehen, sind
- Das Unsicherheitsprinzip zwischen Zeit- und Frequenzbereich
- Der Varianzverlängerungssatz
- Das asymptotische Verhalten einer Domäne gegenüber Diskontinuitäten in der anderen
Das Unsicherheitsprinzip
Wie von der angegeben Gabor -Grenze, ein Unsicherheitsprinzip, das Produkt der Breite der Frequenzfunktion und der Breite der Impulsantwort kann nicht kleiner als eine bestimmte Konstante sein. Dies bedeutet, dass, wenn eine bestimmte Frequenzfunktion angefordert wird, die einer bestimmten Frequenzbreite entspricht, die minimale Breite des Filters in der Signaldomäne eingestellt ist. Umgekehrt, wenn die maximale Breite der Antwort angegeben ist, bestimmt dies die kleinstmögliche Breite in der Frequenz. Dies ist ein typisches Beispiel für widersprüchliche Anforderungen, bei denen der Filterentwurfsprozess versuchen kann, einen nützlichen Kompromiss zu finden.
Der Varianzverlängerungssatz
Lassen die Varianz des Eingangssignals sein und lassen Sei die Varianz des Filters. Die Varianz der Filterantwort, , wird dann gegeben durch
- = +
Das bedeutet, dass und impliziert, dass die Lokalisierung verschiedener Merkmale wie Impulse oder Schritte in der Filterantwort durch die Filterbreite im Signalbereich begrenzt wird. Wenn eine genaue Lokalisierung angefordert wird, benötigen wir einen Filter mit geringer Breite im Signalbereich, und über das Unsicherheitsprinzip kann seine Breite im Frequenzbereich nicht willkürlich klein sein.
Diskontinuitäten versus asymptotisches Verhalten
Lassen f (t) eine Funktion sein und lassen Sei seine Fourier -Transformation. Es gibt einen Satz, der besagt, dass wenn die erste Ableitung von F das diskontinuierliche hat Ordnung , dann f Hat einen asymptotischen Zerfall wie .
Eine Folge dieses Satzes ist, dass die Frequenzfunktion eines Filters so glatt wie möglich sein sollte, damit seine Impulsantwort einen schnellen Zerfall und damit eine kurze Breite hat.
Methodik
Eine gemeinsame Methode zum Entwerfen von FIR -Filtern ist die Parks-McClellan-Filter-Design-Algorithmus, basierend auf Remez Exchange -Algorithmus. Hier gibt der Benutzer einen gewünschten Frequenzgang, eine Gewichtungsfunktion für Fehler aus dieser Antwort und eine Filterreihenfolge an N. Der Algorithmus findet dann den Satz von N Koeffizienten, die die maximale Abweichung vom Ideal minimieren. Intuitiv findet dies den Filter, der so nah wie möglich zu der gewünschten Antwort ist, da Sie nur verwenden können N Koeffizienten. Diese Methode ist in der Praxis und mindestens ein Text besonders einfach[2] Enthält ein Programm, das den gewünschten Filter nimmt und N und gibt die optimalen Koeffizienten zurück. Ein möglicher Nachteil der auf diese Weise entworfenen Filter besteht darin, dass sie viele kleine Wellen im Passband enthalten, da ein solcher Filter den Spitzenfehler minimiert.
Eine andere Methode zum Auffinden eines diskreten FIR -Filters ist Filteroptimierung beschrieben in Knutsson et al., Das das Integral des Quadrats des Fehlers anstelle seines Maximalwerts minimiert. In seiner Grundform erfordert dieser Ansatz eine ideale Frequenzfunktion des Filters wird zusammen mit einer Frequenzgewichtungsfunktion spezifiziert und Koordinatenmenge in der Signaldomäne, in der sich die Filterkoeffizienten befinden.
Eine Fehlerfunktion ist definiert als
wo ist der diskrete Filter und ist der Diskrete Fourier-Transformation definiert auf dem angegebenen Satz von Koordinaten. Die hier verwendete Norm ist formell die übliche Norm auf Räume. Das bedeutet, dass misst die Abweichung zwischen der angeforderten Frequenzfunktion des Filters, und die tatsächliche Frequenzfunktion des realisierten Filters, . Die Abweichung unterliegt jedoch auch der Gewichtungsfunktion Bevor die Fehlerfunktion berechnet wird.
Sobald die Fehlerfunktion festgelegt ist, wird der optimale Filter durch die Koeffizienten angegeben die minimieren . Dies kann durch Lösen des entsprechenden Problems mit den kleinsten Quadräten erfolgen. In der Praxis die Die Norm muss mittels einer geeigneten Summe über diskrete Punkte im Frequenzbereich angenähert werden. Im Allgemeinen sollten diese Punkte jedoch signifikant höher sein als die Anzahl der Koeffizienten in der Signaldomäne, um eine nützliche Näherung zu erhalten.
Gleichzeitige Optimierung in beiden Domänen
Die vorherige Methode kann so erweitert werden, dass ein zusätzlicher Fehler Term in Bezug auf eine gewünschte Filterimpulsantwort in der Signaldomäne mit einer entsprechenden Gewichtungsfunktion einbezogen wird. Die ideale Impulsreaktion kann unabhängig von der idealen Frequenzfunktion ausgewählt werden und wird in der Praxis verwendet, um die effektive Breite zu begrenzen und Klingelffekte des resultierenden Filters im Signalbereich zu entfernen. Dies geschieht durch Auswahl einer schmalen idealen Filterimpulsantwortfunktion, z. B. einem Impuls und einer Gewichtungsfunktion, die schnell mit dem Abstand vom Ursprung wächst, z. B. dem quadratischen Abstand. Der optimale Filter kann weiterhin berechnet werden, indem ein einfaches Problem der kleinsten Quadrate gelöst wird, und der resultierende Filter ist dann ein "Kompromiss", der eine vollständige optimale Anpassung an die idealen Funktionen in beiden Domänen hat. Ein wichtiger Parameter ist die relative Stärke der beiden Gewichtungsfunktionen, die feststellen, in welcher Domäne es wichtiger ist, eine gute Passform in Bezug auf die ideale Funktion zu haben.
Siehe auch
Verweise
- ^ Valdez, M.E. "Digitale Filter". GRM -Netzwerke. Abgerufen 13. Juli 2020.
- ^ Rabiner, Lawrence R. und Gold, Bernard, 1975: Theorie und Anwendung der digitalen Signalverarbeitung (Englewood Cliffs, New Jersey: Prentice-Hall, Inc.) ISBN0-13-914101-4
- A. Antoniou (1993). Digitale Filter: Analyse, Design und Anwendungen (2 ed.). McGraw-Hill, New York, NY. ISBN 978-0-07-002117-4.
- A. Antoniou (2006). Digitale Signalverarbeitung: Signale, Systeme und Filter. McGraw-Hill, New York, NY. ISBN 978-0-07-145424-7.
- S.W.A. Bergen; A. Antoniou (2005). "Entwurf nicht rezisiver digitaler Filter unter Verwendung der Ultrasphären -Fensterfunktion". Eurasip Journal zur angewandten Signalverarbeitung. 2005 (12): 1910. doi:10.1155/ASP.2005.1910.
- A. G. Deczky (Oktober 1972). "Synthese rekursiver digitaler Filter unter Verwendung des minimalen P-Errorkriteriums". IEEE trans. Audio -Elektroakustik. AU-20 (4): 257–263. doi:10.1109/tau.1972.1162392.
- J.K. Kaiser (1974). "Nicht rezisive digitale Filterdesign mit dem I0-sinh Fensterfunktion ". Proc. 1974 IEEE INT. Symp. Kreistheorie (ISCAS74). San Francisco, CA. S. 20–23.
- H. Knutsson; M. Andersson; J. Wiklund (Juni 1999). "Advanced Filter Design". Proc. Skandinavisches Symposium über Bildanalyse, Kangerlussuaq, Grönland.
- S.K. Mitra (1998). Digitale Signalverarbeitung: Ein computergestützter Ansatz. McGraw-Hill, New York, NY. ISBN 978-0-07-286546-2.
- EIN V. Oppenheim; R. W. Schafer; J. R. Buck (1999). Diskrete Signalverarbeitung. Prentice-Hall, Upper Saddle River, NJ. ISBN 978-0-13-754920-7.
- T.W. Parks; J.H. McClellan (März 1972). "Chebyshev -Näherung für nicht rezisive digitale Filter mit linearer Phase". IEEE trans. Kreistheorie. CT-19 (2): 189–194. doi:10.1109/tct.1972.1083419.
- L.R. Rabiner; J.H. McClellan; T.W. Parks (April 1975). "Digitalfilterdesign -Techniken mit gewichteter Chebyshev -Approximation". Proc. IEEE. 63 (4): 595–610. doi:10.1109/proc.1975.9794. S2CID 12579115.
Externe Links
- Eine umfangreiche Liste der Filterentwurfsartikel und Software am Circuit Sage
- Eine Liste der Software für digitale Filterdesign bei DSPGURU
- Analoge Filterdesign entmystifiziert
- Yehars digitales Soundverarbeitungs -Tutorial für das Braindead! Dieses Papier erklärt einfach (zwischen anderen Themen) Filter -Design -Design -Theorie und gibt einige Beispiele