Programmer Guide/SPU Reference/AVR: Difference between revisions

From STX Wiki
Jump to navigationJump to search
No edit summary
No edit summary
Line 68: Line 68:
\end{cases}
\end{cases}
</math>
</math>
;Additional average modes in {{STx}} version >= 4.5.0
:;power:
:;power:
::<var>TYP</var>=<code>4</code> or <code>power</code>
::<var>TYP</var>=<code>4</code> or <code>power</code>
::<var>T</var> is not used  
::<var>T</var> is not used  
::* each input element X<sub>i,j</sub> is squared
::* each input element X<sub>i,j</sub> is squared
::* same averaging as for TYP</var>=<code>4</code> is performed
::* same averaging as for TYP</var>=<code>0</code> is performed
::* square root of each output element Y<sub>i,j</sub> is taken
::* square root of each output element Y<sub>i,j</sub> is taken
:;db-power:
::<var>TYP</var>=<code>5</code> or <code>dbpower</code>
::<var>T</var> is not used
::* each input element X<sub>i,j</sub> is converted from dB to squared magnitude (power)
::* same averaging as for TYP</var>=<code>0</code> is performed
::* each output element Y<sub>i,j</sub> is converted to dB
;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 11:48, 16 October 2018

Average input X over evaluation cycles.

[SPU AVR X TYP T RS OUT Y]

input description data type value type default value
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=1→variable
TYP≠2→constant
RS reset flag number or n.c. variable
output description data type value type comment
Y averaged input data 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}}}
Additional average modes in STx version >= 4.5.0
power
TYP=4 or power
T is not used
  • each input element Xi,j is squared
  • same averaging as for TYP=0 is performed
  • square root of each output element Yi,j is taken
db-power
TYP=5 or dbpower
T is not used
  • each input element Xi,j is converted from dB to squared magnitude (power)
  • same averaging as for TYP=0 is performed
  • each output element Yi,j is converted to dB
See also

<SP-atoms>

Navigation menu

Personal tools