Normalization

Выполните векторную нормализацию вдоль строк, столбцов или заданного измерения

Библиотека

Математические функции/математические операции

dspmathops

  • Normalization block

Описание

Блок Normalization независимо нормализует каждую строку, столбец или вектор заданного измерения входа. Блок принимает как сигналы с фиксированной точкой, так и сигналы с плавающей точкой в режиме квадратичной нормы, но только сигналы с плавающей точкой в режиме 2-нормы. Выходные выходы всегда имеют те же размерности, что и входы.

Этот блок обрабатывает произвольно размеренный входной U как набор векторов, ориентированных вдоль заданного измерения. Блок нормирует эти векторы либо по их норме, либо по квадрату их нормы.

Например, рассмотрим 3-мерный входной U(i,j,k) и предположим, что вы хотите нормализоваться по второму измерению. Во-первых, задайте 2-мерную промежуточную величину V(i,k) так что каждый элемент V является нормой одного из векторов в U:

V(i,k)=(j=1JU2(i,j,k))1/2

При V выход блочного Y(i, j,k) в 2-норма режиме

Y(i,j,k)=U(i,j,k)V(i,k)+b

В квадратном 2-нормальном режиме блок выводит

Y(i,j,k)=U(i,j,k)V(i,k)2+b

Смещение нормализации, b, обычно выбирается как небольшая положительная константа (для примера, 1e-10), которая препятствует потенциальному делению на нули.

Типы данных с фиксированной точкой

Следующая схема показывает типы данных, используемые в блоке Normalization для сигналов с фиксированной точкой (только квадратный 2-нормальный режим).

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

Примеры

Смотрите Нулевую алгоритмическую задержку в DSP System Toolbox™ Руководство для примера.

Параметры

Main Tab

Norm

Задайте тип нормализации для выполнения, 2-norm или Squared 2-norm. 2-norm mode поддерживает только сигналы с плавающей точкой. Squared 2-norm поддерживает как сигналы с фиксированной точкой, так и сигналы с плавающей точкой.

Normalization bias

Задайте действительное b значения, которое будет добавлено в знаменатель, чтобы избежать деления на нули. Настраиваемый (Simulink).

Normalize over

Задайте нормализацию по строкам, столбцам или размерности, заданному в параметре Dimension.

Dimension

Задайте основанное на одном значении размерность, над которым нужно нормализовать. Значение этого параметра не может превысить количество размерностей в входном сигнале. Этот параметр видим только, если Specified dimension выбран для параметра Normalize over.

Data Types Tab

Примечание

Параметры на этой панели применимы только к сигналам с фиксированной точкой, когда блок находится в квадратном 2-нормальном режиме. Смотрите Типы данных с фиксированной точкой для диаграммы того, как в этом случае используются типы выходных, аккумуляторных и выходных данных продукта.

Rounding mode

Задайте режим округления для операций с фиксированной точкой как один из следующих:

  • Floor

  • Ceiling

  • Convergent

  • Nearest

  • Round

  • Simplest

  • Zero

Для получения дополнительной информации смотрите режим округления.

Saturate on integer overflow

Когда вы выбираете этот параметр, блок насыщает результат своей операции с фиксированной точкой. Когда вы очищаете этот параметр, блок переносит результат своей операции с фиксированной точкой. Для получения дополнительной информации о saturate и wrap, см. Режим переполнения для операций с фиксированной точкой.

Product output

Укажите тип выходных данных продукта. Смотрите Типы данных с фиксированной точкой и Типы данных умножения для рисунков, описывающих использование типа выходных данных продукта в этом блоке. Вы можете установить его на:

  • Правило, которое наследует тип данных, например Inherit: Same as input

  • Выражение, которое вычисляет допустимый тип данных, например fixdt([],16,0)

Нажмите кнопку Show data type assistant, чтобы отобразить Data Type Assistant, которая помогает вам задать параметр Product output.

Дополнительные сведения см. в разделе «Установка типов данных с использованием помощника по типам данных» (Simulink).

Accumulator

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

  • Правило, которое наследует тип данных, например Inherit: Same as product output

  • Правило, которое наследует тип данных, например Inherit: Same as input

  • Выражение, которое вычисляет допустимый тип данных, например fixdt([],16,0)

Нажмите кнопку Show data type assistant, чтобы отобразить Data Type Assistant, которая помогает вам задать параметр Accumulator.

Дополнительные сведения см. в разделе «Установка типов данных с использованием помощника по типам данных» (Simulink).

Output

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

  • Правило, которое наследует тип данных, например Inherit: Same as product output

  • Правило, которое наследует тип данных, например Inherit: Same as input

  • Правило, которое наследует тип данных, например Inherit: Same as accumulator

  • Выражение, которое вычисляет допустимый тип данных, например fixdt([],16,0)

Нажмите кнопку Show data type assistant, чтобы отобразить Data Type Assistant, которая помогает вам задать параметр Output.

Смотрите Типы Данных Управляющего Сигнала (Simulink) для получения дополнительной информации.

Output Minimum

Задайте минимальное значение, которое должен выдать блок. Значение по умолчанию [] (не определено). Simulink® программное обеспечение использует это значение для выполнения:

  • Проверка области значений симуляции (см. «Задание диапазонов сигнала» (Simulink))

  • Автоматическое масштабирование типов данных с фиксированной точкой

Output Maximum

Задайте максимальное значение, которое должен выдать блок. Значение по умолчанию [] (не определено). Программное обеспечение Simulink использует это значение для выполнения:

  • Проверка области значений симуляции (см. «Задание диапазонов сигнала» (Simulink))

  • Автоматическое масштабирование типов данных с фиксированной точкой

Lock data type settings against changes by the fixed-point tools

Выберите этот параметр, чтобы инструменты с фиксированной точкой не переопределяли типы данных, заданные в маске блока.

Поддерживаемые типы данных

ПортПоддерживаемые типы данных

Вход

  • Плавающая точка двойной точности

  • Плавающая точка с одной точностью

  • Фиксированная точка (со знаком и без знака)

  • 8-, 16- и 32-битные целые числа со знаком

  • 8-, 16- и 32-битные беззнаковые целые числа

Выход

  • Плавающая точка двойной точности

  • Плавающая точка с одной точностью

  • Фиксированная точка (со знаком и без знака)

  • 8-, 16- и 32-битные целые числа со знаком

  • 8-, 16- и 32-битные беззнаковые целые числа

Расширенные возможности

Генерация кода C/C + +
Сгенерируйте код C и C++ с помощью Coder™ Simulink ®

.

Преобразование с фиксированной точкой
Разрабатывайте и моделируйте системы с фиксированной точкой с помощью Fixed-Point Designer™.

См. также

Функции

Блоки

Представлено до R2006a