Следующие блоки Simulink® фиксированной точки обеспечивают режим для масштабных коэффициентов, значения которых являются постоянными векторами или матрицами:
Этот режим масштабирования основан на единственном двоичной точкой масштабировании. Используя этот режим, можно масштабировать постоянный вектор или матрицировать таким образом, что общая двоичная точка найдена на основе лучшей точности для самого большого значения в векторе или матрице.
Постоянное масштабирование для лучшей точности доступно только для типов данных с фиксированной точкой с незаданным масштабированием. Все другие типы данных с фиксированной точкой используют свое заданное масштабирование. Можно использовать Data Type Assistant (см., Задают Типы данных Используя Ассистент Типа данных (Simulink)) на диалоговом окне блока, чтобы включить лучший режим масштабирования точности.
На диалоговом окне блока нажмите кнопку Show data type assistant.
Data Type Assistant появляется.
В Data Type Assistant, и из списка Mode, выбирают Fixed point
.
Data Type Assistant отображает дополнительные опции, сопоставленные с типами данных с фиксированной точкой.
Из списка Scaling выберите Best precision
.
Чтобы понять, как вы можете использовать этот режим масштабирования, полагайте, что 3х3 матрица удваивается, M, заданный как
3.3333e-003 3.3333e-004 3.3333e-005 3.3333e-002 3.3333e-003 3.3333e-004 3.3333e-001 3.3333e-002 3.3333e-003
Теперь предположите, что вы задаете M как значение параметра Gain для блока Gain. Результаты определения вашего собственного масштабирования по сравнению с использованием постоянного режима масштабирования описаны здесь:
Specified Scaling
Предположим, что элементы матрицы преобразованы в 10-битный обобщенный тип данных с фиксированной точкой со знаком с единственным двоичной точкой масштабированием 2
-7 (то есть, двоичная точка расположена семь мест слева от права большая часть бита). С этим форматом данных M становится
0 0 0 3.1250e-002 0 0 3.3594e-001 3.1250e-002 0
Обратите внимание на то, что многие элементы матрицы являются нулем, и для ненулевых записей, масштабированные значения отличаются от исходных значений. Это вызвано тем, что двойное преобразовано в двоичное слово фиксированного размера и ограниченной точности для каждого элемента. Чем больше и более точный тип данных преобразования, тем более тесно масштабированные значения совпадают с исходными значениями.
Constant Scaling for Best Precision
Если M масштабируется на основе его самого большого матричного значения, вы получаете
2.9297e-003 0 0 3.3203e-002 2.9297e-003 0 3.3301e-001 3.3203e-002 2.9297e-003
Лучшая точность автоматически выбрала бы дробную длину, которая минимизирует ошибку квантования. Даже при том, что точность максимизировалась для данного размера слова, ошибки квантования могут все еще произойти. В этом примере несколько элементов все еще квантуют, чтобы обнулить.
Имена типов данных Simulink должны быть допустимыми идентификаторами MATLAB® меньше чем с 128 символами. Имя типа данных предоставляет информацию о контейнерном типе, кодировании номера и масштабировании.
Можно представлять номер фиксированной точки с помощью уравнения масштабирования фиксированной точки
где
V является реальным значением.
аппроксимированное реальное значение.
наклон.
F является наклонным поправочным коэффициентом.
E является фиксированной экспонентой степени двойки.
Q является сохраненным целым числом.
B является смещением.
Для получения дополнительной информации смотрите Масштабирование.
Следующая таблица обеспечивает ключ для различных символов, которые, кажется, в продуктах Simulink указывают на тип данных и масштабирование значения фиксированной точки.
Символ | Описание | Пример |
---|---|---|
Контейнерный тип | ||
| Тип данных с фиксированной точкой без знака |
|
| Тип данных с фиксированной точкой со знаком |
|
| Масштабируемый Удваивает переопределение типа данных с фиксированной точкой без знака ( |
|
| Масштабируемый Удваивает переопределение типа данных с фиксированной точкой со знаком ( |
|
Кодирование номера | ||
| 10^ |
|
| Отрицательный |
|
| Десятичная точка |
|
Масштабирование кодирования | ||
| Наклон |
|
| Смещение |
|
| Фиксированная экспонента (2^) Отрицательная фиксированная экспонента описывает дробную длину |
|
| Наклонный поправочный коэффициент |
|
C, c, D, или d | Сжатое кодирование для Смещения ПримечаниеЕсли вы передаете этот символ функции | Никакой доступный пример. Для назад совместимости только. Чтобы идентифицировать и заменить вызовы |
T или t | Сжатое кодирование для Наклона ПримечаниеЕсли вы передаете этот символ | Никакой доступный пример. Для назад совместимости только. Чтобы идентифицировать и заменить вызовы |