Convolution

Свертка двух входов

  • Библиотека:
  • Системный тулбокс DSP/сигнальные операции

  • Convolution block

Описание

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

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

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

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

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

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

Чтобы определить, какой блок лучше всего подходит для ваших нужд, смотрите Выбор соответствующего блока свертки.

Порты

Вход

расширить все

Первый входной 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.

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

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

Примечание

Параметры 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).

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

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

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

Типы данных

double | fixed point | integer | single

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

no

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

no

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

no

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

no

Подробнее о

расширить все

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

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

.

См. также

Функции

Блоки

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