Skip to main content

kaiser

Function kaiser 

Source
pub fn kaiser(m: usize, beta: f64) -> FerrayResult<Array<f64, Ix1>>
Expand description

Return the Kaiser window of length m with shape parameter beta.

The Kaiser window is defined as: w(n) = I_0(beta * sqrt(1 - ((2n/(M-1)) - 1)^2)) / I_0(beta)

where I_0 is the modified Bessel function of the first kind, order 0.

This is equivalent to numpy.kaiser(M, beta).

§Edge Cases

  • m == 0: returns an empty array.
  • m == 1: returns [1.0].

§Errors

Returns FerrayError::InvalidValue if beta is NaN or if beta exceeds the range where I_0(beta) can be computed in f64. The asymptotic branch uses exp(beta) / sqrt(beta) internally, so |beta| > ~709 overflows to infinity and the normalized kaiser window would reduce to Inf / Inf = NaN for every sample (#294).