Unit Delay
Signalverzögerung um eine Abtastperiode
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.
| Block | Zweck des Blocks | Referenzbeispiele |
|---|---|---|
| Unit Delay | Implementieren Sie eine Verzögerung mit einer von Ihnen festgelegten diskreten Abtastzeit. Der Block akzeptiert und gibt Signale mit einer diskreten Abtastzeit aus. |
|
| Speicher | Implementieren 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 Hold | Wandeln Sie ein Eingabesignal mit einer kontinuierlichen Abtastzeit in ein Ausgabesignal mit einer diskreten Abtastzeit um. |
Jeder Block verfügt über die folgenden Funktionen.
| Funktion | Speicher | Einheitsverzögerung (Unit Delay) | Zero Order Hold |
|---|---|---|---|
| Spezifikation der Anfangsbedingung | Ja | Ja | Nein, denn die Ausgabe des Blocks zum Zeitpunkt t = 0 muss mit dem Eingabewert übereinstimmen. |
| Angabe der Abtastzeit | Nein, denn der Block kann nur die Abtastzeit vom Steuerblock oder dem für das gesamte Modell verwendeten Solver übernehmen. | Ja | Ja |
| Unterstützung für blockbasierte Signale | Nein | Ja | Ja |
| Unterstützung für Statusprotokollierung | Nein | Ja | Nein |
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
Ausgabe
Parameter
Blockeigenschaften
Datentypen |
|
Direct Feedthrough |
|
Mehrdimensionale Signale |
|
Signale mit variabler Größe |
|
Erkennung von Nulldurchgängen |
|
a Die Direktdurchführungseigenschaften für diesen Block hängen von den Blockparameterwerten ab. | |
Erweiterte Fähigkeiten
Versionsverlauf
Eingeführt vor R2006a
