|
|
Butterworthfilter in Simulink nachbauen |
|
morsch |
Forum-Anfänger
|
|
Beiträge: 14
|
|
|
|
Anmeldedatum: 03.09.14
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 03.09.2014, 20:17
Titel: Butterworthfilter in Simulink nachbauen
|
|
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:
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
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!
Beschreibung: |
|
Download |
Dateiname: |
nachgebauter_Butterworth.mdl |
Dateigröße: |
53.06 KB |
Heruntergeladen: |
498 mal |
|
|
|
|
|
morsch |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 14
|
|
|
|
Anmeldedatum: 03.09.14
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 04.09.2014, 18:05
Titel:
|
|
|
|
|
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...
Beschreibung: |
|
Download |
Dateiname: |
nachgebauter_Butterworth.mdl |
Dateigröße: |
177.5 KB |
Heruntergeladen: |
688 mal |
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
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
| 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.
|
|