|
|
Hochpass-Filter manuelle erstellen |
|
Hawki |
Forum-Newbie
|
|
Beiträge: 4
|
|
|
|
Anmeldedatum: 11.07.11
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 11.07.2011, 09:46
Titel: Hochpass-Filter manuelle erstellen
|
|
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
Vielen Dank schon einmal.
|
|
|
|
|
punkNgrind |
Forum-Century
|
|
Beiträge: 136
|
|
|
|
Anmeldedatum: 10.03.11
|
|
|
|
Wohnort: Hamburg
|
|
|
|
Version: R2014b
|
|
|
|
|
|
Verfasst am: 11.07.2011, 09:58
Titel:
|
|
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?
|
|
|
Hawki |
Themenstarter
Forum-Newbie
|
|
Beiträge: 4
|
|
|
|
Anmeldedatum: 11.07.11
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 11.07.2011, 10:32
Titel:
|
|
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?
|
|
|
DSP |
Forum-Meister
|
|
Beiträge: 2.117
|
|
|
|
Anmeldedatum: 28.02.11
|
|
|
|
Wohnort: ---
|
|
|
|
Version: R2014b
|
|
|
|
|
|
Verfasst am: 11.07.2011, 13:35
Titel: Re: Hochpass-Filter manuelle erstellen
|
|
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
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?
|
|
|
Hawki |
Themenstarter
Forum-Newbie
|
|
Beiträge: 4
|
|
|
|
Anmeldedatum: 11.07.11
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 11.07.2011, 14:34
Titel: Re: Hochpass-Filter manuelle erstellen
|
|
|
|
|
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
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?
|
|
|
DSP |
Forum-Meister
|
|
Beiträge: 2.117
|
|
|
|
Anmeldedatum: 28.02.11
|
|
|
|
Wohnort: ---
|
|
|
|
Version: R2014b
|
|
|
|
|
|
Verfasst am: 11.07.2011, 14:45
Titel:
|
|
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.
|
|
|
Hawki |
Themenstarter
Forum-Newbie
|
|
Beiträge: 4
|
|
|
|
Anmeldedatum: 11.07.11
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 12.07.2011, 10:21
Titel:
|
|
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 Wenn nicht, melde ich mich nochmal, vielen Dank jedenfalls für die Hilfe!
|
|
|
DSP |
Forum-Meister
|
|
Beiträge: 2.117
|
|
|
|
Anmeldedatum: 28.02.11
|
|
|
|
Wohnort: ---
|
|
|
|
Version: R2014b
|
|
|
|
|
|
Verfasst am: 12.07.2011, 14:41
Titel:
|
|
Das ist aber kein FIR Window-Sinc Filter, sondern ein IIR Cheby 2 Filter
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?
|
|
|
|
|
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.
|
|