DSP Blockset
  Go to block:
    Search    Help Desk 

Using Overlapping Buffers

In some cases it is useful to work with data that represents overlapping sections of the original sample-based or frame-based time-series, as shown below. In estimating the power spectrum of a signal, for example, it is often desirable to compute the FFT of overlapping sections of data. Overlapping buffers are also needed in computing statistics on a sliding window, or for adaptive filtering. Both the Buffer and Rebuffer blocks have a Buffer overlap parameter that specifies the number of overlap points, L.

In this case, the frame period for the output vector is (Mo-L)*Tsi, where Tsi is the sample period of the input data and Mo is the Buffer size.

Note
Set the Buffer overlap to a negative value to achieve output frame rates slower than in the nonoverlapping case. The output frame period is still Tsi*(Mo-L), but with L<0. Only the Mo newest inputs are included in the output buffer; the previous L inputs are discarded.

When unbuffering overlapping frames using the Partial Unbuffer block, the number of samples to unbuffer should equal the number of nonoverlapping samples in the input buffer. (This ensures that the unbuffering process is synchronized with the Buffer block's overlap, and only unique input samples are unbuffered.) That is, for accurate reconstruction of an overlapping signal, M2-M1+1 should equal Mo-L.

In this case, the Last output index can have any value greater than the First output index and less than the input frame length. For example, given a length 256 input frame with 192 points of overlap, possible valid index parameters for Partial Unbuffer would be First output index = 1 and Last output index = 64, First output index = 2 and Last output index = 65, and so on. To obtain the most recent data points, however, you should set the First output index to L+1 and the Last output index to Mo (193 and 256 in this case).



[ Previous | Help Desk | Next ]