SELECTAB
From STX Wiki
Jump to navigationJump to search
Two channel multiplexer.
[SPU SELECTAB A B SEL OUT Y]
input | description | data type | value type | default value |
---|---|---|---|---|
A, B | input data | number, vector | variable | |
SEL | select switch | number (int.), string | variable | |
output | description | data type | value type | comment |
Y | selected data | same type as A | variable |
- Description
-
- A and B are numbers
SEL Ynumber=f(Anumber,Bnumber) Yvector=f(Avector,Bnumber) Ynumber=f(Avector,Bvector) 0
orA
Y = A Y[i] = A[i] Y[i] = A[i] 1
orB
Y = B Y[i] = B Y[i] = B[i] 2
orminimum
Y = min(A,B) Y[i] = min(A[i],B) Y[i] = min(A[i],B[i]) 3
ormaximum
Y = max(A,B) Y[i] = max(A[i],B) Y[i] = max(A[i],B[i])
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=
1
orexponential
0
<T<1
; T is the averaging factor- Y [ i , j ] t = { X [ i , j ] t if t = 0 (or T out of range) T . Y [ i , j ] t − 1 + ( 1 − T ) . X [ i , j ] t if t > 0 {\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
orminimum
- T is not used
- Y [ i , j ] t = { X [ i , j ] t if t = 0 m i n ( 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\\min(Y[i,j]_{t-1},X[i,j]_{t})&{\mbox{if }}t>0\end{cases}}}
- maximum
- TYP=
3
ormaximum
- T is not used
- Y [ i , j ] t = { X [ i , j ] t if t = 0 m a x ( 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\\max(Y[i,j]_{t-1},X[i,j]_{t})&{\mbox{if }}t>0\end{cases}}}
- See also
<SP-atoms>