Hauptinhalt

Unit Delay

Signalverzögerung um eine Abtastperiode

  • Unit Delay block

Bibliotheken:
Simulink / Discrete
HDL Coder / Discrete

Beschreibung

Der Unit Delay-Block hält die Eingabe zurück und verzögert sie um eine Abtastperiode. Wenn er in einem Iterator-Subsystem platziert wird, hält er seine Eingabe und verzögert sie um eine Iteration. Dieser Block entspricht dem zeitdiskreten Operator z-1. Der Block akzeptiert eine Eingabe und generiert eine Ausgabe. Jedes Signal kann skalar oder vektoriell sein. Wenn es sich bei der Eingabe um einen Vektor handelt, hält der Block alle Elemente des Vektors und verzögert sie um dieselbe Abtastperiode.

Sie legen die Blockausgabe für den ersten Abtastzeitraum mit dem Parameter Initial conditions fest. Durch sorgfältige Auswahl dieses Parameters kann unerwünschtes Ausgabeverhalten minimiert werden. Die Zeit zwischen den Abtastungen legen Sie mit dem Parameter Sample time fest. Eine Einstellung von -1 bedeutet, dass der Block die Sample time übernimmt.

Hinweis

Der Unit Delay-Block weist Fehler auf, wenn Sie ihn verwenden, um einen Übergang zwischen Blöcken zu erstellen, die mit unterschiedlichen Abtastraten arbeiten. Verwenden Sie stattdessen den Rate Transition-Block.

Vergleich mit ähnlichen Blöcken

Die Blöcke Memory, Unit Delay und Zero-Order Hold bieten ähnliche Funktionen, verfügen jedoch über unterschiedliche Fähigkeiten. Außerdem ist der Zweck jedes Blocks unterschiedlich.

Diese Tabelle zeigt die empfohlene Verwendung für jeden Block.

BlockZweck des BlocksReferenzbeispiele
Unit DelayImplementieren Sie eine Verzögerung mit einer von Ihnen festgelegten diskreten Abtastzeit. Der Block akzeptiert und gibt Signale mit einer diskreten Abtastzeit aus.
SpeicherImplementieren Sie eine Verzögerung um einen wesentlichen Integrationszeitschritt. Im Idealfall akzeptiert der Block kontinuierliche (oder in einem kleinen Zeitschritt festgelegte) Signale und gibt ein Signal aus, das in einem kleinen Zeitschritt festgelegt ist.
Zero-Order HoldWandeln Sie ein Eingabesignal mit einer kontinuierlichen Abtastzeit in ein Ausgabesignal mit einer diskreten Abtastzeit um.

Jeder Block verfügt über die folgenden Funktionen.

FunktionSpeicherEinheitsverzögerung (Unit Delay)Zero Order Hold
Spezifikation der AnfangsbedingungJaJaNein, denn die Ausgabe des Blocks zum Zeitpunkt t = 0 muss mit dem Eingabewert übereinstimmen.
Angabe der AbtastzeitNein, denn der Block kann nur die Abtastzeit vom Steuerblock oder dem für das gesamte Modell verwendeten Solver übernehmen.JaJa
Unterstützung für blockbasierte SignaleNein JaJa
Unterstützung für StatusprotokollierungNeinJaNein

String-Unterstützung

Der Unit Delay-Block kann nur dann einen String-Datentyp akzeptieren und ausgeben, wenn der Block für den Standardwert des Initial condition-Parameters (0) konfiguriert ist.

Beispiele

Ports

Eingabe

alle erweitern

Eingabesignal, das der Block um einen Abtastzeitraum verzögert.

Datentypen: half | single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | string | Boolean | fixed point | enumerated | bus | image

Ausgabe

alle erweitern

Ausgabesignal, das der um einen Abtastzeitraum verzögerten Eingabe entspricht.

Datentypen: half | single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | string | Boolean | fixed point | enumerated | bus | image

Parameter

alle erweitern

Haupt

Geben Sie die Ausgabe der Simulation für den ersten Abtastzeitraum an, während dessen die Ausgabe des Unit Delay-Blocks ansonsten undefiniert ist.

Programmatische Verwendung

Blockparameter: InitialCondition
Typ: Zeichenvektor
Wert: Skalar | Vektor
Standardwert: '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)'

Geben Sie das diskrete Intervall zwischen den Treffern der Abtastzeit ein oder geben Sie -1 an, um die Abtastzeit zu übernehmen.

Siehe auch Festlegen der Abtastzeit.

Programmatische Verwendung

Blockparameter: SampleTime
Typ: Zeichenvektor
Wert: reeller Skalar | 1-mal-2-Vektor
Standardwert: '-1'

Zustandsattribute

Verwenden Sie diesen Parameter, um dem Zustand des Blocks einen eindeutigen Namen zuzuweisen. Der Standardwert ist ' '. Wenn dieses Feld leer ist, wurde kein Name zugewiesen. Wenn Sie diesen Parameter verwenden, beachten Sie bitte Folgendes:

  • Ein gültiger Bezeichner beginnt mit einem Buchstaben oder einem Unterstrich, gefolgt von alphanumerischen Zeichen oder Unterstrichen.

  • Der Name des Zustands gilt nur für den ausgewählten Block.

Dieser Parameter aktiviert State name must resolve to Simulink signal object, wenn Sie auf Apply klicken.

Weitere Informationen finden Sie unter C Data Code Interface Configuration for Model Interface Elements (Simulink Coder).

Programmatische Verwendung

Blockparameter: StateName
Typ: Zeichenvektor
Werte: eindeutiger Name
Standard: ''

Geben Sie an, ob Namen von Zuständen erforderlich sind, um Objekte zu signalisieren. Wenn diese Option ausgewählt ist, generiert die Software zur Laufzeit einen Fehler, wenn Sie einen Namen für einen Zustand angeben, der nicht mit dem Namen eines Signalobjekts übereinstimmt.

Wenn Sie diesen Parameter auswählen, wird der Parameter Code generation storage class deaktiviert.

Abhängigkeiten

Aktiviert, wenn Sie einen Wert für den Parameter State name angeben und den Modellkonfigurationsparameter Signal resolution auf einen anderen Wert als None setzen.

Programmatische Verwendung

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

Blockeigenschaften

Datentypen

Boolean | bus | double | enumerated | fixed point | half | image | integer | single | string

Direct Feedthrough

Neina

Mehrdimensionale Signale

Ja

Signale mit variabler Größe

Ja

Erkennung von Nulldurchgängen

Nein

a Die Direktdurchführungseigenschaften für diesen Block hängen von den Blockparameterwerten ab.

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