Main Content

Derivative

Berechnen der ungefähren kontinuierlichen Ableitung eines kontinuierlichen Eingangssignals gegenüber der Zeit

  • Derivative block

Bibliotheken:
Simulink / Continuous

Beschreibung

Der Derivative-Block liefert eine Schätzung der kontinuierlichen Ableitung des kontinuierlichen Eingangssignals u gegenüber der Simulationszeit t. Verwenden Sie den Derivative-Block, wenn Sie die Ableitung eines differenzierbaren Signals mit kontinuierlicher Abtastzeit berechnen müssen.

Eine unsachgemäße Verwendung des Derivative-Blocks kann zu ungenauen Simulationsergebnissen führen. So möglich, ziehen Sie diese Alternativen zu dem Derivative-Block in Betracht:

  • Stellen Sie die Gleichungen des Systems um, sodass ein Integral statt einer Ableitung errechnet wird. Strukturieren Sie das Modell daraufhin auf Basis der neuen Gleichungen so, dass die Software mit Blöcken wie dem Integrator-Block ein Integral statt einer Ableitung berechnet.

    Ein Beispiel finden Sie unter Best-Form Mathematical Models.

  • Wenn ein Transfer Fcn-Block zudem als Eingangs- oder Ausgangssignal des Derivative-Blocks fungiert, implementieren Sie die Ableitung des Signals, indem Sie stattdessen eine Null in der Transferfunktion hinzufügen.

  • Um den Differenzenquotient für ein diskretes Signal in einem diskreten System zu berechnen, verwenden Sie den Discrete Derivative-Block.

Wenn Sie den Derivative-Block verwenden müssen, verwenden Sie den Block nur für differenzierbare Eingangssignale mit kontinuierlicher Abtastzeit.

  • Die Software gibt eine Warnung aus, wenn das mit diesem Port verbundene Signal eine diskrete oder in kleinen Zeitschritten feste Abtastzeit aufweist. (seit R2023b)

  • Die Software gibt keine Warnung aus, wenn das Eingangssignal eine konstante Abtastzeit aufweist, eine Abstimmung des Signals führt jedoch zu einer Diskontinuität im Eingangssignal. Eine Differenzierung über diese Diskontinuitäten hinweg erzeugt Spitzen im Ausgangssignal.

  • Um den Differenzenquotient für ein diskretes Signal in einem diskreten System zu berechnen, verwenden Sie den Discrete Derivative-Block.

Gewährleisten der Präzision kontinuierlicher Ableitungs-Annäherungen

Wenn Sie den Derivative-Block verwenden, müssen Sie sicherstellen, dass die Präzision des Block-Ausgangssignals Ihren Anforderungen entspricht. Selbst bei Verwendung im korrekten Kontext hängt die Präzision des Ausgangssignals des Derivative-Blocks von der Schrittgröße ab und könnte von der Dynamik des restlichen Systems abhängen.

Mit dem Parameter maximale Schrittgröße können Sie verhindern, dass ein Solver mit variabler Schrittgröße Schritte macht, die für Ihre Präzisionsanforderungen zu groß sind. Um einen angemessenen Wert für die maximale Schrittgröße zu ermitteln, müssen Sie ggf. mehrere Simulationen ausführen.

Bei Simulationen mit variabler Schrittgröße ermittelt der Solver die Größe jedes wichtigen Zeitschritts, indem er Berechnungen kontinuierlicher Zustände im gesamten Modell auf Fehler überwacht. Wenn der Fehler im berechneten Wert für einen kontinuierlichen Zustand die angegebenen Toleranzwerte überschreitet, reduziert der Solver die Schrittgröße, bis der Fehler innerhalb der Toleranzen liegt.

Der Derivative-Block weist keine kontinuierlichen Zustände auf; der Solver kann daher nicht die Schrittgröße ändern, um zu gewährleisten, dass die Berechnungen des Derivative-Blocks den Toleranzanforderungen entsprechen. Wenn der Solver einen großen Zeitschritt macht, wenn sich der Eingangssignal-Wert schnell ändert, könnte der Block einen unerwarteten Ausgangswert erzeugen.

Ports

Eingabe

alle erweitern

Das Eingangssignal muss reell sein und kann Skalar- oder Vektor-Abtastwerte aufweisen. Verwenden Sie den Derivative-Block zur Errechnung von Näherungswerten für die kontinuierliche Ableitung nur für Signale mit kontinuierlicher Abtastzeit.

Datentypen: double

Ausgabe

alle erweitern

Der Derivative-Block errechnet einen Näherungswert für die kontinuierliche Ableitung des Eingangssignals gegenüber der Zeit und gibt das Ergebnis als kontinuierliches Signal aus. Die Dimensionen und die Komplexität des Ausgangssignals entsprechen den Dimensionen und der Komplexität des Eingangssignals, das reell sein muss.

Datentypen: double

Parameter

alle erweitern

Verwenden Sie den Property Inspector, um Blockparameter interaktiv zu bearbeiten. Klicken Sie in der Simulink®-Symbolleiste auf die Registerkarte Simulation und wählen Sie in der Galerie Prepare den Punkt Property Inspector aus.

Eine exakte Linearisierung einer kontinuierlichen Ableitung ist schwierig, da für die dynamische Gleichung y=u˙ keine Zustandsraum-Darstellung existiert. Die Software errechnet einen Näherungswert für die Linearisierung des Derivative-Blocks, indem es dem System einen Pol hinzufügt, um eine Transferfunktion mit der Form s/(cs+1). zu erstellen. Der Pol fungiert zudem als Low-Pass-Filter mit einer vom Wert dieses Parameters festgelegten Grenzfrequenz, was Rauscheffekte mindert.

Eine bewährte Methode ist, diesen Parameterwert auf 1fb zu setzen, wobei fb die Grenzfrequenz in Radiant pro Sekunde für den Low-Pass-Filter, der durch den Pol hinzugefügt wird, darstellt. Wählen Sie eine Grenzfrequenz größer gleich der Nyquist-Frequenz des Systems. Der Standardwert inf des Parameters entspricht einer Grenzfrequenz von 0.

Programmatische Verwendung

Um den Wert des Blockparameters programmatisch festzulegen, verwenden Sie die Funktion set_param.

Um den Wert des Blockparameters programmatisch abzurufen, verwenden Sie die Funktion get_param.

Parameter: CoefficientInTFapproximation
Werte: inf (Standardeinstellung) | finite positive scalar number
Datentypen: char | string

Beispiel: set_param("MyModel/Derivative","CoefficientInTFapproximation","0.001") configures the Derivative block named Derivative in the model MyModel to use the coefficient 0.001 in the transfer function used for approximate linearization of the block. This coefficient value results in a cutoff frequency of 1000 radians per second.

Blockeigenschaften

Datentypen

double

Direct Feedthrough

ja

Mehrdimensionale Signale

nein

Signale mit variabler Größe

nein

Erkennung von Nulldurchgängen

nein

Algorithmen

Der Derivative-Block berechnet die numerische Differenz Δu/Δt, um einen Näherungswert für die kontinuierliche Ableitung dudt, zu bestimmen, wobei Δu die Änderung im Eingangssignalwert und Δt die Größe des großen Zeitschritts ist, mit dem der Solver die aktuelle Simulationszeit erreicht hat. Die Präzision der kontinuierlichen Ableitungs-Näherung hängt von der Änderungsrate des Eingangssignals und der Schrittgröße ab.

Der anfängliche Ausgangswert des Derivative-Blocks ist stets 0. Unter Berücksichtigung des anfänglichen Ausgangswerts stellt diese Gleichung die präzise Beziehung zwischen den Eingangs- und Ausgangssignalen des Blocks dar.

y(t)=ΔuΔt=u(t)u(Tprevious)tTprevious|t>Tprevious,

  • t ist die aktuelle Simulationszeit.

  • Tprevious ist die Zeit des letzten großen Zeitschritts der Simulation.

Erweiterte Fähigkeiten

Versionsverlauf

Eingeführt vor R2006a

alle erweitern