DSP Blockset
  Go to block:
    Search    Help Desk 
Unbuffer    See Also

Unbuffer a frame input to a sequence of scalar outputs.

Library

Buffers, in General DSP

Description

The Unbuffer block unbuffers the input frame into a sequence of scalar outputs. Multichannel (matrix) inputs are unbuffered into sample vectors, with each matrix row being output in sequence. The sample-based output generally has a faster rate than the frame-based input.

To rebuffer frame-based inputs to a larger or smaller frame size, use the Rebuffer block.

The block adjusts the output rate so that the sequence sample period (i.e., the sample-to-sample interval) 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.

Vector Inputs.    Vector inputs are unbuffered to a scalar sequence.

The Number of channels parameter, N, should typically be 1 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 N frames, each containing Mi sequential time samples from an independent signal. The Number of channels parameter specifies the number of independent signals (columns, N) in the matrix. Matrix inputs are unbuffered row-wise so that each matrix row becomes an independent time-sample in the vector output.

Initial Conditions

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 (Mi samples, or Tfi 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 Mi sample times, or a vector containing Mi samples to be output sequentially for the first Mi sample times. 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 Mi samples to be repeated for all channels and output sequentially for the first Mi sample times, or an Mi-by-N matrix whose rows are output in sequence for the first Mi sample times.

Note
If you expect to generate code for the Unbuffer block using the Real-Time Workshop, you should ensure that inputs are contiguous in memory. See the Contiguous Copy block for more information.

Dialog Box

Initial conditions
The value of the block's initial output, a scalar, vector, or matrix.
Number of channels
The number of columns in the input, N. Use 1 for a vector input containing consecutive time-samples.

See Also

Buffer
Partial Unbuffer
Rebuffer


[ Previous | Help Desk | Next ]