Convolution

Свертка двух входных параметров

  • Библиотека:
  • DSP System Toolbox / Операции Сигнала

  • Convolution block

Описание

Блок Convolution применяет операцию свертки к первой размерности N-D входной массив u с первой размерностью входного массива N-D v. Блок может также применить операцию свертки к вектор-столбцу с первой размерностью входного массива N-D.

Общее уравнение для свертки:

y(k)=nu(nk)v(k)

Два блока DSP System Toolbox™ могут использоваться для свертки к двум входным сигналам:

Блок Convolution принимает, что все элементы u и v доступны в каждом Simulink® временной шаг и вычисляет целую свертку на каждом шаге.

Блок Discrete FIR Filter может использоваться для свертки к сигналам в ситуациях, где все элементы v доступны на каждом временном шаге, но u является последовательностью, которая входит по жизни симуляции. Когда вы используете блок Discrete FIR Filter, свертка вычисляется только однажды.

Чтобы определить, какой блок лучше всего соответствует вашим потребностям, смотрите Выбор Appropriate Convolution Block.

Порты

Входной параметр

развернуть все

Первый вход u, заданный как скаляр, вектор, матрица или N-D массив. Когда оба входных параметров действительны, выход действителен. Когда одни или оба входных параметров являются комплексными, выход является комплексным. Все размерности входного порта для обоих входные параметры, кроме первой размерности, должны иметь то же значение.

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

Типы данных: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32 | fixed point
Поддержка комплексного числа: Да

Второй вход v, заданный как скаляр, вектор, матрица или N-D массив. Когда оба входных параметров действительны, выход действителен. Когда одни или оба входных параметров являются комплексными, выход является комплексным. Все размерности входного порта для обоих входные параметры, кроме первой размерности, должны иметь то же значение.

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

Типы данных: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32 | fixed point
Поддержка комплексного числа: Да

Вывод

развернуть все

Сигнал, к которому применяют операцию свертки, возвращенный как скаляр, вектор, матрица или N-D массив в зависимости от входных сигналов. Когда оба входных параметров действительны, выход действителен. Когда одни или оба входных параметров являются комплексными, выход является комплексным. Входные параметры u и v являются нулем, когда индексировано за пределами их допустимых областей значений. Для получения дополнительной информации о как изменения сигнала, к которым применяют операцию свертки, на основе входных параметров, смотрите Больше О.

Типы данных: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32 | fixed point
Поддержка комплексного числа: Да

Параметры

развернуть все

Основная вкладка

Установите область, в которой блок вычисляет свертки:

  • Time — Блок вычисляет во временном интервале, который минимизирует использование памяти.

  • Frequency — Блок вычисляет в частотном диапазоне, который может потребовать меньшего количества расчетов, чем вычисление во временном интервале, в зависимости от входной длины.

  • Fastest — Блок вычисляет в области, которая минимизирует количество расчетов.

Сигналы фиксированной точки только поддерживаются во временном интервале. При введении сигналов фиксированной точки убедитесь, что вы устанавливаете параметр Computation domain на Time.

Вкладка типов данных

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

  • Floor

  • Ceiling

  • Convergent

  • Nearest

  • Round

  • Simplest

  • Zero

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

Примечание

Rounding mode и параметры Saturate on integer overflow не оказывают влияния на числовые результаты, когда все эти условия соблюдают:

  • Типом данных Product output является Inherit: Inherit via internal rule.

  • Типом данных Accumulator является Inherit: Inherit via internal rule.

  • Типом данных Output является Inherit: Same as accumulator.

С этими настройками типа данных блок действует в режиме максимальной точности.

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

Примечание

Rounding mode и параметры Saturate on integer overflow не оказывают влияния на числовые результаты, когда все эти условия соблюдают:

  • Типом данных Product output является Inherit: Inherit via internal rule.

  • Типом данных Accumulator является Inherit: Inherit via internal rule.

  • Типом данных Output является Inherit: Same as accumulator.

С этими настройками типа данных блок действует в режиме максимальной точности.

Product output задает тип данных выхода операции продукта в блоке Convolution.

  • Inherit: Inherit via internal rule — Блок наследовал тип выходных данных продукта на основе внутреннего правила. Для получения дополнительной информации об этом правиле смотрите, Наследовались через Внутреннее Правило.

  • Inherit: Same as first input — Блок задает тип выходных данных продукта, чтобы совпасть с первым типом входных данных.

  • fixdt([],16,0) — Блок задает двоичную точку автосо знаком, масштабируемую, тип данных с фиксированной точкой с размером слова 16 битов и дробной длиной 0.

В качестве альтернативы можно установить тип данных Product output при помощи Data Type Assistant. Чтобы использовать ассистент, нажмите кнопку Show data type assistant.

Для получения дополнительной информации об ассистенте типа данных смотрите, Задают Типы данных Используя Ассистент Типа данных (Simulink).

Для получения дополнительной информации о типе выходных данных продукта смотрите Типы данных Умножения и Преобразование Фиксированной точки в Расширенных Возможностях.

Accumulator задает тип данных выхода операции накопления в блоке Convolution.

  • Inherit: Inherit via internal rule — Блок наследовал тип данных аккумулятора на основе внутреннего правила. Для получения дополнительной информации об этом правиле смотрите, Наследовались через Внутреннее Правило.

  • Inherit: Same as first input — Блок задает тип данных аккумулятора, чтобы совпасть с первым типом входных данных.

  • Inherit: Same as product output — Блок задает тип данных аккумулятора, чтобы совпасть с типом выходных данных продукта.

  • fixdt([],16,0) — Блок задает двоичную точку автосо знаком, масштабируемую, тип данных с фиксированной точкой с размером слова 16 битов и дробной длиной 0.

В качестве альтернативы можно установить тип данных Accumulator при помощи Data Type Assistant. Чтобы использовать ассистент, нажмите кнопку Show data type assistant.

Для получения дополнительной информации об ассистенте типа данных смотрите, Задают Типы данных Используя Ассистент Типа данных (Simulink).

Для схематического представления о том, как использовать тип данных аккумулятора в этом блоке, смотрите Преобразование Фиксированной точки в Расширенных Возможностях.

Output задает тип данных выхода блока Convolution.

  • Inherit: Same as accumulator — Блок задает тип выходных данных, чтобы совпасть с типом данных аккумулятора.

  • Inherit: Same as first input — Блок задает тип выходных данных, чтобы совпасть с первым типом входных данных.

  • Inherit: Same as product output — Блок задает тип выходных данных, чтобы совпасть с типом выходных данных продукта.

  • fixdt([],16,0) — Блок задает двоичную точку автосо знаком, масштабируемую, тип данных с фиксированной точкой с размером слова 16 битов и дробной длиной 0.

В качестве альтернативы можно установить тип данных Output при помощи Data Type Assistant. Чтобы использовать ассистент, нажмите кнопку Show data type assistant.

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

Для получения дополнительной информации о типе выходных данных смотрите Преобразование Фиксированной точки в Расширенных Возможностях.

Задайте минимальное значение, которое может вывести блок. Simulink использует это минимальное значение, чтобы выполнить:

  • Проверка диапазона симуляции. Смотрите Указывают Диапазоны сигнала (Simulink).

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

Задайте максимальное значение, которое может вывести блок. Simulink использует это максимальное значение, чтобы выполнить:

  • Проверка диапазона симуляции. Смотрите Указывают Диапазоны сигнала (Simulink).

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

Выберите этот параметр, чтобы препятствовать тому, чтобы Fixed-Point Tool заменили типы данных, которые вы задаете в диалоговом окне блока.

Характеристики блока

Типы данных

double | fixed point | integer | single

Прямое сквозное соединение

no

Многомерные сигналы

no

Сигналы переменного размера

no

Обнаружение пересечения нулем

no

Больше о

развернуть все

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

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

Смотрите также

Функции

Блоки

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