measurement/signal_transformation-0.1.0#

Signal transformation step.

Description

Describes the transformation between an input and output signal. Optionally describes the associated error of the transformation step and the mathematical formula.

Outline

Schema Definitions

This node must validate against any of the following:

  • This node has no type definition (unrestricted)
  • This node has no type definition (unrestricted)

Examples

A simple analog-digital conversion without a function that affects the signal values:

!<asdf://weldx.bam.de/weldx/tags/measurement/signal_transformation-0.1.0>
  name: AD conversion
  error: !<asdf://weldx.bam.de/weldx/tags/measurement/error-0.1.0>
    deviation: !<asdf://weldx.bam.de/weldx/tags/units/quantity-0.1.0> { value: 0.5, units: !<asdf://weldx.bam.de/weldx/tags/units/units-0.1.0> percent }
  type_transformation: AD

A transformation that calculates amperes based on volts using a given function:

!<asdf://weldx.bam.de/weldx/tags/measurement/signal_transformation-0.1.0>
  name: Volt-Ampere-Conversion
  error: !<asdf://weldx.bam.de/weldx/tags/measurement/error-0.1.0>
    deviation: !<asdf://weldx.bam.de/weldx/tags/units/quantity-0.1.0> { value: 1.5, units: !<asdf://weldx.bam.de/weldx/tags/units/units-0.1.0> percent }
  func: !<asdf://weldx.bam.de/weldx/tags/core/mathematical_expression-0.1.0>
    expression: a*x + b
    parameters:
      a: !<asdf://weldx.bam.de/weldx/tags/units/quantity-0.1.0> { value: 3, units: !<asdf://weldx.bam.de/weldx/tags/units/units-0.1.0> ampere / volt }
      b: !<asdf://weldx.bam.de/weldx/tags/units/quantity-0.1.0> { value: 2, units: !<asdf://weldx.bam.de/weldx/tags/units/units-0.1.0> ampere }

Original Schema

%YAML 1.1
---
$schema: "http://stsci.edu/schemas/yaml-schema/draft-01"
id: "asdf://weldx.bam.de/weldx/schemas/measurement/signal_transformation-0.1.0"

title: |
  Signal transformation step.
description: |
  Describes the transformation between an input and output signal.
  Optionally describes the associated error of the transformation step and the mathematical formula.
examples:
  -
    - A simple analog-digital conversion without a function that affects the signal values
    - |
      !<asdf://weldx.bam.de/weldx/tags/measurement/signal_transformation-0.1.0>
        name: AD conversion
        error: !<asdf://weldx.bam.de/weldx/tags/measurement/error-0.1.0>
          deviation: !<asdf://weldx.bam.de/weldx/tags/units/quantity-0.1.0> { value: 0.5, units: !<asdf://weldx.bam.de/weldx/tags/units/units-0.1.0> percent }
        type_transformation: AD
  -
    - A transformation that calculates amperes based on volts using a given function
    - |
      !<asdf://weldx.bam.de/weldx/tags/measurement/signal_transformation-0.1.0>
        name: Volt-Ampere-Conversion
        error: !<asdf://weldx.bam.de/weldx/tags/measurement/error-0.1.0>
          deviation: !<asdf://weldx.bam.de/weldx/tags/units/quantity-0.1.0> { value: 1.5, units: !<asdf://weldx.bam.de/weldx/tags/units/units-0.1.0> percent }
        func: !<asdf://weldx.bam.de/weldx/tags/core/mathematical_expression-0.1.0>
          expression: a*x + b
          parameters:
            a: !<asdf://weldx.bam.de/weldx/tags/units/quantity-0.1.0> { value: 3, units: !<asdf://weldx.bam.de/weldx/tags/units/units-0.1.0> ampere / volt }
            b: !<asdf://weldx.bam.de/weldx/tags/units/quantity-0.1.0> { value: 2, units: !<asdf://weldx.bam.de/weldx/tags/units/units-0.1.0> ampere }

type: object
properties:
  name:
    description: |
      The name of the transformation
    type: string
  error:
    description: |
      The error caused by the transformation
    tag: "asdf://weldx.bam.de/weldx/tags/measurement/error-0.1.*"
  func:
    description: |
      A mathematical expression that describes the relation between the values of the output and input signal
    tag: "asdf://weldx.bam.de/weldx/tags/core/mathematical_expression-0.1.*"
  type_transformation:
    description: |
      A string of length 2 containing an arbitrary combination of the letters A (for analog) and D (for digital). The
      first letter represents the type of the input signal and the second letter the type of the output signal.
    type: string
    enum: [AA, AD, DA, DD]

anyOf:
  - required: [name, error, func]
  - required: [name, error, type_transformation]

propertyOrder: [name, error, func, type_transformation]

flowStyle: block
...