Ich habe ein Offline-Signal, dass ich einen Hochpassfilter verwenden möchte. Sollte ich einen Butterworth-Filter verwenden oder könnte ich die Tatsache nutzen, dass das gesamte Signal bekannt ist, und einen idealen (Stufen-) Filter verwenden?
Die Verwendung eines hochgradigen Butterworth-Filters ist meiner Meinung nach praktisch dasselbe wie die Verwendung eines idealen Filters, und ein höherer Grad bedeutet einen besseren Filter, wenn keine Implementierungs- und Verarbeitungskosten anfallen. Könnte die starke Änderung der Impulsantwort jedoch ein Problem verursachen?
Das Signal ist ein bioelektrisches Signal, das fast periodisch ist, und ich habe ungefähr 100 Perioden.
Antworten:
Für die meisten praktischen Anwendungen sind Filterreaktionen, die sich dem Verhalten des idealen "Brick-Wall" -Filters annähern, übertrieben. Ich weiß, es ist verlockend zu versuchen, einen wirklich scharfen Filter zu entwerfen, wenn Sie die ganze Zeit auf der Welt haben (dh für Offline-Anwendungen), aber wenn Sie sich wirklich die Eigenschaften Ihres Problems ansehen, können Sie höchstwahrscheinlich mit etwas davonkommen viel vernünftiger.
Ein weiterer guter Grund, keinen Mauerfilter zu verwenden: Seine Impulsantwort ist unendlich lang und hat die Form einer Funktion. Wenn Sie einen solchen Filter auf Ihr Signal anwenden, stellen Sie möglicherweise fest, dass das Signal am Ausgang des Filters über einen längeren Zeitraum klingelt . Dies liegt an der Tatsache, dass die Funktion in der Impulsantwort des Filters unendlich lang ist und nicht sehr schnell abfällt. Der resultierende Effekt ist höchstwahrscheinlich nicht wünschenswert. Im Allgemeinen sind Filter mit langen Frequenzantworten für die Analyse kurzer Signale nicht sehr geeignet, da der Filterausgang vom Übergangsverhalten des Filters dominiert wird.sinc sinc
Die oben genannten Effekte sind nicht ausschließlich auf ideale Filterantworten beschränkt. Wenn Sie einen Filter mit einem wirklich scharfen Cutoff entwerfen, ist es dennoch möglich, dass Sie Zeitbereichsartefakte erhalten, die Sie nicht möchten. Dies ist intuitiv sinnvoll, da Sie den Frequenzgang des "nicht ganz idealen" Filters als den Frequenzgang des idealen Filters betrachten können, der mit einer schmalen Hauptkeule gefaltet ist, die die Antwort etwas verschmiert. Die Faltung im Frequenzbereich entspricht der Fensterung im Zeitbereich. Wenn Sie sich die Impulsantwort eines von Ihnen entworfenen sehr scharfen Filters ansehen, sieht es wahrscheinlich wie eine Funktion aus, bei der ein Fenster angewendet wird, um die Impulsantwort schneller zu verringern, als dies der alleine tut.sinc sinc
Ich gebe den gleichen Rat wie bei den meisten Problemen mit dem Filterdesign: Sie sollten wirklich versuchen, das Problem so quantitativ wie möglich anzugehen. Die Verwendung von Intuition für einen scheinbar guten Ansatz kann Sie oft auf den falschen Weg führen. Denken Sie stattdessen an Folgendes:
Wo ist mein interessierendes Signal im Spektrum?
Welche unerwünschten Signale befinden sich im Spektrum? Wo sind sie?
Wie groß sind die unerwünschten Signale im Verhältnis zum interessierenden Signal? Wie viel muss unterdrückt werden, um mein endgültiges Ziel zu erreichen?
Wie viel Verzerrung kann ich bei meinem interessierenden Signal tolerieren (sowohl in der Amplitude als auch in der Phase)?
Welche Recheneinschränkungen habe ich?
Die ersten vier Fragen geben Ihnen Filterleistungsspezifikationen, die Sie mit einer beliebigen Anzahl von Entwurfsmethoden verwenden können, um zu Filtern zu gelangen, die Ihre Ziele erreichen. Die letzte Frage ist ebenfalls wichtig und kann verwendet werden, um zwischen verschiedenen Filtertopologien (z. B. FIR oder IIR) zu wählen und eine zu finden, die für Ihre Anwendung implementiert werden kann.
quelle
Haben Sie versucht, einen Schrittfilter zu implementieren?
Solche idealen Filter werden auch im digitalen Bereich kaputt gehen. Bedenken Sie, dass für eine "ideale" Sprungantwort im Frequenzbereich ein Array mit unendlicher Größe erforderlich ist, um es im Zeitbereich angemessen darzustellen.
Wenn Sie also eine Signaltransformation in den Frequenzbereich durchführen, einen "perfekten" Filter durchführen und dann in den Zeitbereich zurückkehren, erhalten Sie einige fehlerhafte Ergebnisse.
Lesen Sie das Kapitel des DSP-Handbuchs zum Fenstersynchronisationsfilter, und Sie erhalten ein gutes Verständnis für dieses Phänomen
quelle