В этом примере показано, как моделировать непрерывный вещественный двойной сигнал с использованием обобщенного типа данных с фиксированной точкой. Использование fxpdemo_dbl2fix модель, вы можете изучить многие важные функции программного обеспечения Fixed-Point Designer™, в том числе
Типы данных
Вычисление
Округление
Ведение журнала минимального и максимального значений моделирования в рабочей области
Обработка переполнения
Для открытия модели в командной строке MATLAB ® введите
fxpdemo_dbl2fix

В этом примере блок генератора сигналов настраивается для вывода синусоидального сигнала с амплитудой, определенной в интервале [-5 5]. Блок генератора сигналов всегда выводит числа с двойной точностью.
Dbl-to-FixPt
Блок преобразования типов данных преобразует числа с двойной точностью из блока генератора сигналов в один из типов данных конструктора фиксированных точек. Для простоты размер выходного сигнала в этом примере равен 5 битам.
FixPt-to-Dbl
Блок преобразования типов данных преобразует один из типов данных Fixed-Point Designer в тип данных Simulink ®. В этом примере выводится число с двойной точностью.
При использовании масштабирования только в двоичной точке цель состоит в том, чтобы найти оптимальный показатель степени из двух, как определено в разделе Масштабирование (Scaling). Для этого режима масштабирования дробный наклон F равен 1 и смещения нет.
Чтобы настроить модель на использование масштабирования только в двоичной точке, выполните следующие действия.
Сконфигурируйте блок генератора сигналов для вывода синусоидального сигнала с амплитудой, определенной в интервале [-5 5].
Дважды щелкните блок генератора сигналов, чтобы открыть диалоговое окно «Параметры блока».
Задайте для параметра Wave form значение sine.
Установите для параметра Amplitude значение 5.
Нажмите кнопку ОК.
Сконфигурируйте блок преобразования типа данных (Dbl-to-FixPt).
Дважды щелкните блок Dbl-to-FixPt, чтобы открыть диалоговое окно «Параметры блока».
Убедитесь, что параметр Output data type имеет значение fixdt(1,5,2). Это указывает 5-битное, подписанное, фиксированное число с масштабированием 2^-2, что ставит двоичную точку на два места слева от самого правого бита. Следовательно, максимальное значение равно 011.11 = 3,75, минимальное значение равно 100.00 = -4.00, а точность равна (1/2) 2 = 0,25.
Убедитесь, что для параметра Режим округления целых чисел установлено значение Floor. Это округляет результат с фиксированной точкой до отрицательной бесконечности.
Установите флажок Насыщать при переполнении целых чисел, чтобы предотвратить наложение блока на переполнение.
Нажмите кнопку ОК.
Для моделирования модели на вкладке Моделирование (Simulation) щелкните Выполнить (Run).
В области отображаются идеальные и фиксированные результаты моделирования.

Моделирование показывает эффекты квантования арифметики с фиксированной точкой. Использование 5-битного слова с точностью (1/2) 2 = 0,25 дает дискретизированный выходной сигнал, который не охватывает весь диапазон входного сигнала.
Чтобы охватить весь диапазон входного сигнала 5 битами с помощью бинарного масштабирования, установите для выходного масштабирования значение 2^-1. Это ставит двоичную точку на одно место слева от самого правого бита, давая максимальное значение 0111.1 = 7,5 и минимальное значение 1000.0 = -8,0. Однако точность снижается до (1/2) 1 = 0,5. Если вы хотите охватить весь диапазон входного сигнала 5 битами с помощью бинарного масштабирования только точки, то ваша единственная возможность - пожертвовать точностью. Следовательно, выходной масштаб равен2^-1, что ставит двоичную точку на одно место слева от самого правого бита. Это масштабирование дает максимальное значение 0111.1 = 7,5, минимальное значение 1000.0 = -8,0 и точность (1/2) 1 = 0,5.
Чтобы увидеть эффект снижения точности до 0,5, установите параметр Output data type (Тип выходных данных) для Dbl-to-FixPt
Блок преобразования типа данных в fixdt(1,5,1) и повторно запустите моделирование.
При использовании масштабирования [Уклон смещения] цель состоит в том, чтобы найти оптимальный дробный уклон F и фиксированную степень степени двух E, как определено в разделе Масштабирование. Смещение для этого примера отсутствует, поскольку синусоидальная волна определена в интервале [-5 5].
Чтобы найти наклон, вы начинаете с того, что предполагаете фиксированную степень степени из двух, равную -2. Чтобы найти дробный наклон, разделите максимальное значение синусоидальной волны на максимальное значение масштабированного 5-битного числа. Результат - 5,00/3,75 = 1,3333. Наклон (и точность) 1,3333 (0,25) = 0,3333. Путем ввода выражения задается масштаб [Уклон уклона] как [0,3333 0]fixdt(1,5,0.3333,0) как значение параметра Output data type.
Можно также задать фиксированную степень степени из двух, равную -1, и соответствующий дробный наклон, равный 0,6667. Результирующий наклон тот же, поскольку E уменьшен на 1 бит, но F увеличен на 1 бит. Программное обеспечение Fixed-Point Designer автоматически сохраняет F как 1.3332 и E как -2 из-за условия нормализации 1 ≤ F < 2.
Для настройки модели с помощью масштабирования [Уклон уклона]:
Сконфигурируйте блок генератора сигналов для вывода синусоидального сигнала с амплитудой, определенной в интервале [-5 5].
Дважды щелкните блок генератора сигналов, чтобы открыть диалоговое окно «Параметры блока».
Задайте для параметра Wave form значение sine.
Установите для параметра Amplitude значение 5.
Нажмите кнопку ОК.
Сконфигурируйте Dbl-to-FixPt
Блок преобразования типов данных.
Дважды щелкните блок Dbl-to-FixPt, чтобы открыть диалоговое окно «Параметры блока».
Чтобы задать масштаб [Уклон смещения], равный [0,3333 0], задайте для параметра Output data type значение fixdt(1,5,0.3333,0).
Убедитесь, что установлен параметр режима округления Integer Floor. Это округляет результат с фиксированной точкой до отрицательной бесконечности.
Установите флажок Насыщать при переполнении целых чисел, чтобы предотвратить наложение блока на переполнение.
Нажмите кнопку ОК.
Для моделирования модели на вкладке Моделирование (Simulation) щелкните Выполнить (Run).
В области отображаются идеальные и фиксированные результаты моделирования.

Если уклон неизвестен, можно получить разумные результаты моделирования, выбрав масштаб на основе формулы
1,
где
max_value - максимальное значение, которое должно быть смоделировано
min_value - минимальное значение, которое должно быть смоделировано
ws - размер слова в битах
2ws - 1 - наибольшее значение слова с размером ws
Для этого примера формула дает наклон 0,32258.