WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Butterworthfilter in Simulink nachbauen

 

morsch
Forum-Anfänger

Forum-Anfänger


Beiträge: 14
Anmeldedatum: 03.09.14
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 03.09.2014, 20:17     Titel: Butterworthfilter in Simulink nachbauen
  Antworten mit Zitat      
Hallo zusammen,

ich habe eine Frage zum Thema Filter. Leider konnte ich über die Suchfunktion nicht das finden, was ich zur Lösung des Problems benötige.

Ich habe einen Butterworthfilter nachgebaut in Simulink mit den Koeffizienten a und b, die ich mir vorher in Matlab ermittelt habe über:
Code:

[b,a]=butter(3,0.01,'high')
 

Meinen nachgebauten Filter habe ich ebenfalls als Datei angehängt. Wenn ich nun mein zu filterndes Signal x in meinen nachgebauten Butterworth reingebe, bekomme ich nur Quatsch raus. Das System schwingt sich auf. Filter ich das Signal hingegen mit
Code:

kommt ein gutes Ergebnis heraus. Das heißt mein nachgebauter Filter ist nicht korrekt. Leider finde ich den Fehler nicht, über Hilfe würde ich mich sehr freuen!

nachgebauter_Butterworth.mdl
 Beschreibung:
Butterworth-Filter

Download
 Dateiname:  nachgebauter_Butterworth.mdl
 Dateigröße:  53.06 KB
 Heruntergeladen:  498 mal
Private Nachricht senden Benutzer-Profile anzeigen


morsch
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 14
Anmeldedatum: 03.09.14
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 04.09.2014, 18:05     Titel:
  Antworten mit Zitat      
Ich bin ein wenig weitergekommen, nun sitze ich aber an einem anderen Problem.

Zuerst einmal zur Lösung des obigen Problems:
Der Butterworth-Filter war korrekt, nur die Koeffizientenberechnung a und b waren nicht ganz richtig.

Díe Gleichungen zur Berechnung der Koeffizienten habe ich folgendermaßen ermittelt:
Mich interessieren Frequenzen zwischen 1Hz und 20 Hz. Ich habe mir Stützstellen(in 0.1Hz Schritten) gebildet und die entsprechenden Werte für die a und b Koeffizienten ermittelt. Die einzelnen Parameter(a1,a2,a3,a4 und b1,b2,b3,b4 bei der Filterordnung 3) lassen sich gut durch eine lineare Annäherung in diesem Bereich darstellen. Durch Vorgabe der Grenzfrequenz von beispielsweise 5Hz, kann ich nun entsprechend die Paramter a und b ermitteln. Die Grenzfrequenz wird in diesem Fall durch einen Look-up Table mit der Fahrzeuggeschwindigkeit als Eingang ermittelt.

Diese Paramter a und b verwende ich nun in meinem selbstgebauten Butterworthfilter und habe somit einen während der Simultion verstellbaren Filter entworfen (verstellbar durch die Fahrzeuggeschwindigkeit; Signalfluss:Fahrzeuggeschwindigkeit->Grenzfrequenzermittlung->Koeffizienten a und b->Filter). Leider funktioniert mein Filter nur, wenn ich die Fahrzeuggeschwindigkeit konstant vorgebe (dann aber prima). Sobald ich eine variierende Fahrzeuggeschwindigkeit vorgebe kommt wodurch auch die Parameter a und b varrieren, funtioniert mein Filter nicht mehr und schwingt stark.

Ich habe das Modell nochmals angehangen (diesmal mit korrekter Koeffizientenbestimmung). Man sieht, dass wenn man die Geschwindigkeit nicht direkt konstant eingehen lässt, sondern anfangs erst zu Null setzt, Probleme auftreten. Ich hätte jetzt eher vermutet (und das ist das Wunschverhalten) das anfangs das ungefilterte und am Ende das gefilterte Signal zu sehen ist am Ausgang meines selbsgebauten Butters.


Ich wäre wirklich sehr dankbar, wenn mir jemand helfen könnte das Problem zu lösen! Eventuell hat jemand auch einen anderen Vorschlag wie man die Grenzfrequenz eines Filter online während der Simulation verändern kann...

nachgebauter_Butterworth.mdl
 Beschreibung:
Butterworth

Download
 Dateiname:  nachgebauter_Butterworth.mdl
 Dateigröße:  177.5 KB
 Heruntergeladen:  688 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum posten
Du kannst Dateien in diesem Forum herunterladen
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2024 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.