DSP Blockset | ![]() ![]() |
Resample an input at a higher rate by repeating values.
Library
Description
The Repeat block upsamples each channel of the Mi-by-N input to a rate L times higher than the input sample rate by repeating each consecutive input sample L times at the output. The integer L is specified by the Repetition count parameter.
Sample-Based Operation
When the input is sample-based, the block treats each of the M*N matrix elements as an independent channel, and upsamples each channel over time. The Frame-based mode parameter must be set to Maintain input frame size. The output sample rate is L times higher than the input sample rate (Tso = Tsi/L), and the input and output sizes are identical.
Frame-Based Operation
When the input is frame-based, the block treats each of the N input columns as a frame containing Mi sequential time samples from an independent channel. The block upsamples each channel independently by repeating each row of the input matrix L times at the output. The Frame-based mode parameter determines how the block adjusts the rate at the output to accommodate the repeated rows. There are two available options:
The model below shows a single-channel input with a frame period of 1 second being upsampled through 4-times repetition to a frame period of 0.25 second. The input and output frame sizes are identical.
The model below shows a single-channel input of frame size 16 being upsampled through 4-times repetition to a frame size of 64. The input and output frame rates are identical.
Latency
Zero Latency. The Repeat block has zero tasking latency for all single-rate operations. The block is single-rate for the particular combinations of sampling mode and parameter settings shown in the table below.
Sampling Mode |
Parameter Settings |
Sample-based |
Repetition count parameter, L, is 1 . |
Frame-based |
Repetition count parameter, L, is 1 , or Frame-based mode parameter is Maintain input frame rate. |
The block also has zero latency for all multirate operations in the Simulink single-tasking mode.
Zero tasking latency means that the block repeats the first input (received at t=0) for the first L output samples, the second input for the next L output samples, and so on. The Initial condition parameter value is not used.
Nonzero Latency. The Repeat block has tasking latency only for multirate operation in the Simulink multitasking mode:
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.
Example
Construct the frame-based model shown below.
Adjust the block parameters as follows.
This model is multirate because there are at least two distinct sample rates, as shown by the two Probe blocks. To run this model in the Simulink multitasking mode, select Fixed-step and discrete from the Type controls in the Solver panel of the Simulation Parameters dialog box, and select MultiTasking from the Mode parameter. Also set the Stop time to 30
.
Run the model and look at the output, yout
. The first few samples of each channel are shown below.
yout = 11 -11 11 -11 12 -12 12 -12 13 -13 13 -13 14 -14 14 -14 1 -1 1 -1 2 -2 2 -2 3 -3 3 -3 4 -4 4 -4 5 -5 5 -5
Since we ran this frame-based multirate model in multitasking mode, the block repeats each row of the initial condition matrix for L output samples, where L is the Repetition count of 2
. The first row of the first input matrix appears in the output as sample 9 (i.e., sample MiL+1, where Mi is the input frame size).
Dialog Box
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
FIR Interpolation |
DSP Blockset |
Upsample |
DSP Blockset |
Zero Pad |
DSP Blockset |
Also see Signal Operations for a list of all the blocks in the Signal Operations library.
![]() | Reciprocal Condition | RLS Adaptive Filter | ![]() |