Programmer Guide/Command Reference/EVAL/window: Difference between revisions
From STX Wiki
< Programmer Guide | Command Reference | EVAL
Jump to navigationJump to search
No edit summary |
No edit summary |
||
Line 19: | Line 19: | ||
! ''type'' !! description !! ''par'' !! alias function | ! ''type'' !! description !! ''par'' !! alias function | ||
|- | |- | ||
| 0 || ''' | | 0 || '''rectangle''' || not used || | ||
|- | |- | ||
| 1 || ''' | | 1 || '''hanning''' || not used || <code>whanning(''x'' {, ''scale''})</code> | ||
|- | |- | ||
| | | 2 || '''hamming''' || not used || <code>whamming(''x'' {, ''scale''})</code> | ||
|- | |- | ||
| | | 3 || '''blackman''' || 0 < ''par'' <= 0.25<BR>default=0.16 || <code>wblackman(''x'' {, ''scale'' {, ''par''}})</code> | ||
|- | |- | ||
| | | 4 || '''kaiser''' || 0 < ''par''<BR>default=8 || <code>wkaiser(''x'' {, ''scale'' {, ''par''}})</code> | ||
|- | |- | ||
| | | 5 || '''bartlett''' || not used || <code>wbartlett(''x'' {, ''scale''})</code> | ||
|- | |- | ||
| | | 6 || '''tappered rectangle''' || not used || <code>wtaprect(''x'' {, ''scale''})</code> | ||
|- | |||
| 7 || '''nut-tall''' || not used || <code>wnuttall(''x'' {, ''scale''})</code> | |||
|- | |||
| 8 || '''flat-top''' || not used || <code>wflattop(''x'' {, ''scale''})</code> | |||
|- | |||
| 9 || '''gauss''' || 0 < ''par'' < 20<BR>default=3 || <code>wgauss(''x'' {, ''scale'' {, ''par''}})</code> | |||
|- | |- | ||
|} | |} |
Revision as of 07:49, 7 April 2011
Compute a window function used for signal windowing in sighnal processing algorithms.
- Usage
window(type, x {, scale {, par}})
- type
- selects the type of the window function (described below); must be number
- x
-
- If x is a scalar, the argument is used as window length and the result of window is a vector containing the window function.
- If x is a vector or matrix, the number of rows of x is used as window length and the result of window is a matrix with the same dimensions as x where each column contains the windowed values of the input column.
- The window length must be greater than 2!
- scale
- A boolean argument to enable/disable energy correction. If the energy correction is enabled (scale!=0), the window function is scaled by a factor that approximately equalises the energy loss caused by the windowing. To preserve signal energy, scale should be set to 1, otherwise (to preserve signal amplitude) it should be 0.
- par
- A window parameter depending on the type of the window function (described below). If par is set to 0 (default), a default parameter value is automatically selected.
_T("Rectangle"), _T("Hanning"), _T("Hamming"), _T("Blackman"), _T("Kaiser"), _T("Bartlett"), _T("TapRectangle"), _T("NutTall"), _T("FlatTop"), _T("Gaussian"), NULL
type | description | par | alias function |
---|---|---|---|
0 | rectangle | not used | |
1 | hanning | not used | whanning(x {, scale})
|
2 | hamming | not used | whamming(x {, scale})
|
3 | blackman | 0 < par <= 0.25 default=0.16 |
wblackman(x {, scale {, par}})
|
4 | kaiser | 0 < par default=8 |
wkaiser(x {, scale {, par}})
|
5 | bartlett | not used | wbartlett(x {, scale})
|
6 | tappered rectangle | not used | wtaprect(x {, scale})
|
7 | nut-tall | not used | wnuttall(x {, scale})
|
8 | flat-top | not used | wflattop(x {, scale})
|
9 | gauss | 0 < par < 20 default=3 |
wgauss(x {, scale {, par}})
|
- Result
- The result r is a copy of x but the values of the elements of r are limited to the boundaries defined by lo and/or hi.
- ri,j is set to lo if xi,j is lower than lo (functions limit and limitlow)
- ri,j is set to hi if xi,j is greater than hi (functions limit and limithigh)
Example:
#a := eval vv(1,2,3,4,5,4,3,2,1) #b := eval fill(9,0,1) #c := eval limitlow($#a, 3) // -> $#c = { 3 , 3 , 3 , 4 , 5 , 4 , 3 , 3 , 3 } #d := eval limit($#b, 2, 6) // -> $#d[*,0] = { 2 , 2 , 3 , 4 , 5 , 4 , 3 , 2 , 2 } // $#d[*,1] = { 2 , 2 , 2 , 3 , 4 , 5 , 6 , 6 , 6 }
General window function
Usage: | window(type, x, scale, par) |
Parameters: | |
type=0 -> none (square) | type=1 -> whanning |
type=2 -> whamming | type=3 -> wblackman |
type=4 -> wkaiser | type=5 -> wbartlett |
type=6 -> wtaprect | type=7 -> wnuttall |
type=8 -> wflattop | type=9 -> wgauss |
The arguments x, scale and par are the same as above.
arguments: x The window length (scalar, >2), the signal (vector or matrix, nrow(x)>2). If x is a matrix, every column is multiplied with the window. scale The scaling (0=unscaled, 1=scaled for rms(sig) ~ rms(sig * wnd) par optional window parameters
The result is the signal window of length x or the signal multiplied by the window.