Свертка двух входов
Системный тулбокс DSP/сигнальные операции
Блок Convolution свертывает первую размерность входного массива N-D u с первой размерностью N-D входного v массива. Блок может также свертать вектор-столбец с первым измерением N-D входного массива.
Общее уравнение для свертки:
Два блока DSP System Toolbox™ могут использоваться для свертки двух входных сигналов:
Convolution
Discrete FIR Filter (Simulink)
Блок Convolution принимает, что все элементы u и v доступны в каждом Simulink® временной шаг и вычисляет всю свертку на каждом шаге.
Блок Дискретный конечная импульсная характеристика может использоваться для свертки сигналов в ситуациях, когда все элементы v доступны на каждом временном шаге, но u является последовательностью, которая приходит в течение срока службы симуляции. Когда вы используете блок Дискретная конечная импульсная характеристика Фильтр, свертка вычисляется только один раз.
Чтобы определить, какой блок лучше всего подходит для ваших нужд, смотрите Выбор соответствующего блока свертки.
Port_1
- Первый входной сигналПервый входной u задается как скаляр, вектор, матрица или N - D массив. Когда оба входов вещественны, выход действителен. Когда один или оба входа комплексны, выход комплексен. Все размерности входного порта для обоих входов, кроме первой размерности, должны иметь одно и то же значение.
Входы u и v равны нулю при индексации вне допустимых областей значений.
Типы данных: single
| double
| int8
| int16
| int32
| uint8
| uint16
| uint32
| fixed point
Поддержка комплексного числа: Да
Port_2
- Второй входной сигналВторой входной v задан как скаляр, вектор, матрица или N массив -D. Когда оба входов вещественны, выход действителен. Когда один или оба входа комплексны, выход комплексен. Все размерности входного порта для обоих входов, кроме первой размерности, должны иметь одно и то же значение .
Входы u и v равны нулю при индексации вне допустимых областей значений.
Типы данных: single
| double
| int8
| int16
| int32
| uint8
| uint16
| uint32
| fixed point
Поддержка комплексного числа: Да
Port_1
- Выходной сигналСвернутый сигнал, возвращаемый в виде скаляра, вектора, матрицы или N - D массива в зависимости от входных сигналов. Когда оба входов вещественны, выход действителен. Когда один или оба входа комплексны, выход комплексен. Входы u и v равны нулю при индексации вне допустимых областей значений. Для получения дополнительной информации о том, как свертанный сигнал изменяется на основе входов, смотрите Подробнее о.
Типы данных: single
| double
| int8
| int16
| int32
| uint8
| uint16
| uint32
| fixed point
Поддержка комплексного числа: Да
Computation domain
- РасчетTime
(по умолчанию) | Frequency
| Fastest
Установите область, в которой блок вычисляет свертки:
Time
- Блок вычисляет во временном интервале, что минимизирует использование памяти.
Frequency
- блок вычисляет в частотной области, которая может потребовать меньше расчеты, чем вычисления во временном интервале, в зависимости от входной длины.
Fastest
- Блок вычисляет в области, которая минимизирует количество расчетов.
Сигналы с фиксированной точкой поддерживаются только во временном интервале. При вводе сигналов с фиксированной точкой убедитесь, что вы установили параметр Computation domain на Time
.
Rounding mode
- Метод округленияFloor
(по умолчанию) | Ceiling
| Convergent
| Nearest
| Round
| Simplest
| Zero
Задайте режим округления для операций с фиксированной точкой как один из следующих:
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
.
С этими настройками типа данных блок работает в режиме полной точности.
Saturate on integer overflow
- Метод действия переполненияoff
(по умолчанию) | on
Когда вы выбираете этот параметр, блок насыщает результат своей операции с фиксированной точкой. Когда вы очищаете этот параметр, блок переносит результат своей операции с фиксированной точкой. Для получения дополнительной информации о насыщении и обертывании, смотрите 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
- Тип выходных данных продуктаInherit: Inherit via internal rule
(по умолчанию) | Inherit: Same as first input
| fixdt([],16,0)
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
- Тип данных аккумулятораInherit: Inherit via internal rule
(по умолчанию) | Inherit: Same as first input
| Inherit: Same as product output
| fixdt([],16,0)
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
- Тип данных выходаInherit: Same as accumulator
(по умолчанию) | Inherit: Same as input
| Inherit: Same as product output
| fixdt([],16,0)
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).
Для получения дополнительной информации о типе выходных данных смотрите Преобразование с Фиксированной Точкой в Расширенных Возможностях.
Output Minimum
- Минимальное значение, которое блок может выдать[]
(по умолчанию) | скаляромЗадайте минимальное значение, которое может вывести блок. Simulink использует это минимальное значение для выполнения:
Проверка области значений симуляции. См. «Задание диапазонов сигнала» (Simulink).
Автоматическое масштабирование типов данных с фиксированной точкой.
Output Maximum
- Максимальное значение, которое блок может выдать[]
(по умолчанию) | скаляромЗадайте максимальное значение, которое может вывести блок. Simulink использует это максимальное значение для выполнения:
Проверка области значений симуляции. См. «Задание диапазонов сигнала» (Simulink).
Автоматическое масштабирование типов данных с фиксированной точкой.
Lock data type settings against changes by the fixed-point tools
- Предотвратить переопределение типов данных инструментами с фиксированной точкойoff
(по умолчанию) | on
Выберите этот параметр, чтобы предотвратить переопределение инструментами с фиксированной точкой типов данных, заданных в диалоговом окне блока.
Типы данных |
|
Прямое сквозное соединение |
|
Многомерные сигналы |
|
Сигналы переменного размера |
|
Обнаружение пересечения нулем |
|
Вопрос | Ответ | Рекомендуемые блоки (Блоки ) |
---|---|---|
Сколько сверток вы намерены выполнить? | Много сверток, по одной на каждом временном шаге |
|
Одна свертка за время симуляции |
| |
Как долго ваши входные последовательности? | Обе последовательности имеют конечную длину |
|
Одна последовательность имеет бесконечную (не предопределенную) длину |
| |
Сколько входов являются скалярными потоками? | Ничего |
|
Один или оба |
|
Блок всегда вычисляет свертку двух N-D входных массивов по первой размерности. Когда оба входов являются N-D массивами, размер их первой размерности может различаться, но размер всех других размерностей должен быть равным. Например, когда u Mu N P, массив и v - Mv N P массив, выход (Mu + <reservedrangesplaceholder2>-1) N P массив.
Когда u является Mu -by- N матрицей, а v - Mv -by- N матрицей, выходным y является матрица (Mu + Mv -1) -by- N, чей j й столбец имеет эти элементы
Входы u и v равны нулю при индексации вне допустимых областей значений. Когда оба входов вещественны, выход действителен. Когда один или оба входа комплексны, выход комплексен.
Когда один вход является вектором-столбцом, а другой - N-D массивом, блок независимо свертывает вектор с первой размерности N-D входного массива. Для примера, когда u является Mu -by-1 вектора-столбца а v является Mv-by- N матрицей, выходом является (Mu + Mv -1) -by- N матрица, j-й столбец которой имеет следующие элементы:
Блок Convolution также принимает два вектора-столбца входов. Когда u и v являются векторами-столбцами с длинами Mu и Mv, Convolution блок выполняет векторную свертку с длинами Mu и Mv так, что:
Это выход (M u + M v-1) -by-1 вектора-столбца.
Эта схема показывает типы данных, используемые в блоке Convolution для сигналов с фиксированной точкой (только во временной области).
Можно задать выходы продукта, аккумулятор и типы выходных данных в диалоговом окне блока, как обсуждается в параметры.
Выход умножителя находится в типе выходных данных продукта, когда вход действителен. Когда вход комплексен, результат умножения находится в типе данных аккумулятора. Для получения дополнительной информации о выполнении операции умножения смотрите Типы данных умножения.
Примечание
Когда один или оба входов являются сигналами с фиксированной точкой, все типы внутренних блочных данных являются фиксированной точкой со знаком. Типы данных внутренних блоков являются неподписанными фиксированной точкой только, когда оба входа являются неподписанными сигналами с фиксированной точкой.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.