Сигналы и блок выходные параметры могут задать тип данных полуточности. Тип данных полуточности поддерживается для симуляции и генерации кода для параметров и подмножества блоков.
В Simulink® входные параметры полуточности с блоками, выполняющими арифметические операции, реляционные операции и бинарные операции, всегда бросаются к с одинарной точностью, и операция выполняется в с одинарной точностью. Если тип выходных данных блока установлен в half
, выход блока брошен к типу данных полуточности.
В MATLAB®, однако, некоторые функции выполняют арифметические операции с входными параметрами полуточности путем эмуляции полуточности математика с плавающей точкой. Например, в MATLAB следующий код выполняется с помощью полуточности арифметика с плавающей точкой.
y = mod(half(u1), half(u2))
В Simulink, с помощью mod
функция блока Math Function, та же операция была бы выполнена путем кастинга входных параметров к с одинарной точностью и проведения операции в математике с плавающей точкой с одинарной точностью. Результат арифметических операций затем брошен к полуточности.
y = half(mod(single(half(u1)), single(half(u2))))
Тип данных полуточности поддерживается для симуляции в Нормальном и Режимах Accelerator. Половина типа данных точности также поддерживается для СИЛА, PIL и режимов external mode. Это не поддерживается для симуляций в Быстром Режиме Accelerator.
Полуточность поддерживается для генерации кода C для .ert
цели.
В сгенерированном коде переменные полуточности хранятся в struct, эмулирующем комбинацию двоичных разрядов значения.
Генерация HDL-кода с помощью HDL Coder™.
Для получения дополнительной информации смотрите Начало работы с Собственным компонентом HDL Coder Поддержка С плавающей точкой (HDL Coder).
В Simulink тип данных полуточности только поддерживает действительные значения. Комплексные числа не могут иметь типа данных полуточности.
Просмотреть блоки, которые поддерживают половину точности, в командной строке, типе
showblockdatatypetable
Блоки, которые поддерживают половину точности, отображают X
в столбце пометил Half.
Можно сгенерировать код С, предназначающийся для .ert
цели для моделей Simulink® с помощью типа данных полуточности. Генерация кода для .ert
цели требуют лицензии Embedded Coder®.
Откройте ex_half_arithmetic
модель. Модель выполняет несколько арифметических операций. Все значения параметров и типы выходных данных задают тип данных полуточности.
open_system('ex_half_arithmetic');
Чтобы сгенерировать код С для модели, нажмите Ctrl+B. В отчете генерации кода откройте ex_half_arithmetic.c
файл. Переменные полуточности являются типами в сгенерированном коде как real16_T
. Например, смотрите rtb_Gain
переменная.
В сгенерированном коде переменные полуточности хранятся в struct, эмулирующем комбинацию двоичных разрядов значения.
Входные переменные полуточности к арифметическим операциям брошены к с одинарной точностью, и арифметическая операция выполняется в с одинарной точностью. Если тип выходных данных блока установлен в half
, результат операции брошен к типу данных полуточности. Например, см., что код вычисляет выход блока Gain.