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

# get_window

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

  Return a window of a given length and type.

  Parameters:
    windowstring, float, or tuple

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

    Nxint

      The number of samples in the window.

    fftbinsbool, 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.

    xparray_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_windowndarray

      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])