Several DSP System Toolbox™ System objects support variable-size input signals. In these System objects, you can change the frame size (number of rows) of the input matrix even when the object is locked. The number of channels (number of columns) of the input matrix must remain constant. The System object™ locks when you call the object to run its algorithm.
Note: If you are using R2016a or an earlier release, replace each call to the object with the equivalent step syntax. For example, obj(x)
becomes step(obj,x)
.
Create a dsp.FIRHalfbandDecimator
System object™. The input signal contains 10 channels, with 1000 samples in each channel.
FIRHalfband = dsp.FIRHalfbandDecimator; input = randn(1000,10);
Lock the object by running the algorithm.
FIRHalfband(input); isLocked(FIRHalfband)
ans = logical
1
Change the frame size of the input to 800 without releasing the object.
input = randn(800,10); FIRHalfband(input);
The System object runs without error.
For a list of DSP System Toolbox blocks that support variable-size signals, open the block data type support table from the MATLAB® command prompt:
See the blocks with an X in the Variable-Size Support column of the block data type support table.