Matlab Simulink Блок дискретного времени с типом данных с фиксированной запятой

Я разработал контроллер в Simulink, который хочу скомпилировать в HDL и прошить на FPGA. Поэтому я должен определить используемые типы данных в стиле с фиксированной запятой, а не в стандартном двойном, который выбирает Simulink.
Каждый блок, который я использую, работает точно так же, как и раньше, после изменения типа данных (кроме точности в некоторых случаях, конечно), за исключением блока интегратора с дискретным временем. С типом данных с фиксированной точкой (независимо от того, какое слово или длина дроби) выходное значение может только уменьшаться, и если оно достигает нижнего предела значения типа данных, оно переходит к верхнему и снова уменьшается.
Я добавил картинку, чтобы уточнить разницу. Был использован интегратор с двойным типом, и второй интегратор точно такой же, за исключением того, что тип данных был зарегистрирован одновременно.

Сигнал интегратора с двойными и с фиксированными типами данных

Что я делаю неправильно? И как я могу решить эту проблему? Спасибо!

0 ответов

Другие вопросы по тегам