You are here : matlab → Signal Processing → dpss
# dpss() - Signal Processing

### Syntax

### Example

### Output / Return Value

### Limitations

### Alternatives / See Also

### Reference

dps_seq = dpss(seq_length,time_halfbandwidth) returns the first round(2*time_halfbandwidth) discrete prolate spheroidal (DPSS), or Slepian sequences of length seq_length. dps_seq is a matrix with seq_length rows and round(2*time_halfbandwidth) columns. time_halfbandwidth must be strictly less than seq_length/2. [dps_seq,lambda] = dpss(seq_length,time_halfbandwidth) returns the frequency-domain energy concentration ratios of the column vectors in dps_seq. The ratios represent the amount of energy in the passband [–W,W] to the total energy from [–Fs/2,Fs/2], where Fs is the sampling frequency. lambda is a column vector equal in length to the number of Slepian sequences.[...] = dpss(seq_length,time_halfbandwidth,num_seq) returns the first num_seq Slepian sequences with time half bandwidth product time_halfbandwidth ordered by their energy concentration ratios. If num_seq is a two-element vector, the returned Slepian sequences range from num_seq(1) to num_seq(2).[...] = dpss(seq_length,time_halfbandwidth,'interp_method') uses interpolation to compute the DPSSs from a user-created database of DPSSs. Create the database of DPSSs with dpsssave and ensure that the resulting file, dpss.mat, is in the MATLAB® search path. Valid options for 'interp_method' are 'spline' and 'linear'. The interpolation method uses the Slepian sequences in the database with time half bandwidth product time_halfbandwidth and length closest to seq_length.[...] = dpss(...,Ni) interpolates from DPSSs of length Ni in the database dpss.mat.[...] = dpss(...,'trace') prints the method used to compute the DPSSs in the command window. Possible methods include: direct, spline interpolation, and linear interpolation.

dps_seq = dpss(seq_length,time_halfbandwidth)[dps_seq,lambda] = dpss(seq_length,time_halfbandwidth)[...] = dpss(seq_length,time_halfbandwidth,num_seq)[...] = dpss(seq_length,time_halfbandwidth,'interp_method')[...] = dpss(...,Ni)[...] = dpss(...,'trace')

Generate a Set of Slepian SequencesOpen This Example Construct the first four discrete prolate spheroidal sequences of length 512. Specify a time half bandwidth product of 2.5. Plot the sequences and find the concentration ratios. seq_length = 512; time_halfbandwidth = 2.5; num_seq = 2*(2.5)-1; [dps_seq,lambda] = dpss(seq_length,time_halfbandwidth,num_seq); plot(dps_seq) title('Slepian Sequences, N = 512, NW = 2.5') axis([0 512 -0.15 0.15]) legend('1st','2nd','3rd','4th') concentration_ratios = lambda' concentration_ratios = 1.0000 0.9998 0.9962 0.9521