Programmer Guide/SPU Reference/AVR: Difference between revisions
From STX Wiki
Jump to navigationJump to search
No edit summary |
No edit summary |
||
| (9 intermediate revisions by the same user not shown) | |||
| Line 3: | Line 3: | ||
==<code>[SPU AVR <var>X TYP T RS</var> OUT <var>Y</var>]</code>== | ==<code>[SPU AVR <var>X TYP T RS</var> OUT <var>Y</var>]</code>== | ||
{|class="einrahmen" | {|class="einrahmen" | ||
!input !!description !! | !input !!description !!data type !!value type!!default value | ||
|- | |- | ||
|<var>X</var>||data to be averaged ||number, vector, matrix ||variable | |<var>X</var>||data to be averaged ||number, vector, matrix ||variable | ||
| Line 9: | Line 9: | ||
|<var>TYP</var>||averaging method ||number (int.), string||constant | |<var>TYP</var>||averaging method ||number (int.), string||constant | ||
|- | |- | ||
|<var>T</var>||averaging parameter, depends on method ||number or n.c.||<var>TYP</var>= | |<var>T</var>||averaging parameter, depends on method ||number or n.c.||<var>TYP</var>=1→variable<BR><var>TYP</var>≠2→constant | ||
|- | |- | ||
|<var>RS</var>||reset flag||number or n.c. ||variable | |<var>RS</var>||reset flag||number or n.c. ||variable | ||
|- | |- | ||
!output !!description !!type !!comment | !output !!description !!data type !!value type!!comment | ||
|- | |- | ||
|<var>Y</var>||averaged input data ||same type as <var>X</var> ||variable | |<var>Y</var>||averaged input data ||same type as <var>X</var> ||variable | ||
|} | |} | ||
;Description: | ;Description: | ||
| Line 67: | Line 68: | ||
\end{cases} | \end{cases} | ||
</math> | </math> | ||
Since {{STx}} version 4.5.0 the following two new average modes are available, which were used to implement the spectral averaging mode <code>power</code> of the applications [[User Guide/Spectrogram and Parameter Viewer|Viewer2]] (sectioner) and [[User Guide/Spectrum Viewer|Viewer3]]. | |||
:;power: | |||
::<var>TYP</var>=<code>4</code> or <code>power</code> | |||
::<var>T</var> is not used | |||
::* each input element X<sub>i,j</sub> is squared | |||
::* same averaging as for TYP</var>=<code>0</code> is performed | |||
::* 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 --> | ||
Latest revision as of 11:00, 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=
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
Since STx version 4.5.0 the following two new average modes are available, which were used to implement the spectral averaging mode power of the applications Viewer2 (sectioner) and Viewer3.
- power
- TYP=
4orpower - T is not used
- each input element Xi,j is squared
- same averaging as for TYP=
0is performed - square root of each output element Yi,j is taken
- db-power
- TYP=
5ordbpower - T is not used
- each input element Xi,j is converted from dB to squared magnitude (power)
- same averaging as for TYP=
0is performed - each output element Yi,j is converted to dB
- See also
<SP-atoms>