Можно использовать Fixed-Point Tool, чтобы предложить и применить типы данных с фиксированной точкой для обычно используемых Системных объектов. Предложенные типы данных основаны на данных моделирования от Системных объектов.
Инструментирование и предложения по типу данных доступны для этих Системных объектов DSP System Toolbox™:
dsp.FIRFilter
(Прямая Форма и Прямая Форма, Транспонированная только)
Следующие ограничения применяются при работе с Системными объектами в Fixed-Point Tool.
Вы не можете предложить типы данных для этих Системных объектов на основе статических данных об области значений.
Необходимо сконфигурировать Систему object™, чтобы использовать настройки фиксированной точки 'Custom'
.
Масштабируемые обработки инструмента удваиваются как фиксированная точка. Масштабированное удваивается, рабочий процесс для Системных объектов эквивалентен для регулярных переменных.
Fixed-Point Tool игнорирует установку Default word length под Automatic data typing. Предложения по типу данных основаны на настройках Системного объекта.
Этот пример преобразовывает Функциональный блок MATLAB®, который использует Системный объект dsp.FIRFilter
для фиксированной точки с помощью Fixed-Point Tool.
Откройте папку, где модель расположена. В командной строке MATLAB, введите:
cd(fullfile(docroot,'toolbox','fixpoint','examples'))
Скопируйте файл ex_myFIRFilter.slx
в перезаписываемую папку и откройте модель.
Блок MATLAB function содержит Системный объект, который фильтрует высокочастотный сигнал синусоиды.
Щелкните правой кнопкой по блоку MATLAB function и выберите Fixed-Point Tool.
В панели Рабочего процесса, под System under design, нажимают Continue, чтобы выбрать ex_myFIRFilter/MATLAB Function
как систему, чтобы преобразовать.
В разделе Prepare System for Conversion панели инструментов, под System under design, выбирают ex_myFIRFilter/MATLAB Function
, который содержит блок MATLAB function как система, чтобы преобразовать.
В разделе Collect Ranges панели инструментов выберите Simulation Ranges как метод набора области значений. Эта кнопка конфигурирует модель, чтобы собраться, области значений с помощью идеализировали типы данных с плавающей точкой.
Кликните по стрелке кнопки Collect Ranges и выберите Use current settings, чтобы собрать области значений, не применяя переопределение типа данных к модели. Нажмите кнопку Collect Ranges, чтобы запустить симуляцию.
Fixed-Point Tool хранит данные моделирования в выполнении, названном Run 1
. Исследуйте информацию об области значений переменных MATLAB в электронной таблице.
Сконфигурируйте настройки предложения и предложите типы данных с фиксированной точкой для модели.
В разделе Convert Data Types панели инструментов сконфигурируйте настройки предложения по типу данных для Системного объекта. В этом примере используйте настройки предложения по умолчанию, чтобы предложить типы данных для переменных в блоке MATLAB function.
Нажмите Propose Data Types. Предложения по типу данных появляются в столбце ProposedDT электронной таблицы.
Fixed-Point Tool не предложил типа данных для свойства lowpassFIR.CustomProductDataType
. Fixed-Point Tool предлагает типы данных только для полей Системных объектов, которые установлены в 'Custom'
.
Чтобы просмотреть больше информации о предложении в панели Result Details, выберите результат в электронной таблице.
Нажмите Apply Data Types. Это действие создает различную подсистему, которая содержит исходный блок MATLAB function с плавающей точкой и автоматически сгенерированный блок MATLAB function фиксированной точки.
Блок MATLAB function теперь использует более точные типы данных с фиксированной точкой, предложенные Fixed-Point Tool.
Лучшые практики для Работы с блоком MATLAB function в Fixed-Point Tool