| DSP Blockset | Search  Help Desk |
| Partial Unbuffer | See Also |
Unbuffer a portion of an input frame to a sequence of scalar outputs.
Library
Buffers, in General DSPDescription
The Partial Unbuffer block unbuffers a selected portion of the input frame into a sequence of scalar outputs. Multichannel (frame matrix) inputs are unbuffered into sample vectors, with the designated matrix rows being output in sequence. The sample-based output generally has a faster rate than the frame-based input.
Because the block unbuffers only a portion of the samples in each input frame, the sequence sample period (i.e., the sample-to-sample interval) at the output is longer than that at the input, Tso>Tsi.
Vector Inputs. Vector inputs are unbuffered to a scalar sequence. The scalar output sample period for an input of frame size Mi is a factor of Mi/(M2-M1+1) longer than the input sample period, or

If all samples in the input frame are to be unbuffered (M1=1 and M2=Mi), you can use the Unbuffer block instead. To rebuffer the input samples to a larger or smaller frame size, use the Rebuffer block.
The Number of channels parameter, N, should typically be1 for vector inputs, indicating that the input represents a single channel.
Matrix Inputs.
The block's operation for vector inputs extends naturally to matrix inputs. A Mi-by-N matrix input represents a collection of N frames, each containing Mi sequential time samples from an independent signal. The Number of channels parameter specifies the number of independent elements (columns, N) in the matrix. Matrix inputs are unbuffered row-wise so that each matrix row in the selected range becomes an independent time-sample in the vector output.

Initial Conditions
The Partial Unbuffer block's buffer is initialized with the value specified by the Initial conditions parameter, and the block begins unbuffering this frame (with element M1) at the start of the simulation. Inputs to the block are therefore delayed by one partial-buffer length (M2-M1+1 elements, or Mi*Tsi seconds). If the block's output is a scalar (single channel), the Initial condition can be a scalar to be repeated at the output for the first M2-M1+1 sample times, or a vector containing M2-M1+1 samples to be output in sequence. If the block's output is a vector (N channels), the Initial condition can be a scalar value to be repeated across all elements of the initial output(s), a vector containing M2-M1+1 samples to be output in sequence for all channels, or an N-column matrix containing M2-M1+1 rows to be output in sequence. The block generates an error if the Last output index is greater than the input frame size (M2>Mi), or if the First output index equals or exceeds the Last output index (M1
M2).
Note
Dialog Box

1 for a vector input containing consecutive time-samples.See Also
Buffer