FIR Filter berechnen und anwenden
-
Ich habe irgendwo gelesen das FIR-Filter häufiger eingesetzt werden als die mit Rückkopplung, aber lasse mich gerne eines Besseren belehren.
Was sind die Vorteile der IIR-Filter?
Ok, wie realisiere ich einen IIR-Filter und wie kann ich da die Grenzfrequenz und die Filterart in Echtzeit berechnen, so dass ich live mit den Filtern "spielen" kann?
-
Ein Tip:
Schau dir bitte erst mal die Software Octave (http://www.gnu.org/software/octave/) an, mit der man numerische Berechnungen durchführen kann. Denn mit dieser Software kannst du unter anderem auch Filter (Bereich Signalverbeitung) berechnen. In der Doku zu Octave findest du unter dem Begriff Signal Processing eine Übersicht über die unterstützten Befehle wie: fft, ifft, filter, blackman, hamming, ...
Ziel des Ganzen ist es erst einmal dass du ein Gefühl für die Signalverarbeitung bekommst.
Spiele ruhig mal damit rum. Wie sieht das kontinuierliche Spektrum einer Audio Datei an ? Wie sieht das abgetastete Spektrum aus ? Wie sieht ein gefiltertes Signal aus ? ...
Weitere Materialien:
http://en.wikipedia.org/wiki/Digital_filter
https://ccrma.stanford.edu/~jos/filters/filters.htmlNoch ein kleiner Hinweis:
Wenn du Octave installieren willst, würde ich empfehlen alle Pakete außer oct2mat zu installieren da dies bei mir Probleme verursachte.
-
Danke für den Tipp. Ich habe Matlab 2009 installiert, muss ich da auch ein zusätzliches Modul installieren? Wäre Octave besser für das Rumspielen geeignet?
-
freizeit_programmierer schrieb:
Was sind die Vorteile der IIR-Filter?
- deutlich einfachere Implementierung
- bessere Echtzeitfähigkeiten
- andere Designmöglichkeiten (z.B. schwingende Filter) durch Polpaare (durch Rückführungen)
- ...freizeit_programmierer schrieb:
Ok, wie realisiere ich einen IIR-Filter und wie kann ich da die Grenzfrequenz und die Filterart in Echtzeit berechnen, so dass ich live mit den Filtern "spielen" kann?
Gibt mehrere Möglichkeiten. Gerne geht man von "analogen" Designs aus, diskretisiert diese mittels der bilinearen Transformation und berechnet sich so die Koeffizienten. Das kann man dann natürlich in Echtzeit erledigen. Werde später etwas mehr zu schreiben falls ich dran denke
-
@freizeit_programmierer:
Wäre Octave besser für das Rumspielen geeignet?
Nee, soweit wie ich weis sind beide Programme ungefähr gleichwertig. Ich glaube sogar das Octave weniger Funktionalität hat als Matlab.
Ich habe Matlab 2009 installiert, muss ich da auch ein zusätzliches Modul installieren?
Das weis ich leider nicht. Schau mal in die Doku nach Signalverarbeitung, fft,... Es wird aber vermutlich keine Probleme damit geben, da die Entwicklung von Octave an Matlab ausgerichtet ist und es so viele gleiche Dinge zwischen den beiden Programmen gibt.
Ansonsten probiere doch einfach mal den fft Befehl in der Matlab Console. Oder probiere doch mal den pkg Befehl, welcher unter Octave alle installierten Pakete anzeigt.
-
@tim: danke für die Ausführungen, und wäre nett wenn du da noch mehr zu schreiben könntest.
@Bitte ein Bit:Matlab hat Tutorials zu den Filtern eingebaut auch wenn ich dort nicht alles verstehe. Ich werde nun das gefühlte tausendste Tutorial angehen, diesmal über Matlab um auch dort einen Einstieg zu finden.
*grr warum kann ich nicht wie andere einfach Cut & Paste programmieren.
Danke nochmal an alle die mir hier versuchen die Thematik zu erklären, das ist nicht selbstverständlich.
-
Ok, MatLab klingt schonmal gut und als Nichtstudent hast du vermutlich auch die Vollversion
mit installiertem Signal Processing Toolbox.
Als Einstieg fängst du jetzt erstmal hier an:
http://de.wikipedia.org/wiki/Butterworth-Filter
http://de.wikipedia.org/wiki/Bessel-Filter
http://de.wikipedia.org/wiki/Cauer-Filter
http://de.wikipedia.org/wiki/Tschebyscheff-FilterDies sind Filter mit jeweils speziellen Eigenschaften. Deine IIR-Filter werden nun an diese Eigenschaften angepasst. Lerne zuerst ein bisschen die Unterschiede zwischen den Typen und schreibe sie dir alle Ordentlich auf. Die Mathematik dahinter muss du nicht dringend verstehen. Die Frequenzgänge solltest du dir auch gut anschauen.
Danach gehts mit MatLab und Koefizienten weiter
-
Danke für deine Antwort, ja ich habe die SP-Toolbox in der man z.B. auch die Sprungantwort der Filter sich grafisch anschauen kann.
Ich habe mir die Filter durchgelesen und die für mich erst einmal relevante Unterschiede sind:
Tschebyscheff = schneidet Frequenzen vollständig ab und hat Welligkeit bei der Durchlassfrequenz
Butterworth = schneidet Frequenzen vollständig ab und verändert nicht die Durchlassfrequenzen. Scheint rechenintensiv zu sein.
Bessel = Filterchrakteristik ähnlich wie beim Butterworth, nur nicht so komplex in den Berechnungen.
Cauer = Wellen bei den abgeschnittenen Frequenzen und bei der Grenzfrequenz, die Durchlassfrquenzen verlaufen annähernt linear.
-
Danke erstmal bin hierhin für eure Mühe. Ich habe nun ein mal ein wenig auf englisch recherchiert und siehe da, es gibt tonnenweise Informationen wo auch ein Otto-Normal-Verbraucher vom Filterdesign mit Pole-Zero bis zur Implementierung alles versteht.
In deutsch hat man da kaum eine Chance ohne sich sehr intensiv mit den Grundlagen beschäftigen zu müssen, da alles zu umfangreich und nicht auf das Nötigste erklärt wird. So eben typisches Bürokraten-Deutsch, alles zu tiefst theoretisch beschrieben und so komplex wie möglich. Warum schaffen es die Deutschen nicht die Thematik auf das nötigste zu reduzieren und die Sachverhalten mit ganz einfachen knappen Sätzen zu beschreiben?
Mit Englisch spart man echt soviel Einarbeitungszeit in ein neues Thema das ist echt unglaublich, da fällt das Nachschlagen von Vokabeln nicht großartig ins Gewicht.
Nächstes mal werde ich gar nicht erst auf Deutsch suchen, da scheint das Motto zu gelten "Warum einfach wenn es auch kompliziert geht". Man man man, da kann man sich nur auf die Stirn klatschen.
Zum Glück gibt es Foren wie diese hier wo man auch mal in seiner Muttersprache kommunizieren kann.
Vielleicht geht es auch nur mir so mit den englischen Artikeln und Tuts.
-
freizeit_programmierer schrieb:
Vielleicht geht es auch nur mir so mit den englischen Artikeln und Tuts.
Nein, geht nicht nur dir so. Ich habe das bei Fachbüchern auch schon beobachtet. Es gibt auch gute deutsche Fachbücher, aber gerade bei Büchern, die in ein neues Thema einführen, find ich englische oft klarer geschrieben.