Programmer Guide/Command Reference/EVAL/window: Difference between revisions

From STX Wiki
Jump to navigationJump to search
No edit summary
No edit summary
Line 8: Line 8:
::*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.
::*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!
:::The window length must be greater than 2!
:;<var>scale</var>: 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.
:;<var>scale</var>: 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.
:;<var>lo</var>: lower boundary, must be a number
:;<var>lo</var>: lower boundary, must be a number
:;<var>hi</var>: upper boundary, must be a number
:;<var>hi</var>: upper boundary, must be a number

Revision as of 16:45, 6 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.
lo
lower boundary, must be a number
hi
upper boundary, must be a number
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)
See also
vsubc, select

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 }

<function list>


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.

Navigation menu

Personal tools