Skip to content

Transformation

Linear transforms to map an input signal range to an output signal.


JCS Network Configuration

structure.yaml Configuration

type proc_transform

Signals - From Process

Signal name Type Required Description
y_1 float32 required Transform output 1
Signal name can be renamed by the user
y_2 float32 optional Transform output 2
Signal name can be renamed by the user

Signals - To Process

Signal name Type Required Description
x_1 float32 required Transform input 1.
x_2 float32 optional Transform input 2.
transform_type type_2x2 only.

Configuration Parameters

Parameter name Type Required Description
transform_type enum required Selects the transform type.
a_coeff float32 optional Single transform coefficient.
Required if transform_type type_1x1 is selected
b_coeff float32 optional Single transform coefficient.
Required if transform_type type_1x1 is selected.
A22_coeffs float32 required 2x2 A matrix transform coefficients, stored as an array: [a11, a12, a21, a22]
Required is transform_type type_2x2 is selected.
b21_coeffs float32 required 2x1 b vector transform coefficients, stored as an array: [b11, b21]
Required is transform_type type_2x2 is selected.

The following transforms are available for parameter transform_type:

transform_type Description
type_1x1 Single input, single output transform defined by \(y = ax + b\), where \(a\) and \(b\) are constants.
type_2x2 Double input, double output transform defined by \(\textbf{y} = \textbf{Ax} + \textbf{b}\), where \(\textbf{A}\) is a 2x2 matrix and \(\textbf{b}\) is a 2x1 vector.

Operation

1X1 Transform

If transform_type type_1x1 is selected then the transform is configured as a 1x1 transform that is defined by:

\[ y = ax + b \]

Where \(a\) is a single coefficient, \(b\) is a single coefficient and \(x\) and \(y\) are the single input and output signals.

Configuration requirements:

Operation of the 1x1 transform requires:

  • transform_type must be set to type_1x1.

  • a_coeff to be configured. If not configured, a default value of \(a = 1.0\) is applied.

  • b_coeff to be configured. If not configured, a default value of \(b = 0.0\) is applied.

  • Signal x_1 must be connected.

2X2 Transform

If transform_type type_2x2 is selected then the transform is configured as a 2x2 matrix transform that is defined by:

\[ \textbf{y} = \textbf{Ax} + \textbf{b} \]

Where \(\textbf{A}\) is a 2x2 matrix, \(\textbf{b}\) is a 2x1 vector and \(\textbf{x}\) and \(\textbf{y}\) are the input and two output signals.

Configuration requirements:

Operation of the 2x2 transform requires:

  • transform_type must be set to type_2x2.

  • A22_coeffs to be configured. If not configured, a default value of \(\textbf{A} = \big[\begin{smallmatrix} 1 & 0\\ 0 & 1 \end{smallmatrix}\big]\) is applied.

  • b21_coeffs to be configured. If not configured, a default value of \(\textbf{b} = \small[\begin{smallmatrix} 0 & 0 \end{smallmatrix}\small]^{\mathsf{T}}\) is applied.

  • Signal x_1 must be connected.

  • Signal x_2 must be connected.