why does the module of delay have different data types of input and output?

3 views (last 30 days)
  1 Comment
ED
ED on 18 Sep 2024
Edited: ED on 18 Sep 2024
But I disable function of reset, it changes into:
Just overlook the different appearance of the delay with and without reset input.
Hasn't this case ever been found by anyone?

Sign in to comment.

Accepted Answer

Epsilon
Epsilon on 18 Sep 2024
Edited: Epsilon on 18 Sep 2024
Hi ED,
I tried reproducing this and it seems the unit delay block does indeed produce a 'double' data type signal when used with an external reset. This might be happening due to the initial condition (0.0) being of a ‘double’ datatype in case of the block with external reset. In case where no reset is being used it must be using the definition with the initial value (0) as ‘single’ datatype. The initial conditions change the datatypes for the next iterations. (Note: 0.0 & 0 are just the mentioned values in the parameter dialogue fields and does not represent the datatype of the values)
To get the signal as a 'single' datatype while using an external reset consider using a 'single' datatype value as an initial condition. To do so, directly enter a 'single' datatype value in the initial condition field in the Delay One Step’ block parameters dialogue. Or change the initial condition source from ‘Input’ to ‘Input port’ then attach a 'single' datatype constant to it.
Attaching the resultant image with the implementation.
Hope this helps!
  1 Comment
ED
ED on 19 Sep 2024
thank you!
I just replaced 0.0 with single(0.0) when keeping dialog one and the result is adopting the single as well.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!