Digitale Filter
WIE FUNKTIONIEREN DENN NUN DIGITALE FILTER?
Wie bei den meisten wichtigen Synthesizerbauteilen halten die Firmen aus verständlichen konkurrenz- / markttechnischen Gründen ihre genauen Filteralgorithmen geheim, daher kann ich hier (wie auch auf andere genaue Techniken zutreffend) nur prinzipielle Lösungen geben, die in den fertigen Produkten komplizierter und besser sind (und auch so klingen!) Für einen Filtereffekt muß man mindestens zwei aufeinanderfolgende "Samplepunkte" verrechnen. Dies sind der aktuelle Wert aus dem Oszillator und sein Vorgängerwert. Das arithmetische Mittel ((Wert1 + akueller Wert) dividiert durch 2) der beiden Punkte ist der nun neue aktuelle Wert. Da hiermit eine Spitzenbildung im Signalverlauf verringert wird und die Spitzen Obertöne im Spektrum repräsentieren, kommt das Ergebnis einer Reduktion der Obertöne, also einer Tiefpaßwirkung gleich! Die dazugehörige Gleichung ist:
aktuellWert(Sample) = 0.5x(Sample) + 0.5x(VorherigesSample)
Einen Hochpaßeffekt kann man durch Subtraktion anstelle der Addition erreichen. Eine allgemeine Gleichung mit variablem Durchlaßverhalten (in Form der Koeffizienten) sieht so aus. Achtung! ("VorherigesSample") entspricht dabei ("Sample"-1):
aktuellWert(Sample) = ax(Sample) - bx(VorherigesSample)
Will man bestimmte Filter-Charakteristika besser bestimmen, braucht man die Betrachtung mehrerer Werte vor dem aktuellen Samplewert: aktuellWert(Sample) = ax(Sample) + bx(Sample-1) + cx(Sample-2) + etc.. Diesen Typ nennt man Finite Impulse Response (FIR), welcher noch keine Berücksichtigung der nun nötigen "Rückkopplung" hat, eine mathematische Verbindung von Aus- zu Eingangswerten. Der Infinite Impulse Response (IIR) genannte Filtertyp hat seinen Namen durch die unendliche ("infinite") Kette der Vorgängerwerte bekommen, während der FIR-Typ nur eine bestimmte "Stelle" bearbeitet. Es wird der aktuelle Wert aus Anteilen der jeweils vorausgegangenen Werte ermittelt und verwertet:
1 _ x aktueller Samplewert addiert mit 2 1 _ x vorangehender Samplewert addiert mit 4 1 _ x Samplewert vor vorangehendem Samplewert addiert mit etc... --> 8 . . . . V V Dieser Filtertyp (IIR) kann, wie oben erklärt, auch als Hochpaß fungieren, indem man die Brüche entsprechend subtrahiert (anstatt diese zu addieren). Von Vorteil ist also, möglichst viele Werte einzubeziehen ("Rückkopplung"). Die Nachteile sind in dieser Entwicklungsstufe: - nichtlinearer Phasengang, - aufwendige Rückkopplungsprogrammierung nötig- hohe Auflösung (Wortbreite / Bitbreite) wegen der Fehlereinberechnung nötig...- keine Selbstoszillation... Auch mit anderen Verfahren können Filter verwirklicht werden, wie etwa ein Kammfilter beispielsweise auch durch ein Delay (Verzögerung) mit Rückkopplung auf den Eingang erreicht werden kann. Auch Allpaßfilter können so generiert werden; hier spielen die Dämpfung der Rückkopplung und die Verknüpfung der Signale mit Multiplizierern und Addierern eine wichtige Rolle, dies findet in Korgs "Prophecy" Solosynthesizer eine hörbare Lösung. Auch Hall- und Echoeffekte (oder ähnlich diesen klingende Effekte) können mit Kamm- und Allpaßfilterkombinationen erzeugt werden, was für einen Synthesizer keine uninteressante Bereicherung darstellt. Viele Hersteller geben ihren Geräten bis zu achtfache Effektprozessoren (so auch die Korg "Trinity") mit auf den Weg. Für Aufgaben mit Rechnungen wie obige sind digitale Signal Prozessoren (DSP´s) sehr gut geeignet. In Clavias "Nord Lead" ist ein DSP (aus der meistverwendeten "56000er-Familie", hier ein 56002 FC40) für jeweils vier Stimmen zuständig. Zusammen mit einem Motorola MC68331(CFC16), einem Hauptprozessor mit der ungefähren Leistung eines Atari Falcon oder eines älteren Apple "68K Macintosh" - Modells hat der Nord Lead mit drei DSPs zwölf Stimmen zur Verfügung. Der benötigte Platz für diese Hardware ist zudem äußerst gering! Wie im nächsten Kapitel näher erläutert, benutzt der Waldorf "Microwave 2" eine sehr ähnliche Hardware!