Hauptinhalt

Discrete Derivative

Zeitdiskrete Ableitung berechnen

  • Discrete Derivative block

Bibliotheken:
Simulink / Discrete

Beschreibung

Der Block Discrete Derivative berechnet eine optional skalierte zeitdiskrete Ableitung auf folgende Weise

y(tn)=K(u(tn)u(tn1)Ts)

wobei

  • u(tn) und y(tn) der Blockeingang bzw. -ausgang zum aktuellen Zeitschritt sind.

  • u(tn1) ist der Blockeingang zum vorherigen Zeitschritt.

  • K ist ein optionaler Skalierungsfaktor, angegeben mithilfe des Parameters Gain value.

  • Ts ist die diskrete Schrittgröße der Simulation, die fest sein muss.

Hinweis

Verwenden Sie diesen Block nicht in Subsystemen mit nicht-periodischen Auslösern, wie beispielweise nicht-periodische Function-Call Subsysteme. Diese Konfiguration erzeugt ungenaue Ergebnisse.

Beispiele

alle erweitern

In diesem Beispiel wird dargestellt, wie mit dem Block „Discrete Derivative“ die zeitdiskrete Ableitung eines Gleitkomma-Eingangssignals berechnet werden kann. Die ungefilterte zeitdiskrete Ableitung wird mit einer gefilterten zeitdiskreten Ableitung verglichen, die vom Block „Discrete Filter“ berechnet wird.

Ports

Eingabe

alle erweitern

Das Eingangssignal, angegeben als Skalar, Vektor oder Matrix.

Datentypen: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | fixed point

Ausgabe

alle erweitern

Optional skalierte zeitdiskrete Ableitung, angegeben als Skalar, Vektor oder Matrix. Weitere Informationen darüber, wie der Block die zeitdiskrete Ableitung berechnet, finden Sie unter Beschreibung. Sie geben den Datentyp des Ausgangssignals mit dem Parameter Output data type an.

Datentypen: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | fixed point

Parameter

alle erweitern

Haupt

Auf die berechnete Ableitung angewendeter Skalierungsfaktor, angegeben als realer Skalarwert.

Programmatische Verwendung

Blockparameter: gainval
Typ: Zeichenvektor
Werte: Skalar
Standardwert: '1.0'

Anfangsbedingung für die zuvor skalierte Eingabe, angegeben als Skalar.

Programmatische Verwendung

Blockparameter: ICPrevScaledInput
Typ: Zeichenvektor
Werte: Skalar
Standardwert: '0.0'

Geben Sie an, ob der Block eine abtast- oder blockbasierte Verarbeitung durchführt:

  • Columns as channels (frame based) – Behandelt jede Spalte der Eingabe als separaten Kanal (blockbasierte Verarbeitung).

    Hinweis

    Für die blockbasierte Verarbeitung ist eine DSP System Toolbox™-Lizenz erforderlich.

    Weitere Informationen finden Sie unter Sample- and Frame-Based Concepts (DSP System Toolbox).

  • Elements as channels (sample based) – Behandelt jedes Element der Eingabe als separaten Kanal (abtastbasierte Verarbeitung).

Verwenden Sie Input processing, um anzugeben, ob der Block eine abtast- oder blockbasierte Verarbeitung durchführt. Weitere Informationen zu diesen beiden Verarbeitungsmodi finden Sie unter Sample- and Frame-Based Concepts (DSP System Toolbox).

Programmatische Verwendung

Blockparameter: InputProcessing
Typ: Zeichenvektor
Werte: 'Columns as channels (frame based)' | 'Elements as channels (sample based)'
Standardwert: 'Elements as channels (sample based)'

Signalattribute

Unterer Wert des Ausgabebereichs, den die Software überprüft.

Die Software verwendet das Minimum, um Folgendes auszuführen:

Tipps

Output minimum sättigt oder beschneidet das tatsächliche Ausgabesignal nicht. Verwenden Sie stattdessen den Saturation-Block.

Programmatische Verwendung

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

Parameter: OutMin
Werte: '[]' (Standardeinstellung) | scalar in quotes

Oberer Wert des Ausgabebereichs, den die Software überprüft.

Die Software verwendet den Maximalwert, um Folgendes auszuführen:

Tipps

Output maximum sättigt oder beschneidet das tatsächliche Ausgabesignal nicht. Verwenden Sie stattdessen den Saturation-Block.

Programmatische Verwendung

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

Parameter: OutMax
Werte: '[]' (Standardeinstellung) | scalar in quotes

Legen Sie den Ausgangs-Datentyp fest. Folgende Optionen sind möglich:

  • Eine Regel, die einen Datentyp erbt, beispielsweise Inherit: Inherit via back propagation

  • Der Name eines eingebauten Datentyps, beispielsweise single

  • Der Name eines Datentyp-Objekts, beispielsweise ein Simulink.NumericType-Objekt

  • Ein Ausdruck, der einen Datentyp ergibt, beispielsweise fixdt(1,16,0)

Der Data Type Assistant hilft Ihnen bei der Einstellung von Datenattributen. Um den Data Type Assistant zu verwenden, klicken Sie auf the Show data type assistant button. Weitere Informationen finden Sie unter Specify Data Types Using Data Type Assistant.

Programmatische Verwendung

Blockparameter: OutDataTypeStr
Typ: Zeichenvektor
Werte: 'Inherit: Inherit via internal rule' | 'Inherit: Inherit via back propagation' | 'double' | 'single' | 'int8' | 'uint8' | 'int16' | 'uint16' | 'int32' | 'uint32' | 'int64' | 'uint64' | 'fixdt(1,16,0)' | 'fixdt(1,16,2^0,0)'
Standardwert: 'Inherit: Inherit via internal rule'

Wählen Sie diesen Parameter aus, um zu verhindern, dass die Festkomma-Tools den Datentyp Output überschreiben, den Sie im Block angeben. Weitere Informationen finden Sie unter Use Lock Output Data Type Setting (Fixed-Point Designer).

Programmatische Verwendung

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

Parameter: LockScale
Werte: 'off' (Standardeinstellung) | 'on'

Gibt den Rundungsmodus für Festkommaoperationen an. Weitere Informationen finden Sie unter Rounding Modes (Fixed-Point Designer).

Blockparameter runden stets auf den nächsten darstellbaren Wert. Um das Runden eines Blockparameters zu steuern, geben Sie einen Ausdruck mithilfe einer MATLAB®-Rundungsfunktion in das Maskenfeld ein.

Programmatische Verwendung

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

Parameter: RndMeth
Werte: 'Floor' (Standardeinstellung) | 'Ceiling' | 'Convergent' | 'Nearest' | 'Round' | 'Simplest' | 'Zero'

Wenn Sie dieses Kontrollkästchen aktivieren, sättigen Überläufe bis zum Mindest- oder Höchstwert, den der Datentyp darstellen kann. Andernfalls werden Überläufe gewrappt.

Wenn Sie dieses Kontrollkästchen aktivieren, wird die Sättigung auf jede interne Operation des Blocks angewendet, nicht nur die Ausgabe oder das Ergebnis. Im Allgemeinen kann der Codegenerierungsprozess erkennen, wenn ein Überlauf nicht möglich ist. In diesem Fall erzeugt der Codegenerator keinen Sättigungscode.

Programmatische Verwendung

Blockparameter: DoSatur
Typ: Zeichenvektor
Werte: 'off' | 'on'
Standardwert: 'off'

Blockeigenschaften

Datentypen

double | fixed point | integer | single

Direct Feedthrough

Ja

Mehrdimensionale Signale

Nein

Signale mit variabler Größe

Ja

Erkennung von Nulldurchgängen

Nein

Erweiterte Fähigkeiten

alle erweitern

PLC-Codegenerierung
Generieren strukturierten Textcodes mit Simulink® PLC Coder™.

Festkommakonvertierung
Entwerfen und Simulieren von Festkommasystemen mit Fixed-Point Designer™.

Versionsverlauf

Eingeführt vor R2006a