SampleDelay SampleDelay Icon

DiscretePrimitives.SampleDelay

SampleDelay(; name, dt=0.1, n=1, ic=0.0, _...)

A discrete-time sample and delay component that delays the input signal by n sample periods.

Arguments

  • name: Component name
  • dt: Sampling time interval (default: 0.1)
  • n: Number of sample periods to delay (default: 1)
  • ic: Initial condition for delayed samples (default: 0.0)

Variables

  • u(t): Input signal
  • y(t): Delayed output signal
  • l(t): Dummy continuous state

Description

Implements: y[k] = u[k-n], introducing a delay of n sampling periods.

Usage

PrimitiveComponents.DiscretePrimitives.SampleDelay()

Parameters:

NameDescriptionUnitsDefault value
dt
n
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

Behavior of this component cannot be rendered because it includes path variables.

Source

"""
    SampleDelay(; name, dt=0.1, n=1, ic=0.0, _...)

A discrete-time sample and delay component that delays the input signal by n sample periods.

# Arguments
- `name`: Component name
- `dt`: Sampling time interval (default: 0.1)
- `n`: Number of sample periods to delay (default: 1)
- `ic`: Initial condition for delayed samples (default: 0.0)

# Variables
- `u(t)`: Input signal
- `y(t)`: Delayed output signal
- `l(t)`: Dummy continuous state

# Description
Implements: y[k] = u[k-n], introducing a delay of n sampling periods.
"""
external component SampleDelay
  u = Dyad.RealInput() {
    "Dyad": {
      "placement": {
        "icon": {"iconName": "default", "x1": -40, "y1": 480, "x2": 0, "y2": 520, "rot": 0},
        "diagram": {"iconName": "default", "x1": -40, "y1": 480, "x2": 0, "y2": 520, "rot": 0}
      }
    }
  }
  y = Dyad.RealOutput() {
    "Dyad": {
      "placement": {
        "icon": {"iconName": "default", "x1": 1010, "y1": 480, "x2": 1050, "y2": 520, "rot": 0},
        "diagram": {"iconName": "default", "x1": 1010, "y1": 480, "x2": 1050, "y2": 520, "rot": 0}
      }
    }
  }
  structural dt::Real
  structural n::Integer
  structural ic::Real
relations
metadata {
  "Dyad": {
    "labels": [{"label": "$(instance)", "x": 500, "y": 1100, "rot": 0}],
    "icons": {"default": "dyad://PrimitiveComponents/SampleDelay.svg"},
    "doc": {"behavior": false}
  }
}
end
Flattened Source
"""
    SampleDelay(; name, dt=0.1, n=1, ic=0.0, _...)

A discrete-time sample and delay component that delays the input signal by n sample periods.

# Arguments
- `name`: Component name
- `dt`: Sampling time interval (default: 0.1)
- `n`: Number of sample periods to delay (default: 1)
- `ic`: Initial condition for delayed samples (default: 0.0)

# Variables
- `u(t)`: Input signal
- `y(t)`: Delayed output signal
- `l(t)`: Dummy continuous state

# Description
Implements: y[k] = u[k-n], introducing a delay of n sampling periods.
"""
external component SampleDelay
  u = Dyad.RealInput() {
    "Dyad": {
      "placement": {
        "icon": {"iconName": "default", "x1": -40, "y1": 480, "x2": 0, "y2": 520, "rot": 0},
        "diagram": {"iconName": "default", "x1": -40, "y1": 480, "x2": 0, "y2": 520, "rot": 0}
      }
    }
  }
  y = Dyad.RealOutput() {
    "Dyad": {
      "placement": {
        "icon": {"iconName": "default", "x1": 1010, "y1": 480, "x2": 1050, "y2": 520, "rot": 0},
        "diagram": {"iconName": "default", "x1": 1010, "y1": 480, "x2": 1050, "y2": 520, "rot": 0}
      }
    }
  }
  structural dt::Real
  structural n::Integer
  structural ic::Real
relations
metadata {
  "Dyad": {
    "labels": [{"label": "$(instance)", "x": 500, "y": 1100, "rot": 0}],
    "icons": {"default": "dyad://PrimitiveComponents/SampleDelay.svg"},
    "doc": {"behavior": false}
  }
}
end


Test Cases

No test cases defined.