Skip to main content

DPSS

DPSS [flags] numPoints, numWindows

The DPSS operation generates Slepian's Discrete Prolate Spheroidal Sequences.

The DPSS operation was added in Igor Pro 7.00.

Flags

/DEST=destWave
Saves the DPSS in a wave specified by destWave. The destination wave is overwritten if it exists.
Creates a wave reference for the destination wave in a user function. See Automatic Creation of Wave References for details.
If you omit /DEST the operation saves the result in the wave M_DPSS in the current data folder.
/EV=evWaveSaves the first numWindows eigenvalues in a wave specified by evWave. The eigenvalues are computed for a symmetric tridiagonal matrix. They are real, positive and close to 1. They can be used to estimate bias in multitaper calculations.
/FREECreates output waves as free waves.
/FREE is permitted in user-defined functions only, not from the command line or in macros.
If you use /FREE then destWave , evWave and sumsWave must be simple names, not paths.
See Free Waves for details on free waves.
/NW=nwSpecifies the time-bandwidth product. This value should typically be in the range [2,6]. Given a time-bandwidth product nw it is recommended to use no more than 2*nw tapers in order to maximize variance efficiency. The default value of the time-bandwidth product is 3.
/DTPS=sumsWave
Saves the sums of the generated DPSS windows in a wave specified by sumsWave.
/QSuppress printing information in the history.
/ZSuppress errors. The variable V_Flag is set to 0 if successful and to -1 otherwise.

Details

DPSS generates Slepian's Discrete Prolate Spheroidal Sequences in a 2D double-precision wave of dimensions numPoints by numWindows.

If you do omit /DEST the operation creates the output wave M_DPSS in the current data folder. The sequences/tapers are arranged as columns in the output wave.

Examples

DPSS/DEST=dpss5 1000,5				
Display dpss5[][0],dpss5[][1],dpss5[][2],dpss5[][3],dpss5[][4]
ModifyGraph rgb(dpss5#1)=(0,65535,0),rgb(dpss5#2)=(1,16019,65535)
ModifyGraph rgb(dpss5#3)=(65535,0,52428),rgb(dpss5#4)=(0,0,0)

// Different sequences are orthogonal
MatrixOp/o aa=col(dpss5,1)*col(dpss5,4)
Integrate/METH=1 aa/D=W_INT
Print W_INT[numpnts(W_INT)-1]

See Also

MultiTaperPSD, WindowFunction, ImageWindow, Hanning

References

D. Slepian, "Prolate spheroidal wave functions, Fourier analysis and uncertainty -- V: The discrete case.", Bell Syst. Tech J., vol 57 pp. 1317-1430, May 1978.