Impulsinvariante Transformation

OP #3459795
Hallo zusammen,

ich habe mich grade ein wenig mit Verfahren beschäftigt, um analoge 
(kontinuierliche) Übertragungsfunktionen zu diskretisieren und in 
z-Übertragungsfunktionen zu überführen.

Es gibt ja da mehrere Verfahren; eins davon ist die Impulsinvariante 
Transformation. Siehe hier:

http://de.wikipedia.org/wiki/Impulsinvarianz-Transformation

Leider findet man auch im englischen Wikipedia dazu nicht viel mehr, als 
das, was da steht. Meines Erachtens ist die Formel aber nicht ganz 
korrekt.
Es wird ja behauptet, dass ich eine Übertragungsfunktion mit N Polen 
gemäss
in Partialbrüche zerlegen kann, und diese werden dann mit
diskretisiert. Das ist sicher richtig, solange mein G(s) nur einfache 
Pole hat, kann ich die Partialbruchzerlegung wie oben angedeutet 
durchführen, was aber, wenn ich mehrfache Pole habe? Hierzu findet man 
nicht viel schlaue Informationen. Weiss es einer?

Ach ja, und woher kommt bei
http://en.wikipedia.org/wiki/Impulse_invariance
der Vorfaktor T ? Wenn ich es in Matlab nachvollziehe, wird klar, dass 
das T dort hin muss, die Frage ist allerdings, wie man drauf kommt, und 
wieso es im deutschen Wikipedia Artikel fehlt :-)

Gruss:
Tobias.
Gast
Hallo!

Über Wikipediaformeln zu reden ist so eine Sache.

Um zu G(z) von einem System G(s) zu gelangen , wird bei der
impulsinvarianten Transformation davon ausgegangen, dass das
zeitkont. System G(s) eingangsseitig mit einem D/C-Converter
beschalten ist und ausgangsseitig mit einem C/D-Converter:

               x(t)        y(t)
x[n] ---> D/C  --->  G(s)  ---> C/D --->  y[n]

Um die Impulsantwort zu erhalten setzt man für x[n] das Kronecker-Delta
an. Die Laplacetransformierte von x(t) wird damit zu X(s)= 
(1-exp(-sT))/s.
X(s) regt das System G(s) an, das zeitkont. Signal y(t) wird dann
wieder mit der Frequenz 1/T abgetastet. y[n] fasst man dann in
Form einer z-Transformierten zusammen (geschlossene Formel für die
Zahlenreihe). Dadurch gelangt T in die Formeln.
Für diesen Schritt verwendet man typischerweise Korrespondenztabellen 
(gleich wie bei allen anderen Transformationen - das macht man einmal 
und dann verwendet man Tabellen bzw. den Computer).

Wenn G(s) mehrere Pole besitzt wendet man die Partialbruchzerlegung an. 
Dann kann man jeden Systemteil einzeln betrachten und am Ende zählt man 
wieder zusammen. Komplexe Pole kann man gleich behandel wie einfache 
reelle Pole. Für Mehrfachpole muss man die entsprechende 
Reihenentwicklung
durchführen (bzw. die richtige Korrespondenz verwenden).

In dem Buch

http://portal.tugraz.at/portal/page/portal/Files/i4430/Dateien/Buecher_Software/DigiReg.pdf

findet man ein paar Beispiele für die z-Transformierte von 
Mehrfachpolen.

Hoffe das hilft.

 Cheers
OP
Hallo Dr.,

ja, das weiss ich, mit den Wikipediaformeln :-) damit bin ich auch schon 
auf den Holzweg geraten.

Jetzt sehe ich in dem von dir verlinkten Skript aber etwas 
interessantes.
Ich benutze zur Diskretisierung oft
und das schaut doch ziemlch ählich aus wie Formel 8.2 / 8.3 auf Seite 
144, nicht? Andererseits würde ich behaupten, was ich da rechne, ist in 
Matlab mit
1
c2d(..., 'zoh')
zu berechnen, während die Impulsinvariante Transformation sicher mit
1
c2d(..., 'impulse')
berechnet wird.


Der Hintergrund ist, dass ich einen Vergleich beider Methoden machen 
will. Um herauszufinden, was jetzt besser ist für meine Anwendung (kommt 
wahrscheinlich nicht gross darauf an, aber ich soll es halt nachweisen).


Gruss!
Gast
Hallo!

Ja, MATLABs c2d(Hs,T, 'zoh') ist genau die obige Formel. Sie liefert
die zeidiskrete Impulsantwort des Systems  D/C - H(s) - C/D für
die Abtastperiode T.

Die Option 'impulse' in c2d kannte ich bis jetzt gar nicht. Die Option 
macht aber nichts anderes, als die kont. Impulsantwort abzutasten.
Tabelle 3.2 im PDF gibt dazu ein paar Korrespondenzen.
D.h. diese Transformation liefert

  H(z) = Z( L^{-1}(H(s)) )  für ein bestimmtes T

Das ist somit eigentlich schon nicht mehr direkt vergleichbar,
denn hier tastet man einfach eine kont. Impulsantwort ab.

Mit der Option 'zoh' berechnet man die Impulsantwort des Systems
x[k] --> D/C - H(s) - C/D --> y[k]. Das kont. System wird dabei
durch X(s) = (1-exp(-sT))/s (Rechteckimpuls mit Dauer T) angeregt.
Man erhält damit eine zeitdiskrete Approximation des Frequenzganges
von H(s).

Sind also zwei verschiedene Dinge. Bei der Abtastung der kont. 
Impulsantwort ('impulse') gibt es keine Freiheitsgrade. Bei der 
Approximation des Frequenzganges hat man aber noch Freiheitsgrade. Z.B. 
kann man  eine andere Approximation verwenden, wie z.B. first order hold 
('foh').

Die Unterschiede kann man sich leicht anschauen:

s = tf('s');

a = -1;
Gs = 1/(s-a);

Ts = 0.01;

Gz1 = c2d(Gs,Ts,'zoh')
Gz2 = c2d(Gs,Ts,'foh')

step(Gs,Gz1,Gz2)


Gewiss ist eine höhere Approximation genauer, aber es ist dann immer
auch eine Frage des Aufwandes/Nutzen.


Cheers
OP
Hi Dr.,
danke für die Erklärung. Gemäss dem Wikipedia-Artikel ist allerdings die 
Idee der Impulsinvarianten Transformation ja genau die Abtastung der 
kontinuierlichen Impulsantwort?
und bei 'zoh' wird ja im Prinzip nichts abgetastet, sondern man geht 
einfach von einer Rechteckförmigen Anregung des Systems aus.
Daher sehe ich den Unterschied zu 'impulse' nicht wirklich, meines 
Erachtens wäre ja dann 'impulse' das Gesuchte....

Gruss!

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 12 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.