Forum: Digitale Signalverarbeitung / DSP / Machine Learning Unbekannten Tiefpass mit Matlab modellieren


von TW (Gast)


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

von Sven (Gast)


Lesenswert?

Amplitudengang H zu Impulsantwort h transformieren und schon hat man die 
Filterkoeffizienten !?!

von Christoph db1uq K. (christoph_kessler)


Lesenswert?

oder mit Geradenstücken annähern, mit "yulewalk"
http://www.mathworks.com/access/helpdesk/help/toolbox/signal/yulewalk.html

von S_me (Gast)


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.

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
Noch kein Account? Hier anmelden.