exponenta event banner

Изучение нескольких преобразований с плавающей точкой на фиксированную

В этом примере используется инструмент «Фиксированная точка» и ex_fixed_point_workflow модель для изучения различных вариантов длины слова. После моделирования модели с использованием встроенных типов и сравнения поведения системы с плавающей и фиксированной точками определите, является ли новое поведение удовлетворительным. Если поведение системы, использующей вновь примененные типы данных с фиксированной точкой, неприемлемо, можно выполнить итерацию процесса до тех пор, пока не будут найдены параметры, работающие для системы.

Настройка модели

Откройте модель и настройте ее для преобразования с фиксированной точкой.

open_system('ex_fixed_point_workflow')

Модель состоит из источника, подсистемы контроллера, которую требуется преобразовать в фиксированную точку, и области для визуализации выходных данных подсистемы. Настройка модели таким образом помогает определить влияние типов данных с фиксированной точкой на систему. С помощью этого подхода преобразуется только подсистема, поскольку это интересующая система. Нет необходимости преобразовывать источник или область в фиксированную точку.

Эта конфигурация позволяет изменять входные данные и собирать данные моделирования для нескольких стимулов. Затем можно проверить поведение подсистемы с различными диапазонами ввода и масштабировать типы данных с фиксированной точкой, чтобы обеспечить максимальную точность при сохранении полного диапазона моделирования.

Для сравнения поведения до и после преобразования включите регистрацию сигналов на выходах проектируемой системы.

ph = get_param('ex_fixed_point_workflow/Controller Subsystem','PortHandles');
set_param(ph.Outport(1),'DataLogging','on')
set_param(ph.Outport(2),'DataLogging','on')

Преобразовать в фиксированную точку с помощью настроек проекта по умолчанию

  1. В галерее «Приложения» ex_fixed_point_workflow выберите инструмент «Фиксированная точка».

  2. В инструменте «Фиксированная точка» в разделе «Система при проектировании» выберите подсистему, которую требуется преобразовать в фиксированную точку. В этом примере выберите Controller Subsystem.

  3. В разделе Режим сбора диапазонов (Range Collection Mode) выберите Расчетные диапазоны (Simulation Ranges) в качестве метода сбора диапазонов.

  4. В разделе Входные данные моделирования (Simulation Inputs) можно указать Simulink.SimulationInput объекты для выполнения проекта в полном рабочем диапазоне. В этом примере задайте для входных данных моделирования значение Use default model inputs.

  5. Чтобы задать допуски для системы, в таблице в разделе Допуски сигналов (Signal Tolerances) укажите допуски для любого сигнала в модели с включенным регистром сигналов.

    Установите относительный допуск (Rel Tol) для зарегистрированных сигналов 15%.

  6. На панели инструментов нажмите кнопку «Подготовить». Инструмент Fixed-Point проверяет проектируемую систему на совместимость с процессом преобразования и сообщает о любых проблемах, обнаруженных в модели. По возможности инструмент «Фиксированная точка» автоматически изменяет несовместимые параметры. Дополнительные сведения см. в разделе Использование инструмента фиксированной точки для подготовки системы к преобразованию.

  7. Разверните стрелку кнопки Собрать диапазоны и выберите Double precision. Нажмите кнопку Собрать диапазоны (Collect Ranges), чтобы переопределить типы данных в модели с двойной точностью и запустить моделирование набора диапазонов.

  8. В разделе Преобразовать нажмите кнопку Предложить типы данных.

    Инструмент Fixed-Point использует настройки предложения по умолчанию для предложения типов данных с 16-битной длиной слова и длиной дроби наилучшей точности и обновляет результаты в электронной таблице.

  9. Нажмите кнопку Применить типы данных (Apply Data Types), чтобы записать предлагаемые типы данных в модель.

  10. В разделе «Проверка» панели инструментов нажмите кнопку «Моделирование со встроенными типами». Инструмент фиксированных точек моделирует модель с использованием новых типов данных фиксированных точек и сохраняет информацию о выполнении в новом выполнении под названием EmbeddedRun.

  11. Щелкните Сравнить результаты (Compare Results), чтобы открыть инспектор данных моделирования и сравнить поведение с плавающей и фиксированной точками.

Вернитесь к инструменту Fixed-Point Tool, чтобы обновить настройки предложения и создать новые предложения по типу данных.

Преобразовать с использованием новых настроек проекта

  1. В инструменте «Фиксированная точка» в разделе «Преобразование» панели инструментов нажмите кнопку «Параметры».

    Измените параметры предложения, чтобы определить, улучшает ли большая длина слова поведение системы с фиксированной точкой. Задайте значение длины слова по умолчанию 32.

  2. Чтобы создать новые предложения, щелкните Предложить типы данных.

  3. Щелкните Применить типы данных (Apply Data Types), чтобы записать в модель новые предложенные типы данных.

  4. Щелкните Моделирование со встроенными типами (Simulate with Embedded Types). Инструмент фиксированных точек моделирует модель с использованием новых типов данных фиксированных точек и сохраняет информацию о выполнении в новом выполнении под названием EmbeddedRun_2.

  5. Щелкните Сравнить результаты (Compare Results), чтобы открыть инспектор данных моделирования и сравнить поведение с плавающей и фиксированной точками.

Можно продолжать корректировать параметры предложения типа данных, предлагать типы данных и применять типы данных к модели до тех пор, пока не будут найдены параметры, для которых приемлемо поведение системы с фиксированной точкой.

Связанные темы