Filterimplementierung in Simulink

Gast #2651855
Lesenswert?

Hallo,

ich möchte in Simulink einen Bandpass realisieren. Hierfür habe ich ein 
Tool gefunden, womit man die Koeffizienten sowie die Pole und die 
Nullstellen berechnen kann. Das Tool generiert ebenfalls ein C-Code.
Siehe Dateianhang.

Z domain Zeros
z = -1.000000 + j 0.000000
z = 1.000000 + j 0.000000

Z domain Poles
z = 0.999509 + j -0.024535
z = 0.999509 + j 0.024535

Wie kann ich nun laut diesen Angaben eine diskrete Übertragungsfunktion 
erstellen ? Wie müsste die Übertragungsfunktion aussehen ?
Angehängte Dateien:
Gast #2652734
Lesenswert?

Ich habe mal die Übertragungsfunktion aufgestellt:

Bin mir nicht sicher, ob die Übertragungsfunktion so stimmt.
Gast #2653049
Lesenswert?

Wie hast du denn die Übertragungsfunktion erstellt? Hast du theoretische 
Grundlagen, oder wo kommt die her?

MMn ist sie jedenfalls nicht richtig, denn rechne mal die 
Nullstellen/Polstellen nach, (Polstellen = Nennerpolynom nullsetzen, 
Nullstellen = Zählerpolynom nullsetzen). Da kommen andere Werte heraus, 
also kann das gar nicht die Übertragungsfunktion sein.

Schöne Grüße
Gast #2653195
Lesenswert?

Hi!

Das große T ist wichtig, wir befinden uns im diskreten Bereich ;)

Was auch immer, diese Angabe benötigst du nur, wenn du den Frequenzgang 
deiner diskreten Übertragungsfunktion bestimmen möchtest. Willst du hier 
aber gar nicht ;)

Ganz allgemein gilt:
Das K verändert sich je nachdem, wie man den Spaß normiert (also ob man 
z.B. die höchste Potenz von z auf 1 normiert, oder konstanten 
Koeffizienten etc).

Das ist die Polynomialdarstellung. Da man jedes Polynom vollständig 
faktorisieren kann (ggf. unter Verwendung von komplexen Zahlen) gilt 
auch:
Das ist die faktorisierte oder Pol-Nullstellen Darstellung.

Beachte: das K' ist ein anderes als das K oben. z_0, z_1... steht für 
zeros. Also die Nullstellen (hast du gegeben), p_0, p_1,... steht für 
Poles also Polstellen, die wiederrum die Nullstellen des Nennerpolynoms 
sind.

Da du Pol- & Nullstellen gegeben hast, kannst du sie einsetzen und bist 
entweder fertig, oder multiplizierst das ganze noch aus (unten 3. 
binomische Formel, gilt auch mit komplexen Zahlen, wobei j*j=-1 ist), um 
wieder auf die Polynomdarstellung zu kommen. Wenn du möchtest kannst 
dann auch noch die höchste Potenz von z ausklammern und kürzen, sodass 
du negative Expontenten in deinen z erhälst, das ist manchmal praktisch, 
weil man unter Umständen besser die Ursprungsfolge bestimmen kannst, 
aber keine Ahnung ob du das machen willst ;)

Wenn was unklar ist, frag nach.

Schöne Grüße
Gast #2653242
Lesenswert?

Vielen Dank für deine Ausführung!

In Simulink gibt es da noch ein weiteres Problem. Ich benutze das 
Element "Discrete Transfer FCN" um die beiden Übertragungsfunktionen in 
Simulink abzubilden. Wie kann ich nun den komplexen Pol in diesen Block 
unter Denominator coefficients integrieren ? Komplexe Größen wie das j 
bzw. i werden nicht akzeptiert.
Gast #2653513
Lesenswert?

Wieso zwei Übertragungsfunktionen?

Was hast du denn jetzt raus?

Und Simulink akzeptiert garantiert i bzw j, es aktzeptiert quasi alles, 
was in matlab syntax eingegeben wird.

Gib doch mal "doc zpk" oder "doc tf" ein, dann siehst du, wie du die 
Nenner/Zähler Koeffizienten angeben musst.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren