User Tools

Site Tools


eeros_architecture:control_system:available_blocks:transition

This is an old revision of the document!


Transition

A transition block allows to connect two different time domains. It is basically a container holding two blocks. Each of the two time domains runs one of those two blocks.

A transition blocks connects two time domains. The function of this transition block depends on the ratio of the periods of the time domains.

Interpolator

If a signal crosses from a slower time domain into a fast one, the transition block behaves as an interpolator. A change in the input signal is interpolated with small incremental steps (in amplitude as well as timestamps) on the output signal.

Transition block working as interpolator.

Such a block can be created by choosing a ratio greater then 1. The ratio must much the ratio of the periods of the two time domains. The figure above shows the resulting curve for a ratio of 10.

  Transition<Vector2> tInterpolator(10);
  TimeDomain tdSlow("td slow", 0.1, false);
  Timedomain tdFast("td fast", 0.01, true);
  tdSlow.add(tInterpolator.inBlock);
  tdFast.add(tInterpolator.outBlock);

Filter

A signal crossing from a fast time domain to a slower one, needs to behave like a filter. For this purpose the out block, which does the filtering, features an additional input signal. This input signal allows the filter to select a certain signal as next output signal.

Transition block working as a filter.

A filter block is created by choosing a ratio smaller then 1. The ratio must match the ratio of the periods of the two time domains. The figure above shows the resulting curve for a ratio of 0.1. Every time the slow time domain runs the out block of the transition block, the input signal of the out block is sampled. The timestamp of this input signal chooses

  Transition<Vector2> tFilter(0.1);
  tFilter.outBlock.getIn().connect(//choose an appriopriate output signal//);
  Timedomain tdFast("td fast", 0.1, false);
  TimeDomain tdSlow("td slow", 0.01, true);
  tdFast.add(tInterpolator.inBlock);
  tdSlow.add(tInterpolator.outBlock);
eeros_architecture/control_system/available_blocks/transition.1508512111.txt.gz · Last modified: 2017/10/20 17:08 (external edit)