Tja,
wo fange ich mal an. Also ein FIR Filter ist ein Filter mit endlicher Impulsantwort, dass sich digital realisieren lässt. Gibt man also einen Impuls in Form eines Sprunges auf das Filter, so klingt das Signal nach einer definierten Zeit ab. Dadruch unterscheided es sich von einem IIR Filter, dass eine unendliche Impulsantwort besitzt. Bei nem Sprung würde das IIR Filter irgendwann anfangen zu schwingen. FIR Filter bieten zudem noch die Eigenschaft, dass sie bei richtiger Wahl der Filterkoeffizenten eine konstante Gruppenlaufzeit über den gesammten Frequenzbereich aufweisen. Jetzt könnte ich anfangen hier viel Theorie zu diesen Filter zu posten, aber
... Wichtig ist noch zu wissen, dass die FIR Filter auf einer Fourierreihenentwicklung basieren. Die Reihenentwicklung wird jedoch abgebrochen, wodurch es bei FIR Filtern zu Schwingern im Frequenzgang kommen kann. Um diese Schwinger zu minimieren, werden FIR Filter in der Regel gefenstert. Dabei handelt es sich im Grunde um eine Verrechnung der Filterkoeffizenten mit Korrekturfaktoren, die den Frequenzgang glätten sollen. Auch hier gibt es wieder viele viele verschiedene Fenster. Standard ist hier wohl das Hanning Fenster, mit dem man recht gute Ergebnisse erzielen kann. Des weiteren gibt es im Grunde zwei Methoden ein FIR Filter zu entwickeln. Die erste ist im Grunde nichts neues, man gibt eine gewünschte Grenzfrequenz vor und lässt Matlab machen. Dabei ist viel Probieren angesagt, bis man ein gutes Filter erreicht hat. Die etwas kompliziertere Methode ist die des Filter Designs nach Parks McClellan. Hier gibt man ein Pass und Stop Band an, sowie die maximal zulässigen Restwelligkeiten in diesen Bereichen. Das ganze ist eine Abwandlung der Remez Funktion, weshalb diese in Matlab auch zur Berechnung rangezogen wird. Dann gibt es bei der Entwicklung der Filter noch ein paar Punkte die man Wissen sollte. Das Erste ist die Normierung von Tiefpassfiltern. Bei FIR Tiefpassfiltern sollte man eine Normierung des Frequenzganges auf 1 durchführen, sonst gibt es Probleme für DC Signale. Ok, die kommen in der Musik eigentlich nicht vor, aber better safe than sorry. Also bei Tiefpassfiltern stumpf normieren. Das zweite was man für die Berechnung von FIR Filtern wissen muss ist die Theorie des Nyquist-Shannon-Abtasttheorem. Wobei für uns eigentlich nur zählt das fabtast > 2 x fmax. Dieser Werte brauchen wir für die Filterberechnung. Lässt man den Mindmap oder auch den FuDsVo mit dem Stadard Setting laufen, so ist fabtast 48 kHz und fmax bzw fshannon 24 kHz. Ergo liegt die höchste Frequenz die der DSP verarbeiten kann bei 24kHz. Drittens, FIR Filter besitzen nur dann eine konstante Gruppenlaufzeit, wenn die Koeffizenten spiegelsmyetrisch sind. Das heißt bis zu einem bestimmten Tap sind sie unterschiedlich und danach wiederholen sich die Koeffizenten in umgekehrter Reihenfolge. 1 3 4 2 5 7 5 2 4 3 1 oder sowas in der Richtung. Daher nimmt man für die Tap immer eine ungrade Zahl, sonst geht die Forderung nicht auf.
So, dass wars jetzt erstmal für heute Abend. Am Wochenende reiche ich, wenn ihr ganz lieb seid und eure Hausaufgaben macht, ein paar Matlab Scripte nach, mit denen sich die wichtigsten Filter für den Mindmap berechnen lassen.