Why discrete time integrator in HDL coder simulink library behaves completely differently with different input sampling time?

3 visualizaciones (últimos 30 días)
I use two constant blocks one with sampling freq of 2e-7(5 Mhz) and another with 4e-7 (2.5 Mhz) followed by two same discrete time integrators (Sample time:inherited). The first one outputs zero and the second one outputs a ramp (which is the correct result)... What am I missing here?
Why 2e-7 or 5 Mhz is not working with discrete time integrator???
  3 comentarios
Omkar Sastry
Omkar Sastry el 17 de Mzo. de 2022
Editada: Omkar Sastry el 17 de Mzo. de 2022
Hi Adeel,
Could you please attach the other artifacts required to simulate the model (like definition for Controller.InternalSignals.DataType.PLL)? Thanks!
Adeel Jamal
Adeel Jamal el 18 de Mzo. de 2022
Please run the following in the matlab workspace;
Controller.InternalSignals.DataType.PLL = fixdt(1,23,4);

Iniciar sesión para comentar.

Respuesta aceptada

Adeel Jamal
Adeel Jamal el 18 de Mzo. de 2022
Editada: Adeel Jamal el 18 de Mzo. de 2022
In my opinion, due to the low resolution of the fractional bit length, it rounds to zero in internal calculations of discrete time integrator.
  1 comentario
Omkar Sastry
Omkar Sastry el 21 de Mzo. de 2022
Editada: Omkar Sastry el 21 de Mzo. de 2022
Hi Adeel, yes this is exactly what is happening. The 'floor' rounding mode coupled with the type used drags the value to 0 for the K*T*u(n) calculation in the first block.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Code Generation en Help Center y File Exchange.

Productos


Versión

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by