Hold-Diskretisierung nullter Ordnung?

Ich habe einige Schwierigkeiten, etwas zu verstehen. Es gibt mehrere Diskretisierungsmethoden, wie Zero-Order-Hold (ZOH), Vorwärts-Euler, Rückwärts-Euler, Tustin usw.

  1. Forward-Euler-, Backward-Euler- und so weiter-Diskretisierungsverfahren approximieren die Berechnung eines Integrals (siehe unten), aber was ist die integrale Approximation bei Verwendung eines ZOH? Was macht ein ZOH?
  2. Warum unterstützt Matlab keine Vorwärts-Euler, Rückwärts-Euler, Simpsons-Regel oder Integralnäherungen höherer Ordnung als Diskretisierungsmethoden? Aber nur ZOH, Tustin, Nullpolanpassung? Gibt es einen Grund dafür?
  3. Ist es überhaupt sinnvoll, zum Beispiel die Simpson-Regel als Diskretisierungsmethode zu verwenden oder sogar Näherungen höherer Ordnung zu verwenden? Soweit ich von http://en.wikibooks.org/wiki/Control_Systems/Z_Transform_Mappings#Simpson.27s_Rule gelesen habe , hat die Simpsons-Regel nur einen Nachteil?

Zum Beispiel,

Betrachten Sie die Übertragungsfunktion

F ( S ) E ( S ) = 1 S

Dies entspricht der Differentialgleichung

D F ( T ) D T = e ( T )

Die Integration beider Seiten ergibt

F ( T ) = F ( T 0 ) + T 0 T e ( T ) D T

Nun ist t gleichmäßig verteilt, zB t = kT, mit k = 0,1,2,... Bei einer Abtastung wird t0 = kT und t = kT + T, die Lösung wird

F ( k T + T ) = F ( k T ) + k T k T + T e ( T ) D T

Verwenden Sie jetzt die Trapezregel (Tustin) http://en.wikipedia.org/wiki/Trapezoidal_rule . Das Integral wird durch angenähert

A B F ( X ) D X ( B A ) [ F ( A ) + F ( B ) 2 ]

Als Ergebnis erhalten wir

F ( k T + T ) = F ( k T ) + k T + T k T 2 ( e ( k T ) + e ( k T + T ) )

Mit der Z-Transformation erhalten Sie

( z 1 ) F ( z ) = T 2 ( z + 1 ) E ( z ) F ( z ) E ( z ) = T 2 z + 1 z 1

und als solches bestimmen Sie, indem Sie das Ergebnis mit der allerersten Gleichung vergleichen

S = 2 T z 1 z + 1

Dasselbe können Sie mit Vorwärts-Euler, Rückwärts-Euler usw. ermitteln. Jetzt frage ich mich, was der Ersatz für die Laplace-Variable s ist, wenn Sie ZOH verwenden werden? Und welche Annäherung verwendet der ZOH? Soweit ich weiß, diskretisieren Sie das System mit ZOH, indem Sie sich bewerben

G ( z ) = ( 1 z 1 ) Z { G ( S ) S }

Schauen Sie hier, jemand behandelt das, wenn er meine Frage zur S-Transformation eines gleitenden Durchschnitts beantwortet: electronic.stackexchange.com/questions/154039/…
Diese Videos sollten für diejenigen hilfreich sein, die immer noch nach einer Antwort suchen: youtu.be/rL_1oWrOplk youtu.be/yetLPW9sQaI Ich würde auch die anderen Videos in der Serie jedem empfehlen, der sich für Steuerungen interessiert.

Antworten (2)

In einem Hybridsystem führen der Sampler und der ZOH die Operationen aus: Ein kontinuierliches Signal wird abgetastet (Analog-Digital-Wandlung, ADC), um ein diskretes Signal zu erzeugen, und das diskrete Signal wird in kontinuierliche Form zurückgeführt (Digital-Analog-Wandlung, DAC). ). Normalerweise gibt es zwischen diesen beiden Operationen etwas digitale Verarbeitung, aber die kombinierte DAC/ADC-Operation wird normalerweise als ein einzelner Laplace-TF im Blockdiagramm dargestellt.

Betrachten Sie der Einfachheit halber den ZOH isoliert, dh keine Datenverarbeitung zwischen dem Abtasten und Halten. Sei das Eingangssignal = x(t), das Ausgangssignal = y(t) und das Abtastinkrement = T sek. Zum k-ten Abtastzeitpunkt (dh bei t = kT) kann die Eingabe in den ADC mit x(k) bezeichnet werden und die Ausgabe des DAC wird auf x(k) konstant gehalten, bis die nächste Abtastung ankommt.

Somit ist die DAC-Ausgabe zwischen x(k) und x(k+1) ein rechteckiger Impuls mit der Höhe x(k) und der Dauer T. Dies kann für die Laplace-Transformationsdarstellung als ein Schritt der Höhe x modelliert werden (k) bei t=kT und einem Schritt der Höhe –x(k) zur Zeit t=(k+1)T und kann über den LT-Verzögerungsoperator e^-skT realisiert werden, der jedes Signal um kT Sekunden verzögert

Daher ist die LT des isolierten Impulses {e^(-skT)} x(k)/s - {e^[-s(k+1)T} x(k)/s, oder:

e^(-skT) {1-e^-sT} x(k)/s

Für das gesamte Signal von t = 0 bis t = kT reduziert sich diese Funktion auf Y(s) = X(s) {1-e^-sT}/s, wobei X(s) und Y(s) die Laplace-Transformation sind ZOH-Eingang und -Ausgang. Also Y(s)/X(s) = (1-e^-sT)/s

Wenn wir nun fortfahren möchten, indem wir einen G(s)-Block mit dem ZOH-Ausgang verbinden, wird die Gesamt-TF zu (1 - e^-sT) G(s)/s. Aber es gibt ein Problem: Wenn wir die Schleife um diesen TF schließen müssen, ist die resultierende CLTF nicht analytisch, da e^-sT im CLTF-Nenner erscheint. Wir müssen also auf z-Transformationen zurückgreifen, um es analytisch zu machen.

Die z-Transformation des Exponentialbits ist einfach; es ist (1 - z^-1), weil z^-1 der Verzögerungsoperator in der z-Domäne ist (und daher äquivalent zu e^-sT ist) und wir dann die z-Transformierte von G(s)/ finden müssen s, um das Bild zu vervollständigen.

Diese Antwort ist nicht richtig. der ZOH ist überhaupt nicht Teil des ADC-Betriebs (ob dort ein S/H ist oder nicht). Der ZOH ist Teil eines herkömmlichen DAC, der den Ausgang zwischen diskreten Sample-Instanzen auf einer konstanten Spannung hält.
@ Robert Bristol-Johnson; ZOH ist die kombinierte Sample+Hold-Funktion, wobei „Sample“ der ADC ist, der alle T Sekunden einen Abtastwert in eine Binärzahl umwandelt, und „Hold“ der DAC ist, der ein kontinuierliches Signal rekonstruiert. Normalerweise gibt es zwischen diesen beiden Operationen ein diskretes System (Differenzgleichung).
du verstehst das nicht. Es macht keinen Unterschied zu den zeitdiskreten Daten X [ N ] ob das analoge Signal zur Zeit N T wurde zum Wert von gehalten X ( N T ) oder nicht. Wenn X ( T ) geht in den Sampler und X [ N ] X ( N T ) aus dem Sampler in den DSP oder irgendeinen anderen Prozessor kommt, ist das Vorhandensein oder Fehlen des S/H für die Datenwerte unerheblich. es ist dasselbe wie ein idealer Sampler mit Dirac-Impulsen. aber am anderen Ende, wenn es sich nicht um Dirac-Impulse handelt, die aus dem DAC und stattdessen um peicewise-konstante Impulse kommen, wird ein Modell (das ZOH) benötigt, um es umzuwandeln.
@robert Bristow-Johnson, Ja, ich weiß, was abgetastete Daten sind, und ich weiß, wie man ein kontinuierliches Zeitsignal aus einer diskreten Sequenz mit einem Zoh rekonstruiert. Worauf willst du hinaus?
Mein Punkt ist, dass Ihre Antwort falsch ist. Es gibt nicht zwei ZOHs, wie Ihre Antwort sagt. Wenn Ihr Hybridsystem mit einem ZOH vor dem A/D und einem weiteren ZOH nach dem D/A modelliert wurde, wäre der Gesamtfrequenzgang falsch, da es zwei ZOHs anstelle der korrekten Anzahl enthalten würde. Ich habe eine Frage für uns als Stack Exchange-Gruppe gestartet, um der Sache auf den Grund zu gehen. und wir werden.
Meine Antwort besagt NICHT, dass es zwei ZOH gibt, ich glaube, Sie haben es falsch verstanden.
"Aber der kombinierte DAC / ADC-Betrieb wird normalerweise als einzelner Block ('ZOH') im Blockdiagramm dargestellt." Okay, ich gebe zu, dass diese Aussage richtig ist (wenn es sich um einen herkömmlichen DAC handelt). das einzelne ZOH ist eine Folge des DAC.
Vielleicht verstehe ich das
die ZOH "umfasst nicht ... zwei Operationen" .
Nur um dich wissen zu lassen, @Chu, ich habe eine Frage gestellt, um die Rolle des ZOH genau zu beschreiben und zu verstehen. Ich habe ein Kopfgeld darauf ausgesetzt, um Sie oder andere einzuladen, sie mit einer mathematisch und technisch korrekten Antwort zu beantworten. Jemand namens Timo hat geantwortet, und da er außer mir die einzige Person war, die geantwortet hat, bekommt diese Person das Kopfgeld. aber ich habe auch geantwortet. Vielleicht möchten Sie es überprüfen.

Um die 3 spezifischen Fragen zu beantworten: 1. Ein Halteelement nullter Ordnung wird verwendet, um ein diskretes Signal zum Zeitpunkt kT zu nehmen und den Wert bis zum Zeitpunkt kT+T konstant zu halten (nullte Ordnung, erinnern Sie sich?). Siehe Wikipedia (in den Kommentaren).

  1. Matlab macht, was sie wollen.

  2. Sampling ist heutzutage verdammt schnell. Das Halten nullter Ordnung ist im Grunde das Einfachste, was Sie tun können, und wenn Sie viel schneller als die relevante Dynamik sampeln, können Sie loslegen! Tustin tut, was Sie beschrieben haben: Er versucht, das Integral durch das einer linearen Funktion zu interpolieren.

Es gibt bestimmte Vorteile beider Methoden. Klar wären höhere Bestellungen schön. Sie sind jedoch mit Rechenkosten und Komplexität verbunden. Einige Methoden bewahren die Polpositionen des Systems (wodurch die Dynamik eng verwandt wird), während andere sie ziemlich verzerren. Im Allgemeinen ist eine höhere Ordnung nicht immer der richtige Weg. Nehmen wir an, Sie tasten eine Marsrakete mit 1 ms ab und wenden eine integrale Annäherung 4. Ordnung an. Wenn Sie vielleicht eine Gradänderung in 10 Sekunden haben, macht das 10000 Proben, um es herauszufinden und zu reagieren. Keine Notwendigkeit, Dinge höherer Ordnung dazwischen zu bekommen.

Wie immer hängt die Bestellung von Ihrer Anwendung ab. Höher als linear ist in diesem Fall nicht wirklich ein Vorteil. Ich denke, Sie würden stattdessen lieber die Abtastrate erhöhen.

Konkret zum Beispiel: Chus Antwort ist richtig, aber für mich hörte es genau dort auf, wo ich mehr wissen wollte: bei

G ( z ) = ( 1 z 1 ) Z { G ( S ) S }
und genau wie ist G ( S = F ( z ) ) erhalten.

Abweichend von der Notation des OP sei y der Ausgang eines Integrators und x sein Eingang. Im Frequenzbereich (Laplace-Transformation) ist dies: G(s) = 1/s. Lassen T S die Abtastzeit sein. Für den Integrator im Zeitbereich gilt:

j ( k T + T ) = j ( k T ) + k T S k T S + T S X ( τ ) D τ
Jetzt versuchen wir, genau wie im Beispiel des OP, diesen Integrator durch Annähern anzunähern
j ^ ( z ) X ^ ( z )
. Da wir dies tun, indem wir den Wert konstant halten (Halten nullter Ordnung), der zum Zeitpunkt kT angewendet wurde, erhalten wir
j ( k T + T ) j ( k T ) + X ( k T ) T S
. Das Anwenden der z-Transformation ist äquivalent zu
z j ^ ( z ) = j ^ ( z ) + X ^ ( z ) T S
. Durch Nachbestellung erhalten wir
j ^ ( z ) X ^ ( z ) = T S z 1
und indem wir uns daran erinnern, dass wir einen Integrator modelliert haben, der ist
Y ( S ) X ( S ) = 1 S
wir enden mit:
S z 1 T S
und kann jetzt schreiben
F ( z ) = z 1 T S
.

Ich habe diese Frage noch nicht gesehen. Es scheint, dass die Frage und Antworten ein paar verschiedene Themen verschmelzen. Ich würde die Leute auf den Wikipedia-Artikel über Zero-Order Hold verweisen . Nicht alle Wikipedia-Artikel sind technisch korrekt, aber dieser ist es. Ein Halten nullter Ordnung ist das Modell dessen, was ein typischer DAC tut, indem er zeitdiskrete Abtastwerte (deren Wert zwischen den diskreten Abtastwerten keine Bedeutung hat) in eine zeitkontinuierliche Wellenform umwandelt, die eine stückweise konstante Funktion ist.
@Robert Bristow-Johnson; Nehmen Sie ein einfaches Beispiel, lassen Sie G ( S ) = 1 S . Dies führt zu: G ( z ) = ( 1 z 1 ) Z { G ( S ) S } = z 1 z Z { 1 S 2 } = z 1 z T z ( z 1 ) 2 = T z 1
Dieses Beispiel hat keine Bedeutung, bis Sie definieren, was G ( ) sein soll und was G ( ) sollte sein. und Sie haben anscheinend den Hauptpunkt, den ich geschrieben habe, nicht untersucht.
und ich verstehe verdammt noch mal nicht, womit die Z-Transformation einer Funktion zusammenhängt S Ist.
F(z) ist die z-Transformation der abgetasteten Folge, f(kT), wobei f(t) die inverse Laplace-Transformation von F(s) ist. Es gibt eindeutig einen Informationsverlust bei der Abtastoperation.
Ich würde Notation verwenden X ( T ) Und X ( N T ) und geh" F " Und " k „wie Häufigkeitsverordnungen. Ein Informationsverlust im Probenahmebetrieb liegt nur vor , wenn X ( T ) ist unzureichend bandbegrenzt. Ich werde diese Annahme nicht machen. Um das Sampling-Theorem gut zu nutzen, werde ich nur ausreichend bandbegrenzte Eingaben für die Sampling-Operation vornehmen.
Ich möchte das Sampling-Inkrement nicht mit mir herumschleppen, es ist konstant. Daher ist x(n) bequemer als x(nT). 'k' wird in der Regel in Control Eng verwendet; 'n' in der Signalverarbeitung
Verwenden Sie dann die in der modernen Beleuchtung übliche Notation für zeitdiskrete Funktionen. mit eckigen Klammern.
X [ N ] X ( N T )
aber wenn Sie zur kontinuierlichen Zeit zurückkehren, werden Sie brauchen T nochmal. es sei denn, Sie definieren Ihre Einheitszeit (auch im analogen Teil) als die gleiche wie die Abtastperiode T .
Z { G ( S ) S }
ist bedeutungslos, wenn S ist der Laplace S .
Warum ist das bedeutungslos?
@Chu, die Z-Transformation ist eine Transformation einer zeitdiskreten Funktion wie X [ N ] . es ist nicht die inverse Laplace-Transformation, die ein Argument haben könnte G ( S ) .
@robertbristow-johnson, Die obige Verwendung ist ein Missbrauch der Notation durch die Kontrollgemeinschaft.
Z { G ( S ) S }
wirklich bedeutet
Z { L 1 { G ( S ) S } T = k T }
Wo
T
ist die Abtastperiode. Glauben Sie mir, die Mathematik funktioniert für den Hold nullter Ordnung, es ist nur eine rect() -Funktion im Zeitbereich, die in den s -Bereich übernommen wird, dann können Sie diese obige Formel direkt berechnen, indem Sie verwenden
z = e T S
, das ist die Transformation von der *s*-Domäne in die *z*-Domäne. Außerdem kann jede diskretisierte Funktion durch einfaches Definieren Z-transformiert werden
G [ k ] = F ( k T )
.
@daaxix, danke für den Hinweis. aber in Wirklichkeit, was Sie darauf hingewiesen, dass
G ( z ) = Z { L 1 { G ( S ) S } T = N T }
ist noch nicht das Halten nullter Ordnung (ZOH) . Es gibt keine Funktion rect() im Modell. nur das stufeninvariante Modell ist ein Ableger des impulsinvarianten Modells der Abbildung eines analogen oder zeitkontinuierlichen s-Ebenen-Filters auf einen digitalen oder zeitdiskreten z-Ebenen-Filter.
@robertbristow-johnson, Ja, deine obige Gleichung ist falsch und nicht das, was ich geschrieben habe. Um $G(z)$ zu erhalten, müssen Sie mit $(1-z^{-1})$ multiplizieren, dh
G ( z ) = ( 1 z 1 ) Z { L 1 { G ( S ) S } T = k T } .
Der $1/s$-Term und der $(1-z^{-1})$-Term stammen direkt aus der Laplace-Transformation eines rect() der Breite $T$, das bei $T/2$ zentriert ist:
1 e T S S
Oh ja. mit dem analogen Integrator darin würde es einen digitalen Differenzierer benötigen.
Ist das schrittinvariante Modell also äquivalent zu einem Hold nullter Ordnung ? hmmmmm...
Übrigens würde ich den Brief speichern " k " für die DFT. dh " X [ k ] ". verwenden " N " für diskrete Zeit. wie " X [ N ] ".