Signal Processing Toolbox |
Discrete prolate spheroidal sequences (Slepian sequences)
Syntax
[e,v]=
dpss(n,nw) [e,v]=
dpss(n,nw,k) [e,v]=
dpss(n,nw,[k1 k2]) [e,v]=
dpss(n,nw,'int
') [e,v]=
dpss(n,nw,'int
',Ni) [e,v]=
dpss(...,'trace
')
Description
[e,v] = dpss(n,nw)
generates the first 2*nw
discrete prolate spheroidal sequences (DPSS) of length n
in the columns of e
, and their corresponding concentrations in vector v
. They are also generated in the DPSS MAT-file database dpss.mat
. nw
must be less than n/2
.
[e,v] = dpss(n,nw,k)
returns the k
most band-limited discrete prolate spheroidal sequences. k
must be an integer such that 1
k
n
.
[e,v] = dpss(n,nw,[k1 k2])
returns the k1
st through the k2
nd discrete prolate spheroidal sequences, where 1
k1
k2
n
.
|
|
(2
W)
, where W = nw/n
is the half-bandwidth and is in rad/sample.
e(:,1)
is the length n
signal most concentrated in the frequency band |
|
(2
W)
radians, e(:,2)
is the signal orthogonal to e(:,1)
that is most concentrated in this band, e(:,3)
is the signal orthogonal to both e(:,1)
and e(:,2)
that is most concentrated in this band, etc.
nw
are 2, 5/2, 3, 7/2, or 4.
[e,v] = dpss(n,nw,'
uses the interpolation method specified by the string 'int
')
int
' to compute e
and v
from the sequences in dpss.mat
with length closest to n
. The string 'int
' can be either:
spline
': Use spline interpolation.
linear
': Use linear interpolation. This is much faster but less accurate than spline interpolation.
[e,v] = dpss(n,nw,'
interpolates from existing length int
',Ni)
Ni
sequences. The interpolation method 'linear'
requires Ni
> n
.
[e,v] = dpss(...,'
uses the trailing string trace
')
'
trace
'
to display which interpolation method DPSS uses. If you don't specify the interpolation method, the display indicates that you are using the direct method.
Example 1: Using dpss, dpssave, and dpssdir
Create a catalogue of 16 DPSS functions with nw
= 4, and use spline interpolation on 10 of these functions while displaying the interpolation method you use. You can do this using dpss
, dpsssave
, and dpssdir
:
% Create the catalogue of functions. [e,v] = dpss(16,4); % Save e and v in a MAT-file. dpsssave(4,e,v); % Find nw = 4. First create a structure called index. index = dpssdir; index.wlists ans = NW: 4 key: 1 % Use spline interpolation on 10 of the DPSS functions. [e1,v1] = dpss(10,4,'spline',size(e,1),'trace');
Example 2: Using dpss and dpssload
Create a set of DPSS functions using dpss
, and use the spline method on a subset of these functions. Use dpssload
to load the MAT-file created by dpss
:
% Create the catalogue of functions. [e,v] = dpss(16,4); % Load dpss.mat, where e and v are saved. [e1,v1] = dpssload(16,4); % Use spline interpolation on 10 of the DPSS functions. [e1,v1] = dpss(10,4,'spline');
See Also
dpssclear
, dpssdir
, dpssload
, dpsssave
, pmtm
References
[1] Percival, D.B., and A.T. Walden. Spectral Analysis for Physical Applications: Multitaper and Conventional Univariate Techniques. Cambridge: Cambridge University Press, 1993.
downsample | dpssclear |
© 1994-2005 The MathWorks, Inc.