View Raw SPL
/*****************************************************************************
*                                                                            *
*   KAISER.SPL   Copyright (C) 2000-2008 DSP Development Corporation         *
*                               All Rights Reserved                          *
*                                                                            *
*   Author:       Randy Race                                                 *
*                                                                            *
*   Synopsis:     Multiplies a series with a Kaiser Window                   *
*                                                                            *
*   Revisions:    17 Feb 2000  RRR  Creation                                 *
*                 15 Nov 2008  RRR  added beta argument                      *
*                                                                            *
*****************************************************************************/


#if @HELP_KAISER

    KAISER

    Purpose: Multiplies a series with a Kaiser window

    Syntax:  KAISER(s, ampflag, beta)

                    s - a series or array

              ampflag - an optional integer, 0:do not correct amplitude,
                        1:correct amplitude, defaults to 0.

                 beta - an optional real, the beta value for the Kaiser
                        window. Defaults to 7.865

    Returns: A series or array

    Example:
             W1: gsin(1000, .001, 45)
             W2: Spectrum(Kaiser(W1))
             W3: Spectrum(Kaiser(W1, 1))

             The MAX of W2 == 0.4389 and the MAX of W3 == 1.0. The amplitude
             of the spectrum in W3 has been corrected to take into account
             amplitude effects of the Kaiser window.

    Remarks:
             KAISER was implemented as a macro in versions prior to
             DADiSP 2000. You may need to remove the macro definition
             with:
                                undefmacro("kaiser")

             from old worksheets.

             The correction factor is is the mean of the Kaiser window.

    See Also
             Hamming
             Hanning
             Winfunc
#endif


/* multiplies a series with a Kaiser window */
SERIES kaiser(s, ampflag, beta)
{
        return(winfunc(3, s, ampflag, beta));
}