Gibt es für die Erstellung von "FIR Custom Filters" etablierte standard Tools, die auch unter Linux verwendbar sind? Also ich habe das nach dem DSP Guide (http://www.dspguide.com/ch17/1.htm ) mal mit 32 Werten manuell ausprobiert, was zwar grundsätzlich funktioniert hat, aber bei größerer Anzahl sehr umständlich ist. Also eigentlich möchte ich wissen, ob es sich lohnt, diese Funktion in ein eigenes (bereits vorhandenes) Testprogramm zu integrieren. Das würde ja praktisch auf ein Zeichenprogramm hinauslaufen, was ich bisher noch nicht gemacht habe (bisher nur Ausgabe). Also wenn es bereits Programme gibt, die einen vorgegebenen Frequenzgang abtasten und/oder die Koeffizienten oder wenigstens die Werte für die Inverse DFT z.B. als Text Datei erstellen können, währe es ja überflüssig da ein eigenes Programm zu entwickeln.
Moin, Unter Matlab und Octave gibt's die Funktion fir2; die koennt' das machen, was du willst. Aus der Hilfe: B = fir2 (N, F, M) Produce an order N FIR filter with arbitrary frequency response M over frequency bands F, returning the N+1 filter coefficients in B. The vector F specifies the frequency band edges of the filter response and M specifies the magnitude response at each frequency. Gruss WK
Moin, ich glaube das ist nicht ganz das was ich suche, bzw. das ist schon der zweite Schritt. Ich dachte mehr an etwas mit dem ich den Frequenzgang erstmal zeichnen oder sonstwie festlegen kann. Das soll also so etwas wie eine Frequenzgang Korrektur werden. Die Werte für F und M müssen ja irgendwo herkommen. Gruß Manfred
Moin, Ah, ok. Das ist was anderes. Bei Korrekturfiltern hab' ich's eigentlich so erlebt, dass die Daten auch irgendwie "mathematisch" vorlagen und nicht "per Freihandzeichnung". Also z.B. um einen sin(f)/f Frequenzgang zu kompensieren, nimmt man halt f/sin(f)... Zum Zeichnen kenn' ich nix. Gruss WK
Fdatool scheint das tatsächlich so ganz nebenbei auch zu können, ist aber leider kein Linux Programm. Auf die Idee, den Frequenzgang quasi freihändig zu zeichnen, bin ich durch das Beispiel im DSP Guide gekommen, aber da ist möglicherweise die Experimentierfreude mit mir durchgegangen. Wahrscheinlich kann man die Abweichung bei einem CIC Filter sogar mathematisch ausdrücken, aber mein Testprogramm könnte natürlich auch die Differenz der Messwerte zur 0-dB Linie ausrechnen. Und für ein A-Bewertungsfilter habe ich auch eine Formel gefunden, deren Bedeutung sich mir aber noch nicht erschließt. Gruß Manfred
https://www.mikrocontroller.net/articles/Digitalfilter_mit_ATmega#Frequenzgang_ma.C3.9Fgeschneidert Drei Verfahren für IIR-Filter
Danke für den Tipp. Auch wenn mich das jetzt nicht direkt weiter bringt zeigt es doch, dass meine Idee nicht völlig abwegig war. Den Artikel kannte ich zwar schon, hatte ihn aber damals gleich wieder ausgespeichert, da ich zum damaligen Zeitpunkt noch keine IIR Filter handhaben konnte. Ich habe mir jetzt aber mal den Spass erlaubt, die Koeffizienten aus dem Artikel in mein Testprogramm zu übernehmen. Dabei hat sich dann gezeigt, das ich die Vorzeichen der Rückkopplungskoeffizienten invertieren musste. Der Link hat mir aber auch gezeigt, das ich den Frequenzgang ja gar nicht selber am Bildschirm zeichnen muss. Ich könnte ja auch einfach eine Koordinatenliste aus einer Textdatei importieren. Gruß Manfred (DK6HC)
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.