Skip to main content
`Ctrl`+`K`
scipy.signal.

# get_window

scipy.signal.get_window(window, Nx, fftbins=True, *, xp=None, device=None)

  Return a window of a given length and type.

  Parameters:
    window string, float, or tuple

      The type of window to create. See below for more details.

    Nx int

      The number of samples in the window.

    fftbins bool, optional

      If True (default), create a “periodic” window, ready to use with ifftshift and be multiplied by the result of an FFT (see also `fftfreq`). If False, create a “symmetric” window, for use in filter design.

    xp array_namespace, optional

      Optional array namespace. Should be compatible with the array API standard, or supported by array-api-compat. Default: `numpy`

    device: any

      optional device specification for output. Should match one of the supported device specification in `xp`.

  Returns:
    get_window ndarray

      Returns a window of length Nx and type window

  Notes

  Window types:

  - `boxcar`

  - `triang`

  - `blackman`

  - `hamming`

  - `hann`

  - `bartlett`

  - `flattop`

  - `parzen`

  - `bohman`

  - `blackmanharris`

  - `nuttall`

  - `barthann`

  - `cosine`

  - `exponential`

  - `tukey`

  - `taylor`

  - `lanczos`

  - `kaiser` (needs beta)

  - `kaiser_bessel_derived` (needs beta)

  - `gaussian` (needs standard deviation)

  - `general_cosine` (needs weighting coefficients)

  - `general_gaussian` (needs power, width)

  - `general_hamming` (needs window coefficient)

  - `dpss` (needs normalized half-bandwidth)

  - `chebwin` (needs attenuation)

  If the window requires no parameters, then window can be a string.

  If the window requires parameters, then window must be a tuple with the first argument the string name of the window, and the next arguments the needed parameters.

  If window is a floating point number, it is interpreted as the beta parameter of the `kaiser` window.

  Each of the window types listed above is also the name of a function that can be called directly to create a window of that type.

  Examples

      >>> from scipy import signal
      >>> signal.get_window('triang', 7)
      array([ 0.125,  0.375,  0.625,  0.875,  0.875,  0.625,  0.375])
      >>> signal.get_window(('kaiser', 4.0), 9)
      array([ 0.08848053,  0.29425961,  0.56437221,  0.82160913,  0.97885093,
              0.97885093,  0.82160913,  0.56437221,  0.29425961])
      >>> signal.get_window(('exponential', None, 1.), 9)
      array([ 0.011109  ,  0.03019738,  0.082085  ,  0.22313016,  0.60653066,
              0.60653066,  0.22313016,  0.082085  ,  0.03019738])
      >>> signal.get_window(4.0, 9)
      array([ 0.08848053,  0.29425961,  0.56437221,  0.82160913,  0.97885093,
              0.97885093,  0.82160913,  0.56437221,  0.29425961])