Programmer Guide/SPU Reference/AVR: Difference between revisions

From STX Wiki
Jump to navigationJump to search
Line 20: Line 20:


The cycle counter ''t'' is initialized with 0 and incremented by 1 after each evaluation cycle. The cycle counter is reset, if the input <var>RS</var> is set to a value greater than <code>0</code>. The input <var>RS</var> is checked each time the SPU is started.
The cycle counter ''t'' is initialized with 0 and incremented by 1 after each evaluation cycle. The cycle counter is reset, if the input <var>RS</var> is set to a value greater than <code>0</code>. The input <var>RS</var> is checked each time the SPU is started.
:;infinite average:  
:;infinite average:  
::<var>TYP</var>=<code>0</code> or <code>linear</code>
::<var>TYP</var>=<code>0</code> or <code>linear</code>
Line 30: Line 29:
\end{cases}
\end{cases}
</math>
</math>
:;running average:
:;running average:
::<var>TYP</var>=<code>0</code> or <code>linear</code>
::<var>TYP</var>=<code>0</code> or <code>linear</code>
Line 40: Line 38:
\end{cases}
\end{cases}
</math>
</math>
:;exponential average:
:;exponential average:
::<var>TYP</var>=<code>0</code> or <code>linear</code>
::<var>TYP</var>=<code>1</code> or <code>exponential</code>
::<code>0</code>&lt;<var>T</var>&lt;<code>1</code>; <var>T</var> is the averaging factor  
::<code>0</code>&lt;<var>T</var>&lt;<code>1</code>; <var>T</var> is the averaging factor  
::<math>Y[i,j]_t =  
::<math>Y[i,j]_t =  
Line 50: Line 47:
\end{cases}
\end{cases}
</math>
</math>
:;minimum:
::<var>TYP</var>=<code>2</code> or <code>minimum</code>
::<code>0</code>&lt;<var>T</var>&lt;<code>1</code>; <var>T</var> is the averaging factor
::<math>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}
</math>


;See also:
;See also:
<[[../#Signal Processing Atoms|SP-atoms]]>
<[[../#Signal Processing Atoms|SP-atoms]]>
<!-- AN, 2.5.2011 -->
<!-- AN, 2.5.2011 -->

Revision as of 10:42, 6 May 2011

Average input X over evaluation cycles.

[SPU SUM X TYP T RS OUT Y]

In: X a number, vector or matrix containing the data to be averaged
TYP a number or string; defines the averaging method
T averaging parameter (number); depends on method
RS reset flag (number)
Out: Y averaged input X; same type as X
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
0<T<1; T is the averaging factor
Y[i,j]t={X[i,j]tif t=0min(Y[i,j]t−1,X[i,j]t)if t>0


See also

<SP-atoms>

Navigation menu

Personal tools