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
| SEL | Ynumber=f(Anumber,Bnumber) | Yvector=f(Avector,Bnumber) | Ynumber=f(Avector,Bvector) |
|---|---|---|---|
0 or A
|
Y = A | Y[i] = A[i] | Y[i] = A[i] |
1 or B
|
Y = B | Y[i] = B | Y[i] = B[i] |
2 or minimum
|
Y = min(A,B) | Y[i] = min(A[i],B) | Y[i] = min(A[i],B[i]) |
3 or maximum
|
Y = max(A,B) | Y[i] = max(A[i],B) | Y[i] = max(A[i],B[i]) |
with: 0 ≤ i < length of Avector
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=
0orlinear - 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=
0orlinear - 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=
1orexponential 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=
2orminimum - 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=
3ormaximum - 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>