User`s guide

Constructing Signals
3-53
Buffering Delay and Initial Conditions. In both of the previous buffering examples
the input signal is delayed by a certain number of samples. In “Example:
Buffering Sample-Based Signals with Overlap” the delay is four samples. In
“Example: Buffering Frame-Based Signals with Overlap” the delay is eight
samples. The initial output samples adopt the value specified for the
Initial
condition
parameter, which is zero in both examples above.
In fact, under most conditions the Buffer and Unbuffer blocks have some
amount of latency. This latency depends on both the block parameter settings
and Simulink’s tasking mode. You can use the
rebuffer_delay function to
determine the length of the block’s latency for any combination of frame size
and overlap.
The syntax
rebuffer_delay(f,n,m) returns the delay (in samples) introduced
by the buffering and unbuffering blocks in multitasking operations, where
f is
the input frame size,
n is the Buffer size parameter setting, and m is the Buffer
overlap
parameter setting.
For example, if you had run the frame-based example model in multitasking
mode, you could compute the latency by entering the following command at the
MATLAB command line.
d = rebuffer_delay(4,3,1)
d =
8
This agrees with the block’s output in that example. See “Delay and Latency”
on page 3-85 and the “Latency” section on each block reference page for more
information.