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

2 ビュー (過去 30 日間)
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 件のコメント
Omkar Sastry
Omkar Sastry 2022 年 3 月 17 日
編集済み: Omkar Sastry 2022 年 3 月 17 日
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 2022 年 3 月 18 日
Please run the following in the matlab workspace;
Controller.InternalSignals.DataType.PLL = fixdt(1,23,4);

サインインしてコメントする。

採用された回答

Adeel Jamal
Adeel Jamal 2022 年 3 月 18 日
編集済み: Adeel Jamal 2022 年 3 月 18 日
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 件のコメント
Omkar Sastry
Omkar Sastry 2022 年 3 月 21 日
編集済み: Omkar Sastry 2022 年 3 月 21 日
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.

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeHDL Code Generation についてさらに検索

製品


リリース

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by