Forum: Digitale Signalverarbeitung / DSP / Machine Learning Transfer Function Matlab


von Ert (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

kann mir einer von euch sagen wie man diese Funktion in Matlab 
reinbekommt?
Also als Transfer Function in Simulink? Gibt es da einen Trick? Will mir 
nur das Zeitverhalten anschaun.

Danke für die Hilfe.
Ert

: Verschoben durch Admin
von Ert (Gast)


Lesenswert?

Oh seid neusten geht das Hochladen der Bilder beim ersten Mal :D.
Die beiden Funktionen sind gleich.

von Thomas B. (detritus)


Lesenswert?

Dafür verwendet man z.B. den Befehl freqs(B,A). Dabei sind B und A 
Arrays mit den Zähler- bzw. Nennerkoeffizienten, absteigend sortiert.

z.B. für 1/(1+2s) sähe das so aus:

freqs ([1], [2 1])

Da hast du also noch etwas Umformung zu betreiben, wobei 
www.wolframalpha.com evtl. helfen kann. Die Transfer-Function in 
Simulink nimmt übrigens die gleichen Argumente wie freqs.

von Ert (Gast)


Lesenswert?

Danke für die schnelle Antwort. Mal sehen ob ich auf der hp Inspiration 
finde.

Das Problem ist es nicht z.b ein PT1 als Transfer function dazustellen, 
sondern diese Zusammenschaltung. Meinst ich muss das komplett auflösen 
das ich nur eine Nenner und eine Zählerkoeffizientenmatix habe? Dachte 
das muss einfacher gehen.

Grüße
Ert

von Thomas B. (detritus)


Lesenswert?

Matlab kann halt nicht symbolisch rechnen (bzw. nur mit extra Toolbox) 
und daher auch keine Ausdrücke vereinfachen.
Wolframalpha allerdings schon, siehe z.B.: 
http://www.wolframalpha.com/input/?i=+y%3D%28s%2B1%29%2B%281%2F%28s-1%29%29^-1

Natürlich kannst du das Ergebnis per Handrechnung verifizieren ;)

von Ert (Gast)


Angehängte Dateien:

Lesenswert?

Danke.

Habe die Fkt dort eingetragen und nach ein bisl tricksen auch die Zähler 
und Nennerkoeffizienten ablesen können. Ab nach Matlab und jetzt sehe 
ich mein Zeitverhalten.

Danke und Gruß
Ert

für den den es interessiert:
Z= (3s^5+7s^4+9s^3+7s^2+3s+1)/(3s^5+6s^4+8s^3+4s^2+2s)

von Thomas B. (detritus)


Lesenswert?

Ert schrieb:
> Ab nach Matlab und jetzt sehe ich mein Zeitverhalten.

Ups, hatte ich bisher übersehen. Das gibt dir natürlich NICHT das 
Zeitverhalten, sondern den Frequenzgang nach Betrag und Phase. Willst 
die zeitliche Antwort auf z.B. eine Sprungfunktion, so sollte dir 
step(B,A) weiterhelfen. Analog dazu impulse(B,A) für die Stossantwort. 
Beliebige Zeitsignale zunächst als Array über der Zeit darstellen und 
dann mit filter() arbeiten.

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
Noch kein Account? Hier anmelden.