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 block generates the output at the faster (upsampled) rate by using a proportionally shorter frame period at the output port than at the input port. For L repetitions of the input, the output frame period is L times shorter than the input frame period (Tfo = Tfi/L), but the input and output frame sizes are equal.
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 seconds. The input and output frame sizes are identical.
The block generates the output at the faster (upsampled) rate by using a proportionally larger frame size than the input. For L repetitions of the input, the output frame size is L times larger than the input frame size (Mo = Mi*L), but the input and output frame rates are equal.
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 Simulink's 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 Simulink's 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 Simulink's tasking modes.
Example
Construct the frame-based model shown below.
Adjust the block parameters as follows.
[(1:100)' (-1:-1:-100)']
0.25
4
2
[11 -11;12 -12;13 -13;14 -14]
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 Simulink's 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
See Also
FIR Interpolation |
DSP Blockset |
Upsample |
DSP Blockset |
Zero Pad |
DSP Blockset |
![]() | Remez FIR Filter Design | RLS Adaptive Filter | ![]() |