Delay block with vectors

8 views (last 30 days)
Laurent Dalbies
Laurent Dalbies on 28 Feb 2019
Commented: Ibrahim Guenoune on 13 Mar 2019
hello all,
I get an error when I use the discrete "Delay" block with input data as a vector.
"In block 'test_delay/Delay', the size of IC is incompatible with the delay length. When IC is not scalar, the last dimension number of IC should equal to the delay length value. However, in this block, the last dimension number of IC is 3, but the delay length value is 100.
Component:Simulink | Category:Model error
Error in port widths or dimensions. Output port 1 of 'test_delay/Mux' is a one dimensional vector with 3 elements."
error_delay.png
I understand that the delay block support the use of scalars and vectors. Apparently the problem is related to the initial condition but I don't really understand why. Can anyone help ? Attached is my test model.
Thanks & regards
Laurent
  1 Comment
Ibrahim Guenoune
Ibrahim Guenoune on 12 Mar 2019
Hello Laurent Dalbies,
I'm writing you for asking if you have resolve this problem, if is the case, could you inform how you were doing ?
Thanks

Sign in to comment.

Answers (1)

Mauro Fusco
Mauro Fusco on 12 Mar 2019
Edited: Mauro Fusco on 12 Mar 2019
Hi,
see the picture below for a solution. The initial condition has to be set consistently with the number of samples of the delay. As you are specifying 5 samples, also the IC has to be consistent with that. Assuming that you want to keep the initial value
for the first 5 samples, I have used vector concatenate to build the matrix of IC. You can change this, by specifying different vectors to concatenate. Also, note that you need to change a parameter in the initial condition block, which was set to 100. "When IC is not scalar, the last dimension number of IC should equal to the delay length value" means that you have to set this parameter to 5.
Attached you also find running simulation file.
  1 Comment
Ibrahim Guenoune
Ibrahim Guenoune on 13 Mar 2019
Bingo !!! your proposition Mauro Fusco works perfectely, many thanks.
Just a detail, for the outport, in dimension runbric it should be -1 for inheriting the signal dimensions.
Regards

Sign in to comment.

Products


Release

R2017b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!