Hallo, bin Matlab-Anfänger und möchte ein Signalfiltern. Angenommen ich habe einen einfachen TP mit einem Pol bei a. s = tf('s'); my_tf = 1 / (1 + s/a); Wie kann ich hiermit jetzt ein Signal filtern? Meine Idee war es die Transferfunktion in den z-Bereich zu überführen (wie in Matlab?) und dann die Koeffizienten per Hand ablesen und in die mysteriöse Filterfunktion zu stecken. Leider ist das mehr raten also sonst was. Kann mir jemand helfen + eine Lektüre empfehlen? Dank und Gruß
Vielleich hilft das Stichwort Bilineartransformation als Entwurfsmethode, um zu einem "abgetasteten" Filter zu kommen, schließlich ist frequenzmäßig bei fa/2 Schluß.
hallo, da hilft wohl nur etwas die dahinterstehende theorie zu lernen, z trafo und so. schluß ist übrigens nicht bei fs/2, aber da wirds periodisch
So einfach gehts zumindest in octave:
1 | function [filtered] = do_filter(tf, data, kcos) |
2 | b = tf.num; |
3 | a = tf.den; |
4 | filtered = filter(b, a, data); |
5 | endfunction |
Aber guck dir mal die Parameter zu tf an, oft vertauschen die Jungs und Mädels a und b.. Grüsse, - Strubi
zeitkontinuierliches system "TF_s" zu diskretem "TF_z": TF_z = c2d(TF_s,sampling_intervall) mit sinvoll gewähltem sampling_intervall siehe http://www.mathworks.de/help/toolbox/control/ref/c2d.html
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.