# SLEPTAP is the jSpectral module of jLab.

``` SLEPTAP  Calculate Slepian tapers.

[PSI,LAMBDA]=SLEPTAP(M,P,K) calculates the K lowest-order Slepian
tapers PSI of length M and time-bandwidth product P, together with
their eigenvalues LAMBDA. PSI is M x K and LAMBDA is K x 1.

K is optional and defaults to 2P-1.
P is optional and defaults to 4.

For M<=512, SLEPTAP uses the tridiagonal method described in Percival
and Walden (1993).  For M>512, it first computes tapers for M=512 and
then spline-interpolates.  (Tests show spline interpolation is far
superior to linear interpolation for this problem.)

The tapers are normalized to have unit energy.
_____________________________________________________________________

Computing multiple taper lengths simultaneously

M may also be an array of lengths.  In this case PSI is a cell array of
matrices, with PSI{1} being M(1) x K, PSI{2} being M(2) x K, etc.,
while LAMBDA is again K x 1.

By default, SLEPTAP will down-interpolate the M=512 tapers to all
shorter lengths, an approximation that is very good for data lengths
greater than say M=64, and resulting in a vast computational savings.
Because short data segments are difficult to extract reliable spectral
information from anyway, this should be sufficient for most purposes.

Alternatively, SLEPTAP(...,'exact') will directly compute solutions of
PSI and LAMBDA for entries m for which M(m)<=512.  In this case, LAMBDA
will be a K x M matrix.  This algorithm, like the default behavior,
will spline-interpolate PSI from the M=512 solution to larger M values.

SLEPTAP(...,'exact','parallel') will parallelize this computation using
a PARFOR loop.  This requires Matlab's Parallel Computing Toolbox.
_____________________________________________________________________