Forum: Digitale Signalverarbeitung / DSP / Machine Learning Inverse Übertragungsfunktion


von Zyrano D. (kickflip)


Lesenswert?

Hi,

ich hoffe das ist die letzte Frage, die ich stellen werde.

Ich möchte das inverse Verhalten von einer diskreten 
Übertragungsfunktion abbilden.

Zum Vorgehen:
Ich habe einen Sinus-Sweep als Eingangsspannung in das System geleitet 
und die zeitlich diskreten Kraftwerte am Output gemessen.

Nun benutze ich das System Identification Tool von Matlab, welches mir 
die zeitlich diskrete Übertragungsfunktion


Sweep —> G(z) —> Kraft


ausgibt. Das klappt super.


Ich bin aber an dem Verhalten andersherum interessiert. Sprich:


Kraft —> H(z) —> Sweep


Ich tausche also einfach Ein- und Ausgang im Berechnungstool.
Hierbei failed das System Identification Tool, weil es nicht schafft den 
Sweep abzubilden. Warum verstehe ich nicht?

-

Kann man die inverse H(z) nicht auch aus G(z) bestimmen? Da ich im 
diskreten Zeitbereich bin, sprich G(z) die Form:

b1*z^-1 + b2*z^-2 + b3*z^-3
—————————————-------------------
1+ a1*z^-1 + a2*z^-2 + a3*z^-3

bin ich mir unsicher, ob ich einfach H(z) = 1/G(z) rechnen darf, weil 
das doch nur im Bildbereich erlaubt ist, oder?


Falls ich Nonsense erzähle, ...

Cheers,
Kickflip

von Zyrano D. (kickflip)


Lesenswert?

Hallo,

das Problem besteht weiterhin. Kann mir keiner helfen?

Viele Grüße

von Dergute W. (derguteweka)


Lesenswert?

Moin,

Zyrano D. schrieb:
> bin ich mir unsicher, ob ich einfach H(z) = 1/G(z) rechnen darf, weil
> das doch nur im Bildbereich erlaubt ist, oder?

Ja, das kann man schon machen. Kann halt nur passieren, dass das H(z) 
dann nicht stabil ist. Dann g'hoerst der Katz'.

Gruss
WK

von Zyrano D. (kickflip)


Lesenswert?

Dergute W. schrieb:
> Moin,
>
> Zyrano D. schrieb:
>> bin ich mir unsicher, ob ich einfach H(z) = 1/G(z) rechnen darf, weil
>> das doch nur im Bildbereich erlaubt ist, oder?
>
> Ja, das kann man schon machen. Kann halt nur passieren, dass das H(z)
> dann nicht stabil ist. Dann g'hoerst der Katz'.


Ah ok, also gibt diese Rechenregel generell im diskreten Zeitbereich und 
im diskreten Bildbereich?

Ja, das habe ich mir auch schon gedacht. Wenn ich aber gleich viele Pole 
und Nullstellen in G(z) habe, dann sollte doch H(z) stabil sein, oder?

von Dergute W. (derguteweka)


Lesenswert?

Moin,

Zyrano D. schrieb:
> Ah ok, also gibt diese Rechenregel generell im diskreten Zeitbereich und
> im diskreten Bildbereich?

Im Zeitbereich wirds wohl komisch werden, denn wenn da irgendwelche 
g(n)=0 sind, was ja schon mal passieren kann, z.b. fuer negative n oder 
wenn nicht gerade Integrierer in deinem G drinnen sind - dann wuerde ja 
h(n) Richtung Unendlich wegflutschen. Das riecht nach Aerger.


> Ja, das habe ich mir auch schon gedacht. Wenn ich aber gleich viele Pole
> und Nullstellen in G(z) habe, dann sollte doch H(z) stabil sein, oder?
Nee, denn: wenn G(z) Nullstellen ausserhalb des Einheitskreises hat, 
dann sollte das nicht schlimm sein fuer G(z).
Aber H(z) haette dann Pole ausserhalb des Einheitskreises. Dann wirds 
instabil.
Ausserdem wird H(z) in den meisten Faellen, wo G(z) Verzoegerungen 
macht, nicht mehr Kausal sein. Also koennte H(z)=z^(-M)/G(z) ;/mit 
M=grossgenug) besser funktionieren. Dann macht H(z)*G(z) halt etwas 
Verzoegerung, aber dadurch koennen H und G beide Kausal sein. Was bei 
der Realisierung ein grosses Plus ist ;-)

Gruss
WK

von Zyrano D. (kickflip)


Lesenswert?

Das heißt ich müsste erst meine diskrete Ü-Fkt, welche im Zeitbereich so 
vorliegt:

G(z) =


b1*z^-1 + b2*z^-2 + b3*z^-3
—————————————-------------------
1+ a1*z^-1 + a2*z^-2 + a3*z^-3



in den Bildbereich transformieren?

Dann 1/G(z) rechnen um dann H(z) = 1/G(z) zu erhalten?

von mb (Gast)


Lesenswert?

Zyrano D. schrieb:
> welche im Zeitbereich so
> vorliegt:
>
> G(z) =
>
>...
>
> in den Bildbereich transformieren?

Hä? Der z-Bereich IST der Bildbereich.

von Zyrano D. (kickflip)


Lesenswert?

Jetzt bin ich verwirrt.

Grundsätzlich benötige ich eine Übertragungsfunktion im diskreten 
Zeitbereich.

Ich dachte, wenn ich diskrete Zeitwerte als Input und Output in das 
Matlab Identification Tool packe, dass ich dann eine diskrete 
Übertragungsfunktion im Zeitbereich erhalte.

Also das:


b1*z^-1 + b2*z^-2 + b3*z^-3
—————————————-------------------
1+ a1*z^-1 + a2*z^-2 + a3*z^-3


die Darstellung im diskreten Zeitbereich ist.

Aber anscheinend ist das die Darstellung im diskreten Bildbereich, wenn 
ich euch richtig verstehe?

Sprich ich muss jetzt die inverse Z-Trafo durchführen um in den 
diskreten Zeitbereich zu geladen?

von mb (Gast)


Lesenswert?

Zyrano D. schrieb:
> Grundsätzlich benötige ich eine Übertragungsfunktion im diskreten
> Zeitbereich.

Ok. Ich verstehe zwar nicht wozu, aber ich nehm's mal hin.

Zyrano D. schrieb:
> Ich dachte, wenn ich diskrete Zeitwerte als Input und Output in das
> Matlab Identification Tool packe, dass ich dann eine diskrete
> Übertragungsfunktion im Zeitbereich erhalte.

Keine Ahnung ob das geht, aber grundsätzlich wird es mal ein "Modell" 
ausspucken, also irgendwas im Bildbereich.

Zyrano D. schrieb:
> Aber anscheinend ist das die Darstellung im diskreten Bildbereich

Jo. z-Bereich halt. Die zeitdiskrete Entsprechung zum Frequenzbereich 
(dass ist das mit den ganzen s in der Funktion) die man aus der 
zeitkontinuierlichen Regelungstechnik kennt.

Zyrano D. schrieb:
> Sprich ich muss jetzt die inverse Z-Trafo durchführen um in den
> diskreten Zeitbereich zu geladen?

Jep.

diskreter Zeitbereich (aka. z.B. lauter aufgenommene Messwerte)--- 
z-Trafo ---> z-Bereich (Bild)

Und zurück geht's eben mit der inversen z-Trafo

von Zyrano D. (kickflip)


Lesenswert?

mb schrieb:
> Ok. Ich verstehe zwar nicht wozu, aber ich nehm's mal hin.


In einem zeitlichen diskreten Simulationsmodell muss doch auch eine 
zeitlich diskrete Übertragungsfunktion? Oder warum verstehst du nicht 
warum?

---

mb schrieb:
> Keine Ahnung ob das geht, aber grundsätzlich wird es mal ein "Modell"
> ausspucken, also irgendwas im Bildbereich.

Magst du mir das genauer erklären? Also als Ergebnis bekomme ich wie 
gesagt eine Übertragungsfunktion wie oben bereits dargestellt. Ich 
dachte, wenn ich "time domain Data" reinpacke, dass ich auch was im 
Zeitbereich herausbekomme.

----

mb schrieb:
> Jo. z-Bereich halt. Die zeitdiskrete Entsprechung zum Frequenzbereich
> (dass ist das mit den ganzen s in der Funktion) die man aus der
> zeitkontinuierlichen Regelungstechnik kennt.


Woran erkenne ich denn im diskreten Bereich, ob eine 
Übertragungsfunktion im Zeit- oder im Bildbereich gültig ist?

von mb (Gast)


Lesenswert?

Zyrano D. schrieb:
> In einem zeitlichen diskreten Simulationsmodell muss doch auch eine
> zeitlich diskrete Übertragungsfunktion?

Von Simulation hast du aber bisher nix erwähnt ;)

Zyrano D. schrieb:
> Ich
> dachte, wenn ich "time domain Data" reinpacke, dass ich auch was im
> Zeitbereich herausbekomme.

Nö, wäre für den Normalfall auch unpraktisch. Mit Normalfall meine ich 
zum Zwecke einen passenden Regler zur Strecke zu finden.

Zyrano D. schrieb:
> Woran erkenne ich denn im diskreten Bereich, ob eine
> Übertragungsfunktion im Zeit- oder im Bildbereich gültig ist?

Da jeder seine Variablen nennen und anmalen darf, wie er lustig ist, 
garnicht.

Aber zum Glück gibt es Konventionen, daher sind die ganzen "z" im 
Ausdruck schon ein starker Hinweis.

Kontinuierlich:
"t" -> Zeit
"s" -> Frequenz (Bild)

Diskret:
"k" -> Zeit
"z" -> z-Bereich (Bild)

Matlab gehört nicht zu meinem täglich Brot, aber ich behaupte mal, dass 
die Dokumentation der Funktion, die dir den Ausdruck ausgespuckt hat, 
schon was dazu erzählen würde, was sie tut.

Beitrag #6139304 wurde von einem Moderator gelöscht.
von Zyrano D. (kickflip)


Lesenswert?

mb schrieb:
> Von Simulation hast du aber bisher nix erwähnt ;)

Die Ü-Fkt möchte man ja auch schon benutzen :) Ändert das etwas?


> Nö, wäre für den Normalfall auch unpraktisch. Mit Normalfall meine ich
> zum Zwecke einen passenden Regler zur Strecke zu finden.

okey, danke :)


> Da jeder seine Variablen nennen und anmalen darf, wie er lustig ist,
> garnicht.
>
> Aber zum Glück gibt es Konventionen, daher sind die ganzen "z" im
> Ausdruck schon ein starker Hinweis.
>
> Kontinuierlich:
> "t" -> Zeit
> "s" -> Frequenz (Bild)
>
> Diskret:
> "k" -> Zeit
> "z" -> z-Bereich (Bild)
>
> Matlab gehört nicht zu meinem täglich Brot, aber ich behaupte mal, dass
> die Dokumentation der Funktion, die dir den Ausdruck ausgespuckt hat,
> schon was dazu erzählen würde, was sie tut.

Also ich glaube ich habe es jetzt verstanden. Das Tool spuckt ein Modell 
im Bildbereich aus. Man kann es aber in Simulink so verwenden, da die 
time domain Data, die in den Block geht in den Bildbereich transformiert 
wird.


Und zum eigentlichen Thema: Ich finde keine inverse Ü-Fkt, weil die 
Nullstellen in der Ü-Fkt außerhalb des Einheitskreises liegen.

von Ralph (Gast)


Lesenswert?

Um waa für ein schwingunsfähiges System handelt es sich?

von Zyrano D. (kickflip)


Lesenswert?

Lautsprecher

von Dergute W. (derguteweka)


Lesenswert?

Moin,


Jetzt fester pressen! Nochmal! Ich kann den Kopf schon sehen....
Jetzt nochmal gaaaanz fest!!!

Zyrano D. schrieb:
> Lautsprecher

Geschafft! Puuh, nach wochenlangen Wehen in verschiedenen Threads - 
endlich ist es vollbracht - so eine schwere Geburt ist ganz selten.


!! ES  IST  EIN  LAUTSPRECHER !!


Hm - kriegt der jetzt von der Hebamme einen rosa oder blauen Strampler 
angezogen?

Ok, haette ja auch ein Bagger sein koennen...

SCNR,
WK

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.