c2d - Konvertieren eines Modells von kontinuierlicher zu diskreter Zeit (2024)

Konvertieren eines Modells von kontinuierlicher zu diskreter Zeit

alle in Seite reduzieren

Syntax

sysd = c2d(sysc,Ts)

sysd = c2d(sysc,Ts,method)

sysd = c2d(sysc,Ts,opts)

[sysd,G] = c2d(___)

Beschreibung

sysd = c2d(sysc,Ts) diskretisiert das zeitkontinuierliche dynamische Systemmodell sysc mithilfe einer Haltefunktion nullter Ordnung für die Eingänge und einer Abtastzeit von Ts.

Beispiel

sysd = c2d(sysc,Ts,method) legt die Diskretisierungsmethode fest.

Beispiel

sysd = c2d(sysc,Ts,opts) legt weitere Optionen für die Diskretisierung fest.

Beispiel

[sysd,G] = c2d(___), wobei sysc ein Zustandsraummodell ist, gibt eine Matrix G aus, die die kontinuierlichen Ausgangsbedingungen x0 und u0 des Zustandsraummodells auf dem zeitdiskreten anfänglichen Zustandsvektor x[0]. abbildet.

Beispiele

alle reduzieren

Diskretisieren einer Transferfunktion

Live Script öffnen

Diskretisieren Sie die folgende zeitkontinuierliche Transferfunktion:

H(s)=e-0.3ss-1s2+4s+5.

Das System weist eine Eingangsverzögerung von 0,3s auf. Diskretisieren Sie das System mithilfe der Dreiecksnäherung (Haltefunktion erster Ordnung) mit einer Abtastzeit Ts = 0,1s.

H = tf([1 -1],[1 4 5],'InputDelay', 0.3); Hd = c2d(H,0.1,'foh');

Vergleichen Sie die Schrittantworten der zeitkontinuierlichen und diskretisierten Systeme.

step(H,'-',Hd,'--')

c2d - Konvertieren eines Modells von kontinuierlicher zu diskreter Zeit (1)

Diskretisieren eines Modells mit in Koeffizienten absorbierter fraktionaler Verzögerung

Live Script öffnen

Diskretisieren Sie die folgende verzögerte Transferfunktion mit einer Haltefunktion nullter Ordnung für den Eingang und einer Abtastrate von 10Hz.

H(s)=e-0.25s10s2+3s+10.

h = tf(10,[1 3 10],'IODelay',0.25); hd = c2d(h,0.1)
hd = 0.01187 z^2 + 0.06408 z + 0.009721 z^(-3) * ---------------------------------- z^2 - 1.655 z + 0.7408 Sample time: 0.1 secondsDiscrete-time transfer function.

In diesem Beispiel weist das diskretisierte Modell hd eine Verzögerung von drei Abtastzeitperioden auf. Der Diskretisierungsalgorithmus absorbiert die verbleibende Verzögerung einer halben Periode in die Koeffizienten von hd.

Vergleichen Sie die Schrittantworten der zeitkontinuierlichen und diskretisierten Modelle.

step(h,'--',hd,'-')

c2d - Konvertieren eines Modells von kontinuierlicher zu diskreter Zeit (2)

Diskretisieren eines Modells mit angenäherter fraktionaler Verzögerung

Seit R2024a

Live Script öffnen

Erstellen Sie ein zeitkontinuierliches Zustandsraummodell mit zwei Zuständen und einer Eingangsverzögerung.

sys = ss(tf([1,2],[1,4,2]));sys.InputDelay = 2.7
sys = A = x1 x2 x1 -4 -2 x2 1 0 B = u1 x1 2 x2 0 C = x1 x2 y1 0.5 1 D = u1 y1 0 Input delays (seconds): 2.7 Continuous-time state-space model.

Diskretisieren Sie das Modell mithilfe der Tustin-Diskretisierungsmethode und einem Thiran-Filter, um fraktionale Verzögerungen zu modellieren. Die Abtastzeit Ts = 1Sekunde.

opt = c2dOptions('Method','tustin','ThiranOrder',3);sysd1 = c2d(sys,1,opt)
sysd1 = A = x1 x2 x1 -0.4286 -0.5714 x2 0.2857 0.7143 B = u1 x1 0.5714 x2 0.2857 C = x1 x2 y1 0.2857 0.7143 D = u1 y1 0.2857 (values computed with all internal delays set to zero) Internal delays (sampling periods): 1 1 1 Sample time: 1 secondsDiscrete-time state-space model.

Standardmäßig modelliert die Funktion weitere Verzögerungen als interne Verzögerungen im diskretisierten Modell. Um weitere Verzögerungen als Zustände im diskretisierten Modell zu modellieren, setzen Sie die Option DelayModeling von c2dOptions auf 'state'.

opt2 = c2dOptions('Method','tustin','ThiranOrder',3,'DelayModeling','state');sysd2 = c2d(sys,1,opt2)
sysd2 = A = x1 x2 x3 x4 x5 x1 -0.4286 -0.5714 -0.00265 0.06954 2.286 x2 0.2857 0.7143 -0.001325 0.03477 1.143 x3 0 0 -0.2432 0.1449 -0.1153 x4 0 0 0.25 0 0 x5 0 0 0 0.125 0 B = u1 x1 0.002058 x2 0.001029 x3 8 x4 0 x5 0 C = x1 x2 x3 x4 x5 y1 0.2857 0.7143 -0.001325 0.03477 1.143 D = u1 y1 0.001029 Sample time: 1 secondsDiscrete-time state-space model.

Das diskretisierte Modell enthält nun drei weitere Zustände x3, x4 und x5, was einem Thiran-Filter dritter Ordnung entspricht. Da die durch die Abtastzeit geteilte Zeitverzögerung 2,7 ist, kann der Thiran-Filter dritter Ordnung ('ThiranOrder' = 3) die gesamte Zeitverzögerung annähern.

Diskretisieren eines identifizierten Modells

In diesem Beispiel verwendet:

  • System Identification ToolboxSystem Identification Toolbox

Live Script öffnen

Schätzen Sie eine zeitkontinuierliche Transferfunktion und diskretisieren Sie diese.

load iddata1sys1c = tfest(z1,2);sys1d = c2d(sys1c,0.1,'zoh');

Schätzen Sie eine zeitdiskrete Transferfunktion zweiter Ordnung.

sys2d = tfest(z1,2,'Ts',0.1);

Vergleichen Sie die Antwort des diskretisierten zeitkontinuierlichen Transferfunktionsmodells sys1d mit der Antwort des direkt geschätzten zeitdiskreten Modells sys2d.

compare(z1,sys1d,sys2d)

c2d - Konvertieren eines Modells von kontinuierlicher zu diskreter Zeit (3)

Die zwei Systeme sind nahezu identisch.

Erstellen eines Prädiktormodells

In diesem Beispiel verwendet:

  • Control System ToolboxControl System Toolbox
  • System Identification ToolboxSystem Identification Toolbox

Live Script öffnen

Diskretisieren Sie ein identifiziertes Zustandsraummodell, um einen Prädiktor, der die Antwort einen Schritt in der Zukunft vorausberechnet, zu erstellen.

Erstellen Sie ein zeitkontinuierliches, identifiziertes Zustandsraummodell mithilfe von Schätzdaten.

load iddata2sysc = ssest(z2,4);

Prognostizieren Sie die prognostizierte Antwort sysc einen Schritt in der Zukunft.

predict(sysc,z2)

c2d - Konvertieren eines Modells von kontinuierlicher zu diskreter Zeit (4)

Diskretisieren Sie das Modell.

sysd = c2d(sysc,0.1,'zoh');

Erstellen Sie ein Prädiktormodell aus dem diskretisierten Modell sysd.

[A,B,C,D,K] = idssdata(sysd);Predictor = ss(A-K*C,[K B-K*D],C,[0 D],0.1);

Predictor ist ein Modell mit zwei Eingängen, das die gemessenen Ausgangs- und Eingangssignale ([z1.y z1.u]) verwendet, um die prognostizierte Antwort von sysc einen Schritt in der Zukunft zu berechnen.

Simulieren Sie das Prädiktormodell, um dieselbe Antwort wie der Befehl predict zu erhalten.

lsim(Predictor,[z2.y,z2.u])

c2d - Konvertieren eines Modells von kontinuierlicher zu diskreter Zeit (5)

Die Simulation des Prädiktormodells gibt dieselbe Antwort wie predict(sysc,z2) aus.

Eingabeargumente

alle reduzieren

syscZeitkontinuierliches dynamisches System
Dynamisches Systemmodell

Zeitkontinuierliche Modelle, festgelegt als dynamisches Systemmodell wie tf, ss oder zpk. sysc kann keine Frequenzantwort-Datenmodell sein. sysc kann ein SISO- oder MIMO-System sein, mit der Ausnahme, dass die Diskretisierungsmethode 'matched' nur SISO-Systeme unterstützt.

sysc kann Eingangs-/Ausgangs- oder interne Zeitverzögerungen aufweisen; die Methoden 'matched', 'impulse' und 'least-squares' unterstützen jedoch keine Zustandsraummodelle mit internen Zeitverzögerungen.

Die folgenden identifizierten linearen Systeme können nicht direkt diskretisiert werden.

  • idgrey-Modelle, deren FunctionType 'c' ist. Konvertieren Sie diese zunächst zu einem idss-Modell.

  • idproc-Modelle. Konvertieren Sie diese zunächst zu einem idtf- oder idpoly-Modell.

TsAbtastzeit
Positiver Skalar

Abtastzeit, angegeben als positiver Skalar, der die Abtastperiode des resultierenden zeitdiskreten Systems darstellt. Ts ist in TimeUnit, der Eigenschaft sysc.TimeUnit.

methodDiskretisierungsmethode
'zoh' (Standardeinstellung) | 'foh' | 'impulse' | 'tustin' | 'matched' | 'least-squares' | 'damped'

Diskretisierungsmethode, angegeben als einer der folgenden Werte:

  • 'zoh'–Haltefunktion nullter Ordnung (Standardwert). Geht davon aus, dass die Regeleingänge über die Abtastzeit Ts hinweg konstant sind.

  • 'foh'–Dreiecks-Annäherung (abgeänderte Haltefunktion nullter Ordnung). Geht davon aus, dass die Regeleingänge über die Abtastzeit Ts hinweg linear sind.

  • 'impulse'–Impuls-invariante Diskretisierung

  • 'tustin'–Bilineare (Tustin-) Methode. Um diese Methode mit Frequenz-Vorverzerrung (früher als 'prewarp'-Methode bekannt) festzulegen, verwenden Sie die Option PrewarpFrequency von c2dOptions.

  • 'matched'–Null-Polstellen-Abgleichmethode

  • 'least-squares'–Least-Squares-Methode

  • 'damped'–Gedämpfte Tustin-Annäherung auf Grundlage der TRBDF2-Formel, nur für sparss-Modelle.

Weitere Informationen zu den Algorithmen für jede Konvertierungsmethode finden Sie unter Continuous-Discrete Conversion Methods.

optsDiskretisierungsoptionen
c2dOptions-Objekt

Diskretisierungsoptionen, angegeben als c2dOptions-Objekt. Sie können beispielsweise die Vorverzerrungs-Frequenz, die Ordnung des Thiran-Filters oder die Diskretisierungsmethode als Option festlegen.

Ausgangsargumente

alle reduzieren

sysd — Zeitdiskretes Modell
Dynamisches Systemmodell

Zeitdiskretes Modell, ausgegeben als dynamisches Systemmodell mit demselben Typ wie das Eingangssystem sysc.

Ist sysc ein identifiziertes Modell (IDLTI), gilt für sysd:

  • Es umfasst sowohl die gemessene Komponente als auch die Rauschkomponente von sysc. Die Innovations-Varianz λ des zeitkontinuierlichen identifizierten Modells sysc, gespeichert in der Eigenschaft NoiseVariance, wird als Intensität der spektralen Dichte des Rauschspektrums interpretiert. Die Rauschvarianz in sysd entspricht daher λ/Ts.

  • Es umfasst nicht die geschätzte Parameter-Kovarianz von sysc. Wenn Sie die Kovarianz bei der Diskretisierung des Modells übernehmen möchten, verwenden Sie translatecov.

G — Abbilden der kontinuierlichen Ausgangsbedingungen von Zustandsraummodellen auf zeitdiskreten Anfangszustandvektor
Matrix

Abbilden der zeitkontinuierlichen Ausgangsbedingungen x0 und u0 des Zustandsraum-Modells sysc auf den zeitdiskreten Anfangszustand-Vektor x[0], ausgegeben als Matrix. Die Abbildung der Ausgangsbedingungen auf den Anfangszustand-Vektor erfolgt folgendermaßen:

x[0]=G[x0u0]

Bei Zustandsraummodellen mit Zeitverzögerungen fügt c2d der Matrix G Nullen hinzu, um durch die Diskretisierung der Verzögerungen entstehende weitere Zustände aufnehmen zu können. Weitere Informationen zur Modellierung von Zeitverzögerungen in diskretisierten Systemen finden Sie unter Continuous-Discrete Conversion Methods.

Versionsverlauf

Eingeführt vor R2006a

alle erweitern

Sie können mechss-Modelle nun mithilfe der bilinearen Tustin-Annäherungsmethode diskretisieren. Bei mechss-Modellen berechnet die 'tustin'-Methode eine Tustin-Diskretisierung der zweiten Ordnung. Dies entspricht der Anwendung von Tustin auf ein sparss erster Ordnung, äquivalent zum mechss-Modell.

Siehe auch

c2dOptions | d2c | d2d | thiran | translatecov (System Identification Toolbox) | Konvertierung der Modellrate

Themen

  • Dynamische Systemmodelle
  • Discretize a Compensator
  • Continuous-Discrete Conversion Methods

MATLAB-Befehl

Sie haben auf einen Link geklickt, der diesem MATLAB-Befehl entspricht:

 

Führen Sie den Befehl durch Eingabe in das MATLAB-Befehlsfenster aus. Webbrowser unterstützen keine MATLAB-Befehle.

c2d - Konvertieren eines Modells von kontinuierlicher zu diskreter Zeit (6)

Select a Web Site

Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .

You can also select a web site from the following list:

Americas

  • América Latina (Español)
  • Canada (English)
  • United States (English)

Europe

  • Belgium (English)
  • Denmark (English)
  • Deutschland (Deutsch)
  • España (Español)
  • Finland (English)
  • France (Français)
  • Ireland (English)
  • Italia (Italiano)
  • Luxembourg (English)
  • Netherlands (English)
  • Norway (English)
  • Österreich (Deutsch)
  • Portugal (English)
  • Sweden (English)
  • Switzerland
    • Deutsch
    • English
    • Français
  • United Kingdom (English)

Asia Pacific

  • Australia (English)
  • India (English)
  • New Zealand (English)
  • 中国
  • 日本 (日本語)
  • 한국 (한국어)

Contact your local office

c2d - Konvertieren eines Modells von kontinuierlicher zu diskreter Zeit (2024)
Top Articles
Latest Posts
Recommended Articles
Article information

Author: Fr. Dewey Fisher

Last Updated:

Views: 5869

Rating: 4.1 / 5 (42 voted)

Reviews: 81% of readers found this page helpful

Author information

Name: Fr. Dewey Fisher

Birthday: 1993-03-26

Address: 917 Hyun Views, Rogahnmouth, KY 91013-8827

Phone: +5938540192553

Job: Administration Developer

Hobby: Embroidery, Horseback riding, Juggling, Urban exploration, Skiing, Cycling, Handball

Introduction: My name is Fr. Dewey Fisher, I am a powerful, open, faithful, combative, spotless, faithful, fair person who loves writing and wants to share my knowledge and understanding with you.