UnitDelay UnitDelay Icon

DiscretePrimitives.UnitDelay

UnitDelay(; name, ic = 0.0)

A unit delay component that delays the input signal by one sample period.

Arguments

  • name: Component name
  • ic: Initial condition for the delay (default: 0.0)

Variables

  • u(t): Input signal
  • y(t): Output signal delayed by one sample

Description

Implements: y[k] = u[k-1], the fundamental discrete-time delay element.

Usage

PrimitiveComponents.DiscretePrimitives.UnitDelay(ic)

Parameters:

NameDescriptionUnitsDefault value
ic

Connectors

  • u - This connector represents a real signal as an input to a component (RealInput)
  • y - This connector represents a real signal as an output from a component (RealOutput)

Behavior

\[ \begin{align} y\left( t \right) &= Shift(t, -1)\left( u\left( t \right) \right) \\ \frac{\mathrm{d} \mathtt{dummy.l}\left( t \right)}{\mathrm{d}t} &= 0 \end{align} \]

Source

"""
    UnitDelay(; name, ic = 0.0)

A unit delay component that delays the input signal by one sample period.

# Arguments
- `name`: Component name
- `ic`: Initial condition for the delay (default: 0.0)

# Variables
- `u(t)`: Input signal
- `y(t)`: Output signal delayed by one sample

# Description
Implements: y[k] = u[k-1], the fundamental discrete-time delay element.
"""
external component UnitDelay@[input clk]
  u = RealInput@[clk]() {
    "Dyad": {
      "placement": {
        "diagram": {"iconName": "default", "x1": 0, "y1": 460, "x2": 80, "y2": 540, "rot": 0}
      },
      "tags": []
    }
  }
  y = RealOutput@[clk]() {
    "Dyad": {
      "placement": {
        "diagram": {"iconName": "default", "x1": 1000, "y1": 460, "x2": 1080, "y2": 540, "rot": 0}
      },
      "tags": []
    }
  }
  parameter ic::Real
relations
metadata {"Dyad": {"icons": {"default": "dyad://PrimitiveComponents/Delay.svg"}}}
end
Flattened Source
"""
    UnitDelay(; name, ic = 0.0)

A unit delay component that delays the input signal by one sample period.

# Arguments
- `name`: Component name
- `ic`: Initial condition for the delay (default: 0.0)

# Variables
- `u(t)`: Input signal
- `y(t)`: Output signal delayed by one sample

# Description
Implements: y[k] = u[k-1], the fundamental discrete-time delay element.
"""
external component UnitDelay
  u = RealInput@[clk]() {
    "Dyad": {
      "placement": {
        "diagram": {"iconName": "default", "x1": 0, "y1": 460, "x2": 80, "y2": 540, "rot": 0}
      },
      "tags": []
    }
  }
  y = RealOutput@[clk]() {
    "Dyad": {
      "placement": {
        "diagram": {"iconName": "default", "x1": 1000, "y1": 460, "x2": 1080, "y2": 540, "rot": 0}
      },
      "tags": []
    }
  }
  parameter ic::Real
relations
metadata {"Dyad": {"icons": {"default": "dyad://PrimitiveComponents/Delay.svg"}}}
end


Test Cases

No test cases defined.