Forum: Digitale Signalverarbeitung / DSP / Machine Learning Matlab Butterworth Funktion Auslegung


von Matze (Gast)


Lesenswert?

Hi Leute,

Ich habe folgendes Problem und hänge an ein paar Stellen fest. Ich hab 
von einem Motor eine Momentenkurve aufgenommen und die ist (wie üblich 
durch den Regler) leicht verrauscht. Ich möchte dass diese Kurve nun 
etwas glatter wird und deshalb hab ich mir überlegt einen Filter drüber 
zu lassen.

Mein erstes Problem war, dass ich keine Ahnung habe wie ich das ohne 
Matlab anstelle. Ich habs in Matlab hinbekommen die Daten zu importieren 
=> zu filtern und in einem Plot über die Originalkurve zu legen.

Der benützte Filter war ein Tiefpasse => Butterworth 2. Ordnung. Hier 
liegt aber sogleich das erste Problem: Ich weiß nicht was die zweite 
Übergabe bei der butter Funktion bedeutet. Durch probieren hab ich eine 
geeignete Größe gefunden. Jedoch kapier ich nicht was diese normierte 
Grenzfrequenz sein soll.

Normalerweise ist die Grenzfrequenz doch jene bei der der Amplitudengang 
-3db Verstärkung hat aber wie kann ich sowas normieren??? Dieser zweite 
Parameter muss bei dieser Frequenz von 0 ... 1 gehen meine Grenzfrequenz 
liegt aber bei ca. 40Hz.

Ich habe auch eine Implementierung eines Butterworth Filters im Internet 
gefunden bzw erstellt => 
http://www-users.cs.york.ac.uk/~fisher/mkfilter/ jedoch wie ich auf die 
Koeffizienten und auf die Verstärkung komme weiß ich nicht.

Könnt ihr mir hier helfen?

Zum einen, was bedeutet bei der Matlab-butter funktion die zweite 
Übergabe (die erste ist ja die Ordnung)
Zum anderen, wie komme ich auf die Koeffizienten?

Vielen Dank

lg
Matze

von ruedib (Gast)


Lesenswert?

Hallo Matze,

das Signal, dass du mit dem Filter bearbeitest wurde mit einer 
Samplingfrequenz fs abgetastet. Der zweite Parameter ist gleich der 
Grenzfrequenz des Filters dividiert durch die halbe Samplingfrequenz. 
D.h. wenn du den Parameter auf 1 setzt (Maximum), dann hat dein Filter 
die halbe Samplingfrequenz als Grenzfrequenz.

Unter http://www.exstrom.com/journal/sigproc/ findest du Code unter GPL 
um Koeffizienten zu machen, dabei kann das ganze so eingestellt werden, 
dass die Verstärkung 1 rauskommt.

Grüsse

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.