Ich versuche, die Beziehung zwischen einem FIR-Filter, der aus "ersten Prinzipien" unter Verwendung eines Filterkerns mit Faltung entwickelt wurde, und einem Filter, der auf zwei Arten unter Verwendung von FFT entwickelt wurde (siehe unten), zu verstehen.
Soweit ich weiß, entspricht die Impulsantwort eines FIR-Filters dem Faltungskern des Filters. (Korrigieren Sie mich, wenn ich falsch liege.)
Nach meinem Verständnis ist die Komponentenfrequenz (dh Fourier-Transformation) der Impulsantwort eines FIR-Filters die gleiche wie die Frequenzantwort des Filters. Und deshalb gibt mir die inverse Fourier-Transformation die Impulsantwort zurück. (Korrigieren Sie mich erneut, wenn ich falsch liege.)
Dies führt mich zu zwei Schlussfolgerungen (Ignorieren der Phasenantwort oder Annahme einer linearen Phasenantwort):
Ich sollte in der Lage sein, ein FIR-Filter mit einem beliebigen Frequenzgang zu entwerfen, indem ich meinen gewünschten Frequenzgang "zeichne", eine IFFT nehme, um die Impulsantwort zu erhalten, und das als meinen Faltungskern verwende.
Alternativ sollte es mir möglich sein, ein Filter zu erstellen, indem ich die FFT des Eingangssignals nehme, mit meinem gewünschten willkürlichen Frequenzgang im Frequenzbereich multipliziere und eine IFFT des Ergebnisses nehme, um das Ausgangssignal zu erzeugen.
Intuitiv fühlt es sich so an, als wären 1 & 2 gleichwertig, aber ich bin mir nicht sicher, ob ich das beweisen könnte.
Es scheint, als würden Leute (und DSP-Literatur) große Anstrengungen unternehmen, um FIR-Kernel mit vordefinierten Antworten zu entwerfen, wobei sie komplizierte (für mich) Algorithmen wie Chebyshev oder Remez verwenden (ich werfe einige Namen aus, die ich gelesen habe, ohne sie wirklich zu verstehen) .
- Warum auf diese Längen gehen, wenn für jeden möglichen FIR-Kernel eine FFT / IFFT-Transformation existiert?
- Zeichnen Sie einfach den gewünschten Frequenzgang, nehmen Sie eine IFFT und schon haben Sie Ihren FIR-Kernel (Methode 1 oben).