Skip to content
SISO.md

SISO

Single input single output (SISO) base block, a partial component that defines the interface for blocks with one input and one output signal.

This component serves as a base class for various continuous system blocks, providing a standardized interface with input and output ports. Components that extend SISO implement specific behaviors that transform the input signal to produce the output signal, such as filters, gains, integrators, or transfer functions.

Usage

SISO()

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)

Source

dyad
# Single input single output (SISO) base block, a partial component that defines the interface for blocks with one input and one output signal.
#
# This component serves as a base class for various continuous system blocks, providing a standardized
# interface with input and output ports. Components that extend SISO implement specific behaviors that
# transform the input signal to produce the output signal, such as filters, gains, integrators, or
# transfer functions.
partial component SISO
  # Input signal port
  u = RealInput() [{
    "Dyad": {
      "placement": {"icon": {"iconName": "input", "x1": -50, "y1": 450, "x2": 50, "y2": 550}}
    }
  }]
  # Output signal port
  y = RealOutput() [{
    "Dyad": {
      "placement": {"icon": {"iconName": "output", "x1": 950, "y1": 450, "x2": 1050, "y2": 550}}
    }
  }]
end
Flattened Source
dyad
# Single input single output (SISO) base block, a partial component that defines the interface for blocks with one input and one output signal.
#
# This component serves as a base class for various continuous system blocks, providing a standardized
# interface with input and output ports. Components that extend SISO implement specific behaviors that
# transform the input signal to produce the output signal, such as filters, gains, integrators, or
# transfer functions.
partial component SISO
  # Input signal port
  u = RealInput() [{
    "Dyad": {
      "placement": {"icon": {"iconName": "input", "x1": -50, "y1": 450, "x2": 50, "y2": 550}}
    }
  }]
  # Output signal port
  y = RealOutput() [{
    "Dyad": {
      "placement": {"icon": {"iconName": "output", "x1": 950, "y1": 450, "x2": 1050, "y2": 550}}
    }
  }]
metadata {}
end


Test Cases

This is setup code, that must be run before each test case.

julia
using BlockComponents
using ModelingToolkit, OrdinaryDiffEqDefault
using Plots
using CSV, DataFrames

snapshotsdir = joinpath(dirname(dirname(pathof(BlockComponents))), "test", "snapshots")
"/home/actions-runner-10/.julia/packages/BlockComponents/77kIK/test/snapshots"
  • Examples

  • Experiments

  • Analyses