MATLAB: How to specify overlap in dsp.SpectrumEstimator object

DSP System Toolboxdsp.spectrumestimatoroverlappwelch

The 'pwelch' function has an option to specify the overlap between the divided segments of the signal whose spectral estimate is to be calculated. However, its equivalent object 'dsp.SpectrumEstimator' has no option for 'overlap' property. How do I specify overlap in 'dsp.SpectrumEstimator' object?

Best Answer

Overlap property does not exist in the 'dsp.SpectrumEstimator' object as of MATLAB R2017a. To implement the overlap option there are two options - 
1. Use the 'dsp.AsyncBuffer' object to capture the overlapped frame and then step that through the object 'dsp.SpectrumEstimator'. This object was introduced in R2017a. 
2. Using vector indexing, manually divide the input signal into frames including the overlapping samples. Then step these frames through the 'dsp.SpectrumEstimator', one at a time.  
Please refer to the attached script which shows the use of 'dsp.AsyncBuffer' object to implement the overlap in 'dsp.SpectrumEstimator' and obtain the equivalent spectrum as obtained from 'pwelch'.