DSP Blockset    
Unbuffer

Unbuffer a frame input to a sequence of scalar outputs.

Library

Signal Management / Buffers

Description

The Unbuffer block unbuffers an Mi-by-N frame-based input into a 1-by-N sample-based output. That is, inputs are unbuffered row-wise so that each matrix row becomes an independent time-sample in the output. The rate at which the block receives inputs is generally less than the rate at which the block produces outputs.

The block adjusts the output rate so that the sample period is the same at both the input and output, Tso=Tsi. Therefore, the output sample period for an input of frame size Mi and frame period Tfi is Tfi/Mi, which represents a rate Mi times higher than the input frame rate. In the example above, the block receives inputs only once every three sample periods, but produces an output once every sample period. To rebuffer frame-based inputs to a larger or smaller frame size, use the Buffer block.

In the model below, the block unbuffers a four-channel frame-based input with frame size 3. The Initial conditions parameter is set to zero and the tasking mode is set to multitasking, so the first three outputs are zero vectors (see Latency below).

Latency

Zero Latency.   The Unbuffer block has zero tasking latency in the Simulink single-tasking mode. Zero tasking latency means that the first input sample (received at t=0) appears as the first output sample.

Nonzero Latency.   For multitasking operation, the Unbuffer block's buffer is initialized with the value specified by the Initial condition parameter, and the block begins unbuffering this frame at the start of the simulation. Inputs to the block are therefore delayed by one buffer length, or Mi samples.

The Initial condition parameter can be one of the following:

See Excess Algorithmic Delay (Tasking Latency) and "The Simulation Parameters Dialog Box" in the Simulink documentation for more information about block rates and the Simulink tasking modes.

Dialog Box

Initial conditions
The value of the block's initial output for cases of nonzero latency; a scalar, vector, or matrix.

Supported Data Types

To learn how to convert to the above data types in MATLAB and Simulink, see Supported Data Types and How to Convert to Them.

See Also

Buffer
DSP Blockset

See Unbuffering a Frame-Based Signal into a Sample-Based Signal for related information. Also see Buffers for a list of all the blocks in the Buffers library.


  Two-Channel Synthesis Subband Filter Uniform Decoder