В этом примере показано, как использовать производный анализ области значений для сбора диапазонов, которые затем могут использоваться Fixed-Point Tool для предложения масштабирования с фиксированной точкой.
Fixed-Point Tool может собирать данные о области значений либо путем моделирования модели и информации о области значений, либо путем выполнения производного анализа области значений. Информация о области значений, полученная из симуляции, полностью зависит от входа в симуляцию. Точная информация о области значений может быть получена только, если входы выполняют систему в полном рабочем диапазоне. В отличие от набора областей значений с помощью логгирования симуляции, производный анализ областей значений не зависит от входов выборки. Вместо этого он использует формальные методы для генерации информации о области значений.
Преимущества полученного анализа диапазона по сравнению с симуляцией логгирования:
Точные результаты независимо от качества входных данных
Более быстрое время анализа
Откройте ex_fxpdemo_corner_detection
модель.
Эта модель реализует алгоритм обнаружения углов, основанный на методе детектирования углов методом Харриса. Верхний уровень модели включает блоки, необходимые для запуска симуляции. Обратите внимание, что вход в симуляцию является изображением шашки, а выход - переменной матрицы рабочей области 2 на n, cornerMarks
, который содержит местоположения всех найденных углов. Подсистема Углового Детектора реализует алгоритм. В Подсистеме Детектора Углов блок Собеля Edge применяет оператор Собеля к входным данным, а Подсистема Угловой Метрики вычисляет угловую метрику Харриса. Этот пример фокусируется на анализе областей значений подсистемы Corner Metric с помощью Fixed-Point Tool.
Примечание. Проекты областей значений на входах в Подсистему Угловой Метрики были явным образом заданы пользователем перед выполнением анализа. Эти области значений проекта могут быть получены или из выполнения производного анализа области значений, симуляции модели с логгированием в системе или из модели.
Некоторые блоки в подсистеме Corner Metric имеют фиксированные точки, заданные вручную. Однако некоторые типы были выбраны плохо, и модель не может правильно обнаружить углы. Симулируйте модель нажатием кнопки Simulate. Обратите внимание, что имеют место многочисленные переполнения и что большинство углов не помечены.
В Fixed-Point Tool на панели Визуализация Данные моделирования маркеры переполнения указывают блоки в модели, которые переполнены во время симуляции. Переполнение Fixed-Point Tool показов произошло в аккумуляторах Гауссова фильтра.
Чтобы открыть Fixed-Point Tool, щелкните правой нажатие кнопки подсистему Corner Metric и выберите Fixed-Point Tool
.
Fixed-Point Tool выводит области значений путем анализа сгенерированного кода. Типы данных с фиксированной точкой генерируют больше кода и могут затруднить анализ, чтобы вывести точные области значений. Чтобы улучшить точность результатов, выведите области значений моделей с помощью типов данных двойной точности.
В окне «Fixed-Point Tool» в разделе «Собрать области значений» панели инструментов нажмите кнопку «Производные области значений», чтобы задать метод набора областей значений. Чтобы начать анализ области значений, нажмите кнопку «Собрать диапазоны». Это действие переопределяет типы данных в модели с двойной точностью перед выполнением анализа, чтобы улучшить точность результатов. После концов анализа Fixed-Point Tool отображает собранную информацию о области значений.
Информация о области значений, полученная из анализа производной области значений, может использоваться Fixed-Point Tool, чтобы предложить типы данных с фиксированной точкой для блоков в модели. Это можно сделать, нажав кнопку «Предложить типы данных» в Fixed-Point Tool.
Чтобы применить предложенные типы данных, нажмите кнопку «Применить типы данных». По умолчанию Fixed-Point Tool применяет все предложенные типы данных. Чтобы применить подмножество предложений, используйте флажок Принять (Accept), чтобы задать предложения, которые необходимо применить.
Предлагаемые типы должны правильно обрабатывать все возможные входы. Установите модель, чтобы использовать новые примененные типы, моделировать модель и наблюдать, что теперь все углы обнаружены.
Примечание. Применение предложенных типов данных обновляет визуализацию типа данных и удаляет соответствующие индикаторы переполнения