Programmer Guide/SPU Reference/AVR: Difference between revisions

From STX Wiki
Jump to navigationJump to search
No edit summary
No edit summary
Line 5: Line 5:
!input !!description !!type !!default
!input !!description !!type !!default
|-
|-
|in|| <var>X</var>||a number, vector or matrix containing the data to be averaged ||variable ||
|<var>X</var>||a number, vector or matrix containing the data to be averaged ||variable ||
|-
|-
|in||<var>TYP</var>||a number or string; defines the averaging method ||constant ||
|<var>TYP</var>||a number or string; defines the averaging method ||constant ||
|-
|-
|in||<var>T</var>||averaging parameter (number); depends on method ||variable, only for <var>TYP</var>=2 ||
|<var>T</var>||averaging parameter (number); depends on method ||variable, only for <var>TYP</var>=2 ||
|-
|-
|in||<var>RS</var>||reset flag (number) ||variable, only checked on SPU start ||
|<var>RS</var>||reset flag (number) ||variable, only checked on SPU start ||
|}
!output !!description !!type !!comment
{|class="einrahmen"
!input !!description !!type
|-
|-
|out||<var>Y</var>||averaged input <var>X</var>; same type as <var>X</var> ||variable  
|out||<var>Y</var>||averaged input <var>X</var>; same type as <var>X</var> ||variable ||
|}
|}



Revision as of 11:54, 6 May 2011

Average input X over evaluation cycles.

[SPU AVR X TYP T RS OUT Y]

input description type default
X a number, vector or matrix containing the data to be averaged variable
TYP a number or string; defines the averaging method constant
T averaging parameter (number); depends on method variable, only for TYP=2
RS reset flag (number) variable, only checked on SPU start output description type comment
out Y averaged input X; same type as X variable
Description

The averaging algorithm is defined by the inputs TYP and T. The atom averages the elements X[i,j]t over evaluation cycles t (i=row index, j=column index, t=cycle counter) and stores the averaged value in the element Y[i,j]t.

The cycle counter t is initialized with 0 and incremented by 1 after each evaluation cycle. The cycle counter is reset, if the input RS is set to a value greater than 0. The input RS is checked each time the SPU is started.

infinite average
TYP=0 or linear
T=0
{\displaystyle Y[i,j]_{t}={\begin{cases}X[i,j]_{t}&{\mbox{if }}t=0\\{\frac {1}{t+1}}(t.Y[i,j]_{t-1}+X[i,j]_{t})&{\mbox{if }}t>0\end{cases}}}
running average
TYP=0 or linear
T>0; T is the (integer) number of averaging cycles
{\displaystyle Y[i,j]_{t}={\begin{cases}{\frac {1}{t+1}}\sum _{z=0}^{t}X[i,j]_{z}&{\mbox{if }}0\leqslant t<T\\{\frac {1}{T}}\sum _{z=0}^{T-1}X[i,j]_{t-z}&{\mbox{if }}t\geqslant T\end{cases}}}
exponential average
TYP=1 or exponential
0<T<1; T is the averaging factor
{\displaystyle Y[i,j]_{t}={\begin{cases}X[i,j]_{t}&{\mbox{if }}t=0{\mbox{ (or }}T{\mbox{ out of range)}}\\{\sqrt {T}}.Y[i,j]_{t-1}+(1-{\sqrt {T}}).X[i,j]_{t}&{\mbox{if }}t>0\end{cases}}}
minimum
TYP=2 or minimum
T is not used
{\displaystyle Y[i,j]_{t}={\begin{cases}X[i,j]_{t}&{\mbox{if }}t=0\\min(Y[i,j]_{t-1},X[i,j]_{t})&{\mbox{if }}t>0\end{cases}}}
maximum
TYP=3 or maximum
T is not used
{\displaystyle Y[i,j]_{t}={\begin{cases}X[i,j]_{t}&{\mbox{if }}t=0\\max(Y[i,j]_{t-1},X[i,j]_{t})&{\mbox{if }}t>0\end{cases}}}
See also

<SP-atoms>

Navigation menu

Personal tools