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

Hochpass-Filter manuelle erstellen

 

Hawki
Forum-Newbie

Forum-Newbie


Beiträge: 4
Anmeldedatum: 11.07.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 11.07.2011, 09:46     Titel: Hochpass-Filter manuelle erstellen
  Antworten mit Zitat      
Hallo,

ich möchte in Simulink einen diskreten Hochpassfilter erstellen.

Es geht darum, dass ich aus einem Sensorsignal den Sensordrift eliminiere.
Die Sample Time liegt bei 0.005s und die Grenz- und Eckfrequenz sollen möglichst gering sein. Am besten wäre Fstop=0.001Hz und Fpass=0.005Hz.
Leider kann ich dafür den Highpass oder den Digital Filter Design Block nicht verwenden, weil die Frequenzen so gering sind, dass beim Filter Design Rundungsfehler auftreten. (Error-Message: Failure to Converge) Deshalb möchte ich den Highpass-Filter manuell aus Blöcken zusammensetzen. Leider bin ich in Regelungstechnik und Filteraufbau nicht sooo firm, habe also ehrlich gesagt keine Ahnung, was für Blöcke man da wie verwenden sollte.

Ich würde mich über jede Hilfe freuen Smile
Vielen Dank schon einmal.
Private Nachricht senden Benutzer-Profile anzeigen


punkNgrind
Forum-Century

Forum-Century


Beiträge: 136
Anmeldedatum: 10.03.11
Wohnort: Hamburg
Version: R2014b
     Beitrag Verfasst am: 11.07.2011, 09:58     Titel:
  Antworten mit Zitat      
Ich benutze auch als TP-Filter den 'Discrete Transfer Fcn'-Block, kann es sein, dass du nur beim Solver die Toleranzen zu hoch gewählt hast?
Private Nachricht senden Benutzer-Profile anzeigen
 
Hawki
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 4
Anmeldedatum: 11.07.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 11.07.2011, 10:32     Titel:
  Antworten mit Zitat      
Danke schon mal!

Mit dem Solver kann das eigentlich nichts zu tun haben, die Fehlermeldung bekomme ich schon beim Erstellen des Filters (Im FDA-Tool beim Klicken auf "Design Filter" und beim "Highpass" Block wenn ich auf OK klicke.

Das mit der Discrete Transfer Function werde ich mal probieren, bin auf den ersten Blick aber unsicher, was ich als Koeffizienten einstellen muss, um die gewünschten Grenzfrequenzen zu erreichen... Wie berechne ich sowas?
Private Nachricht senden Benutzer-Profile anzeigen
 
DSP
Forum-Meister

Forum-Meister



Beiträge: 2.117
Anmeldedatum: 28.02.11
Wohnort: ---
Version: R2014b
     Beitrag Verfasst am: 11.07.2011, 13:35     Titel: Re: Hochpass-Filter manuelle erstellen
  Antworten mit Zitat      
Hawki hat Folgendes geschrieben:

Die Sample Time liegt bei 0.005s und die Grenz- und Eckfrequenz sollen möglichst gering sein. Am besten wäre Fstop=0.001Hz und Fpass=0.005Hz.


Bei diesen Wünschen der Leistungsfähigkeit des Filters ist es ja kein Wunder, dass das FDA Tool hier streikt. Für ein Window Sinc Filter mit annähernd dieser Leistung hast du eine Filterordnung von 200.000 Laughing

Evtl. solltest du deine Ansprüche bzgl. der Bandbreite deutlich runter schrauben, oder dir etwas anderes überlegen. Oder sind diese Dimensionen für dich kein Problem...wie viele Messwerte hast du denn?
Private Nachricht senden Benutzer-Profile anzeigen
 
Hawki
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 4
Anmeldedatum: 11.07.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 11.07.2011, 14:34     Titel: Re: Hochpass-Filter manuelle erstellen
  Antworten mit Zitat      
DSP hat Folgendes geschrieben:
Hawki hat Folgendes geschrieben:

Die Sample Time liegt bei 0.005s und die Grenz- und Eckfrequenz sollen möglichst gering sein. Am besten wäre Fstop=0.001Hz und Fpass=0.005Hz.


Bei diesen Wünschen der Leistungsfähigkeit des Filters ist es ja kein Wunder, dass das FDA Tool hier streikt. Für ein Window Sinc Filter mit annähernd dieser Leistung hast du eine Filterordnung von 200.000 Laughing

Evtl. solltest du deine Ansprüche bzgl. der Bandbreite deutlich runter schrauben, oder dir etwas anderes überlegen. Oder sind diese Dimensionen für dich kein Problem...wie viele Messwerte hast du denn?


Hm, also das Signal kommt von einem Sensor, der mit einer Abtastrate von 200Hz aufnimmt, eine Messreihe dauert ca 200 Sekunden, also sinds in etwa 40000 Messwerte.
Im Grunde genommen geht es mir darum, den Sensordrift zu eliminieren, und als Lösungsansatz dachte ich mir, ein Drift wäre ja (fast) nichts anderes, also eine Schwingung mit einer unendlich niedrigen Frequenz, als f_drift -> 0Hz.
Deshalb möchte ich die niedrigen Frequenzen aus dem Signal rausfiltern. Problematisch ist das deswegen, weil das eigentliche Signal, das ich am Ende rausbekommen möchte, Schwingung von ca 0,05-1 Hz aufweist.
Ich habe die Filteranforderungen deshalb schon mal aufgeweicht zu Fstop=0.01Hz und Fpass=0.05Hz, mit mäßigem Erfolg, der Rundungsfehler tritt immer noch auf.

Gibt es sonst eine Möglichkeit, diese Schwingungen herauszufiltern, oder den Drift zu eliminieren?
Private Nachricht senden Benutzer-Profile anzeigen
 
DSP
Forum-Meister

Forum-Meister



Beiträge: 2.117
Anmeldedatum: 28.02.11
Wohnort: ---
Version: R2014b
     Beitrag Verfasst am: 11.07.2011, 14:45     Titel:
  Antworten mit Zitat      
Eine derartige Leistung ist mit einem Filter nicht möglich, vor allem nicht bei deiner gewünschten Bandbreite und der dazu noch sehr niedrigen Eckfreq.

Wie wäre es, den Drift über den Mittelwert zu regeln? Wenn der MW langsam abhaut, einfach die Differenz von alt zu neu abziehen.
Private Nachricht senden Benutzer-Profile anzeigen
 
Hawki
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 4
Anmeldedatum: 11.07.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 12.07.2011, 10:21     Titel:
  Antworten mit Zitat      
DSP hat Folgendes geschrieben:
Eine derartige Leistung ist mit einem Filter nicht möglich, vor allem nicht bei deiner gewünschten Bandbreite und der dazu noch sehr niedrigen Eckfreq.

Wie wäre es, den Drift über den Mittelwert zu regeln? Wenn der MW langsam abhaut, einfach die Differenz von alt zu neu abziehen.


Hab ich auch schon versucht. An sich ist das möglich, und wenn ich das mehrfach hintereinander mache, wird es immer genauer. Leider wird das Signal im Anschluss aber aufintegriert und jede Abweichung, die noch bleibt, wirkt sich dadurch umso stärker aus.

Mittlerweile habe ich aber mit dem FDA-Tool weiter rumprobiert und im Window Modus einen Chebychev II Fenster mit einer Ordnung von 100 ausprobiert. Das klappt (warum auch immer) sehr gut! Von daher ist das Problem fürs erste behoben Smile Wenn nicht, melde ich mich nochmal, vielen Dank jedenfalls für die Hilfe!
Private Nachricht senden Benutzer-Profile anzeigen
 
DSP
Forum-Meister

Forum-Meister



Beiträge: 2.117
Anmeldedatum: 28.02.11
Wohnort: ---
Version: R2014b
     Beitrag Verfasst am: 12.07.2011, 14:41     Titel:
  Antworten mit Zitat      
Das ist aber kein FIR Window-Sinc Filter, sondern ein IIR Cheby 2 Filter Wink
Der Amplitudengang sieht ja klasse aus...da bin ich jetzt selber überrascht. Allerdings lässt sich das Filter bei mir nicht als Simulink Modell mit dieser Filterordnung erstellen. Mit 50 geht es dann zwar, allerdings bekomme ich während der Simulation einen "Memory Allocation Error" und das wars dann.

Was hast du denn genau für Paramter im FDA Tool eingestellt und was für eine Matlab Version verwendest du?
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.