Unbekannten Tiefpass mit Matlab modellieren

Gast #1502867
Lesenswert?

Hallo,

ich stehe im Moment vor der Aufgabe, dass ich anhand eines vorgegebenen 
Amplitudenganges einen Tiefpass-Filter mit Matlab modellieren soll. Ich 
kann zwar Eckdaten wie die Grenzfrequenz (3384 Hz) sowie die Dämpfungen 
bei bestimmten Frequenzwerten aus dem Diagramm ablesen (z.B. -9 dB bei 
6000 Hz), nur bin ich mir momentan nicht sicher wie ich bei so einer 
Aufgabe am geschicktesten vorgehen soll, da mein Tiefpass möglichst 
exakt mit dem vorgegebenen übereinstimmen soll. Die Verwendung der bei 
Matlab mitgelieferten Filter-funktionen wie butter, bessel usw hat nicht 
zum gewünschten Ergebnis geführt.
Hat jemand eine Idee, wie ich an die entsprechenden Filterkoeffizienten 
kommen kann?

mfG,
TW
Gast #1507314
Lesenswert?

Wenn es FIR sein darf: firls benutzen.
firls braucht einen Amplitudenvektor und einen Vektor mit den 
dazugehörigen Frequenzen. Einfach ein paar Werte da reinfüttern und 
Matlab bastelt ein Filter mit minimalem quadratischem Fehler.

Die Impulsantwortmethode gäbe es auch noch.

Ansonsten könnte man auch versuchen den quadratischen Fehler zu 
minimieren. Der Nelder-Mead bietet sich dafür an, heißt in Matlab 
fminsearch.
Das geht dann mit einer beliebigen Art Filter. Eigenes Filter bauen, 
Amplitudengang berechnen, quadratischen Fehler zum vorgegebenen Filter 
"messen" und zurückgeben. fminsearch passt die Koeffizienten dann an.
Kann furchtbar in die Hose gehen aber einen Versuch ist es Wert, dauert 
ja nicht lange.

firls macht etwas ähnliches, aber nur mit FIR Filtern.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren