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

2 Ansichten (letzte 30 Tage)
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 Kommentare
Omkar Sastry
Omkar Sastry am 17 Mär. 2022
Bearbeitet: Omkar Sastry am 17 Mär. 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 am 18 Mär. 2022
Please run the following in the matlab workspace;
Controller.InternalSignals.DataType.PLL = fixdt(1,23,4);

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Adeel Jamal
Adeel Jamal am 18 Mär. 2022
Bearbeitet: Adeel Jamal am 18 Mär. 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 Kommentar
Omkar Sastry
Omkar Sastry am 21 Mär. 2022
Bearbeitet: Omkar Sastry am 21 Mär. 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.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu HDL Code Generation finden Sie in Help Center und File Exchange

Produkte


Version

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by