Programmer Guide/SPU Reference/AVR: Difference between revisions

From STX Wiki
Jump to navigationJump to search
No edit summary
No edit summary
Line 7: Line 7:
|<var>X</var>||data to be averaged ||number, vector, matrix ||variable  
|<var>X</var>||data to be averaged ||number, vector, matrix ||variable  
|-
|-
|<var>TYP</var>||a number or string; defines the averaging method ||constant  
|<var>TYP</var>||averaging method ||number (int.), string||constant
|-
|-
|<var>T</var>||averaging parameter (number); depends on method ||variable, only for <var>TYP</var>=2  
|<var>T</var>||averaging parameter, depends on method ||number or n.c.||<var>TYP</var>&eq;2&rarr;
|-
|-
|<var>RS</var>||reset flag (number) ||variable, only checked on SPU start  
|<var>RS</var>||reset flag (number) ||variable, only checked on SPU start  

Revision as of 11:58, 6 May 2011

Average input X over evaluation cycles.

[SPU AVR X TYP T RS OUT Y]

input description datatype value type default
X data to be averaged number, vector, matrix variable
TYP averaging method number (int.), string constant
T averaging parameter, depends on method number or n.c. TYP&eq;2→
RS reset flag (number) variable, only checked on SPU start
output description type comment
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
Y[i,j]t={X[i,j]tif t=01t+1(t.Y[i,j]t−1+X[i,j]t)if t>0
running average
TYP=0 or linear
T>0; T is the (integer) number of averaging cycles
Y[i,j]t={1t+1∑z=0tX[i,j]zif 0⩽t<T1T∑z=0T−1X[i,j]t−zif t⩾T
exponential average
TYP=1 or exponential
0<T<1; T is the averaging factor
Y[i,j]t={X[i,j]tif t=0 (or T out of range)T.Y[i,j]t−1+(1−T).X[i,j]tif t>0
minimum
TYP=2 or minimum
T is not used
Y[i,j]t={X[i,j]tif t=0min(Y[i,j]t−1,X[i,j]t)if t>0
maximum
TYP=3 or maximum
T is not used
Y[i,j]t={X[i,j]tif t=0max(Y[i,j]t−1,X[i,j]t)if t>0
See also

<SP-atoms>

Navigation menu

Personal tools