Свертка двух входных параметров
Операции сигнала
dspsigops
Блок Convolution применяет операцию свертки к первой размерности входного массива N-D u с первой размерностью входного массива N-D v. Блок может также независимо применить операцию свертки к вектор-столбцу с первой размерностью входного массива N-D.
Общее уравнение для свертки
Существует два блока DSP System Toolbox™, которые могут использоваться с этой целью:
Блок Convolution принимает, что весь u и h доступен на каждом временном шаге Simulink®, и вычисляет целую свертку во всех.
Блок Discrete FIR Filter может использоваться в свертке к сигналам в ситуациях, где весь h доступен на каждом временном шаге, но u является последовательностью, которая входит по жизни симуляции. Когда вы используете блок Discrete FIR Filter, свертка вычисляется только однажды.
Используйте следующие вопросы помочь вам определить, какой блок лучше всего соответствует вашим потребностям:
Вопрос | Ответ | Рекомендуемый блок (блоки) |
---|---|---|
Сколько сверток вы намереваетесь выполнить? | Много сверток, один на каждом временном шаге |
|
Одна свертка по жизни симуляции |
| |
Какой длины ваши входные последовательности? | Обе последовательности имеют конечную длину |
|
Одна последовательность имеет большое количество (не предопределенный) длина |
| |
Сколько из входных параметров скалярные потоки? | 'none' |
|
Один или оба |
|
Блок всегда вычисляет свертку двух входных массивов N-D по первому измерению. Когда оба входных параметров являются массивами N-D, размер их первой размерности может отличаться, но размер всех других размерностей должен быть равным. Например, когда u является Mu-by-N-by-P массив, и v является Mv-by-N-by-P массив, выход (Mu +Mv–1)-by-N-by-P массив.
Когда входом с блоком Convolution является Mu-by-N матричный u и Mv-by-N матричный v, выход, y, (Mu +Mv–1)-by-N матрица, j которой th столбец имеет следующие элементы
Входные параметры u и v являются нулем, когда индексировано за пределами их допустимых областей значений. Когда оба входных параметров действительны, выход действителен; когда одни или оба входных параметров являются комплексными, выход является комплексным.
Когда один вход является вектор-столбцом, и другой массив N-D, блок независимо применяет операцию свертки к вектору с первой размерностью входного массива N-D. Например, когда u является Mu-by-1 вектор-столбец, и v является Mv-by-N матрица, выход (Mu +Mv–1)-by-N матрица, j которой th столбец имеет следующие элементы
Блок Convolution также принимает два входных параметров вектор-столбца. Когда u и v являются вектор-столбцами с длинами Mu и Mv, блок Convolution выполняет векторную свертку
Выход (M u+Mv–1)-by-1 вектор-столбец.
Следующая схема показывает типы данных, используемые в блоке Convolution в сигналах фиксированной точки (только временной интервал).
Можно установить продукт выход, аккумулятор и типы выходных данных в диалоговом окне блока, как обсуждено в следующем разделе.
Выход множителя находится в типе выходных данных продукта, когда вход действителен. Когда вход является комплексным, результат умножения находится в типе данных аккумулятора. Для получения дополнительной информации на комплексном выполняемом умножении, смотрите Типы данных Умножения.
Когда один или оба из входных параметров подписанные сигналы фиксированной точки, все внутренние типы данных блока являются подписанной фиксированной точкой. Внутренние типы данных блока являются фиксированной точкой без знака только, когда оба входных параметров являются сигналами фиксированной точки без знака.
Main Tab
Установите область, в которой блок вычисляет свертки:
Time
— Блок вычисляет во временном интервале, который минимизирует использование памяти.
Frequency
— Блок вычисляет в частотном диапазоне, который может потребовать меньшего количества расчетов, чем вычисление во временном интервале, в зависимости от входной длины.
Fastest
— Блок вычисляет в области, которая минимизирует количество расчетов.
Data Types Tab
Сигналы фиксированной точки только поддержаны для временного интервала. Чтобы использовать параметры на этой панели, убедитесь Time
выбран для параметра Computation domain на панели Main.
Выберите округляющийся режим для операций фиксированной точки.
Настройки Rounding mode и Saturate on integer overflow не оказывают влияния на числовые результаты, когда все следующие условия существуют:
Product output является Inherit: Inherit via internal rule
Accumulator является Inherit: Inherit via internal rule
Output является Inherit: Same as accumulator
С этими настройками типа данных блок эффективно действует в режиме максимальной точности.
Когда вы выбираете этот параметр, блок насыщает результат своей операции фиксированной точки. Когда вы очищаете этот параметр, блок переносит результат своей операции фиксированной точки. Для получения дополнительной информации на saturate
и wrap
, смотрите режим переполнения для операций фиксированной точки.
Rounding mode и параметры Saturate on integer overflow не оказывают влияния на числовые результаты, когда все эти условия соблюдают:
Типом данных Product output является Inherit: Inherit via internal rule
.
Типом данных Accumulator является Inherit: Inherit via internal rule
.
С этими настройками типа данных блок действует в режиме максимальной точности.
Задайте тип выходных данных продукта. Смотрите Типы данных с фиксированной точкой и Типы данных Умножения для рисунков, изображающих использование типа выходных данных продукта в этом блоке. Можно установить его на:
Правило, которое наследовало тип данных, например, Inherit: Inherit via internal rule
. Для получения дополнительной информации об этом правиле смотрите, Наследовались через Внутреннее Правило.
Выражение, которое оценивает к допустимому типу данных, например, fixdt([],16,0)
Нажмите кнопку Show data type assistant, чтобы отобразить Data Type Assistant, который помогает вам установить параметр Product output.
Смотрите Задают Типы данных Используя Ассистент Типа данных (Simulink) для получения дополнительной информации.
Задайте тип данных аккумулятора. Смотрите Типы данных с фиксированной точкой для рисунков, изображающих использование типа данных аккумулятора в этом блоке. Можно установить этот параметр на:
Правило, которое наследовало тип данных, например, Inherit: Inherit via internal rule
. Для получения дополнительной информации об этом правиле смотрите, Наследовались через Внутреннее Правило.
Выражение, которое оценивает к допустимому типу данных, например, fixdt([],16,0)
Нажмите кнопку Show data type assistant, чтобы отобразить Data Type Assistant, который помогает вам установить параметр Accumulator.
Смотрите Задают Типы данных Используя Ассистент Типа данных (Simulink) для получения дополнительной информации.
Задайте тип выходных данных. Смотрите Типы данных с фиксированной точкой для рисунков, изображающих использование типа выходных данных в этом блоке. Можно установить его на:
Правило, которое наследовало тип данных, например, Inherit: Same as accumulator
Выражение, которое оценивает к допустимому типу данных, например, fixdt([],16,0)
Нажмите кнопку Show data type assistant, чтобы отобразить Data Type Assistant, который помогает вам установить параметр Output.
Смотрите Типы данных Управляющего сигнала (Simulink) для получения дополнительной информации.
Задайте минимальное значение, которое должен вывести блок. Значением по умолчанию является []
(незаданный). Программное обеспечение Simulink использует это значение, чтобы выполнить:
Проверка диапазона симуляции (см. Диапазоны сигнала (Simulink)),
Автоматическое масштабирование типов данных с фиксированной точкой
Задайте максимальное значение, которое должен вывести блок. Значением по умолчанию является []
(незаданный). Программное обеспечение Simulink использует это значение, чтобы выполнить:
Проверка диапазона симуляции (см. Диапазоны сигнала (Simulink)),
Автоматическое масштабирование типов данных с фиксированной точкой
Выберите этот параметр, чтобы препятствовать тому, чтобы Fixed-Point Tool заменили типы данных, которые вы задаете на маске блока.
Порт | Поддерживаемые типы данных |
---|---|
Входной параметр |
|
Вывод |
|