AVR
From STX Wiki
Jump to navigationJump to search
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
orlinear
- T=
0
-
Y
[
i
,
j
]
t
=
{
X
[
i
,
j
]
t
if
t
=
0
1
t
+
1
(
t
.
Y
[
i
,
j
]
t
−
1
+
X
[
i
,
j
]
t
)
if
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
orlinear
- T>
0
; T is the (integer) number of averaging cycles -
Y
[
i
,
j
]
t
=
{
1
t
+
1
∑
z
=
0
t
X
[
i
,
j
]
z
if
0
⩽
t
<
T
1
T
∑
z
=
0
T
−
1
X
[
i
,
j
]
t
−
z
if
t
⩾
T
{\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=
0
orlinear
0
≤T≤1
; T is the averaging factor-
Y
[
i
,
j
]
t
=
{
1
t
+
1
∑
z
=
0
t
X
[
i
,
j
]
z
if
0
⩽
t
<
T
1
T
∑
z
=
0
T
−
1
X
[
i
,
j
]
t
−
z
if
t
⩾
T
{\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}}}
- See also
<SP-atoms>