|
|
|
Wie wende ich den Filter butter z,p,k an? |
|
| FloG |

Forum-Newbie
|
 |
Beiträge: 8
|
 |
|
 |
Anmeldedatum: 05.06.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 13.06.2012, 07:16
Titel: Wie wende ich den Filter butter z,p,k an?
|
 |
Hallo zusammen,
es gibt ja jede menge beispiele hier wie ich den Butterworth Filter in der Version [b,a]=butter(n,Wn) nutze mit der Funktion "filter". Aber nirgends ist eine Information zu finden wie ich ein Signal filtere mit dem Filter in der Version [z,p,k]=butter(n,Wn).
Warum möchte ich den zpk verwenden? Es heisst in der Matlab Hilfe:
"In general, you should use the [z,p,k] syntax to design IIR filters. To analyze or implement your filter, you can then use the [z,p,k] output with zp2sos and an sos dfilt structure. For higher order filters (possibly starting as low as order , numerical problems due to roundoff errors may occur when forming the transfer function using the [b,a] syntax."
gruß Flo
|
|
|
|
|
|
| DSP |

Forum-Meister
|
 |
Beiträge: 2.117
|
 |
|
 |
Anmeldedatum: 28.02.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: R2014b
|
 |
|
|
 |
|
Verfasst am: 13.06.2012, 09:11
Titel:
|
 |
Du hast doch schon fast alles...es muss nur noch das Filterobjekt erzeugt werden.
|
|
|
|
| FloG |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 8
|
 |
|
 |
Anmeldedatum: 05.06.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 13.06.2012, 11:04
Titel:
|
 |
Hallo DSP,
dankeschön für die Antwort. Diese Anwendung der Funktion filter war leider nicht in der Hilfe beschrieben. Ich habe das allerdings tatsächlich im Internet gefunden. Wenn ich mich recht erinnere war da die Rede von Problemen, oder dass das aufs gleiche hinausläuft wie mit der filter(b,a) version.
Warum ich das mit zpk ausprobieren wollte war, dass ich bei einem Signal (|sin(w*t)|), den Gleichanteil bestimmen/filtern wollte (ja das geht auch mit mean()). Also ein butter filter mit Zeitkonstante (=1/Grenzfrequenz) von 1s und Ordnung 1. Funktioniert wunderbar im (b,a) Typ. Sobald ich aber die 4te Ordnung oder eine höhere Zeitkonstante wählte, gab es Probleme. Anstelle einer Amplitude von ~1, schaukelte sich das gefilterte Signal auf 25 oder gar x*10^200 hoch.
Das tritt auch mit der zpk Variante auf. Die eigentliche Frage dieses Threads ist aber beantwortet.
|
|
|
|
| DSP |

Forum-Meister
|
 |
Beiträge: 2.117
|
 |
|
 |
Anmeldedatum: 28.02.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: R2014b
|
 |
|
|
 |
|
Verfasst am: 13.06.2012, 11:23
Titel:
|
 |
|
Verstehe ich noch nicht ganz...was gibst du genau für Wn bei der butter Fkt. an?
|
|
|
|
| FloG |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 8
|
 |
|
 |
Anmeldedatum: 05.06.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 13.06.2012, 15:17
Titel:
|
 |
|
|
|
| DSP |

Forum-Meister
|
 |
Beiträge: 2.117
|
 |
|
 |
Anmeldedatum: 28.02.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: R2014b
|
 |
|
|
 |
|
Verfasst am: 13.06.2012, 19:14
Titel:
|
 |
Wenn ich mit diesem Wn und n den butter Filter erstellen lasse, ist b(1-4) = 0. Das kann dann ja auch nicht gehen. Es ist aber auch utopisch bei dieser Abtastfreq. eine Grenzfreq. von 1 Hz haben zu wollen. Ich weiß nicht was hier zu dem b=0 führt, aber dadurch ist die tf-Funktion = 0. Du musst hier eine höhere Grenzfreq. wählen.
Das Hochschaukeln spricht ja dann eindeutig für ein instabiles Filter.
|
|
|
|
|
|
|
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 - 2025
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.
|
|