Свертка двух входов
Панель инструментов системы DSP/Операции с сигналами
Блок свертки свертывает первый размер N-D входной матрицы u с первым размером N-D входной матрицы v. Блок также может свертывать вектор столбца с первым размером N-D входной матрицы.
Общее уравнение для свертки:
) v (k)
Два блока Toolbox™ системы DSP могут использоваться для свертки двух входных сигналов:
Скручивание
Дискретный фильтр FIR (Simulink)
Блок свертки предполагает, что все элементы 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 - Блок вычисляет в области, которая минимизирует количество вычислений.
Сигналы с фиксированной точкой поддерживаются только во временной области. При вводе сигналов с фиксированной точкой убедитесь, что для параметра области вычислений установлено значение Time.
Rounding mode - Метод операции округленияFloor (по умолчанию) | Ceiling | Convergent | Nearest | Round | Simplest | ZeroУкажите режим округления для операций с фиксированной точкой как одно из следующих:
Floor
Ceiling
Convergent
Nearest
Round
Simplest
Zero
Дополнительные сведения см. в разделе Режимы округления.
Примечание
Режим Округления (Rounding) и Сатурат (Saturate) для параметров переполнения целых чисел не влияют на числовые результаты при выполнении всех этих условий:
Тип выходных данных продукта: Inherit: Inherit via internal rule.
Тип данных аккумулятора: Inherit: Inherit via internal rule.
Тип выходных данных: Inherit: Same as accumulator.
С этими настройками типа данных блок работает в режиме полной точности.
Saturate on integer overflow - Метод действия переполненияoff (по умолчанию) | onПри выборе этого параметра блок насыщает результат операции с фиксированной точкой. При сбросе этого параметра блок переносит результат операции с фиксированной точкой. Дополнительные сведения о насыщении и переносе см. в разделе Передача по переполнению для операций с фиксированной точкой.
Примечание
Режим Округления (Rounding) и Сатурат (Saturate) для параметров переполнения целых чисел не влияют на числовые результаты при выполнении всех этих условий:
Тип выходных данных продукта: Inherit: Inherit via internal rule.
Тип данных аккумулятора: Inherit: Inherit via internal rule.
Тип выходных данных: Inherit: Same as accumulator.
С этими настройками типа данных блок работает в режиме полной точности.
Product output - Тип выходных данных продуктаInherit: Inherit via internal rule (по умолчанию) | Inherit: Same as first input | fixdt([],16,0)Вывод продукта определяет тип данных вывода операции продукта в блоке свертки.
Inherit: Inherit via internal rule - блок наследует тип выходных данных продукта на основе внутреннего правила. Дополнительные сведения об этом правиле см. в разделе Наследование через внутреннее правило.
Inherit: Same as first input - Блок определяет тип выходных данных продукта, который должен совпадать с первым типом входных данных.
fixdt([],16,0) - Блок задает тип данных с автозаписью, двоичной точкой, масштабированием, фиксированной точкой с длиной слова 16 бит и длиной дроби 0.
Кроме того, можно задать тип выходных данных продукта с помощью помощника по типам данных. Для использования помощника нажмите кнопку 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 указывает тип данных выхода операции накопления в блоке свертки.
Inherit: Inherit via internal rule - блок наследует тип данных накопителя на основе внутреннего правила. Дополнительные сведения об этом правиле см. в разделе Наследование через внутреннее правило.
Inherit: Same as first input - Блок определяет тип данных накопителя, который должен совпадать с первым типом входных данных.
Inherit: Same as product output - Блок определяет тип данных накопителя, который должен совпадать с типом выходных данных продукта.
fixdt([],16,0) - Блок задает тип данных с автозаписью, двоичной точкой, масштабированием, фиксированной точкой с длиной слова 16 бит и длиной дроби 0.
Кроме того, тип данных Accumulator можно задать с помощью помощника по типам данных. Для использования помощника нажмите кнопку Show data type assistant
.
Дополнительные сведения об помощнике по типам данных см. в разделе Указание типов данных с помощью помощника по типам данных (Simulink).
Схематическое представление использования типа данных накопителя в этом блоке см. в разделе Преобразование фиксированных точек в расширенных возможностях.
Output - Тип данных выводаInherit: Same as accumulator (по умолчанию) | Inherit: Same as input | Inherit: Same as product output | fixdt([],16,0)Output указывает тип данных вывода блока свертки.
Inherit: Same as accumulator - Блок определяет тип выходных данных, который должен совпадать с типом данных накопителя.
Inherit: Same as first input - Блок определяет тип выходных данных, который должен совпадать с первым типом входных данных.
Inherit: Same as product output - Блок определяет тип выходных данных, который должен совпадать с типом выходных данных продукта.
fixdt([],16,0) - Блок задает тип данных с автозаписью, двоичной точкой, масштабированием, фиксированной точкой с длиной слова 16 бит и длиной дроби 0.
Кроме того, можно задать тип выходных данных с помощью помощника по типам данных. Для использования помощника нажмите кнопку 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-by-N-by-P, а v является массивом Mv-by-N-by-P, выходной сигнал является массивом (Mu + Mv-1) -by-N-by-P.
Когда u является матрицей Mu-by-N и v является матрицей Mv-by-N, выходной y является матрицей (Mu + Mv-1) by-N, j-й столбец которой имеет эти элементы.
(Mu + Mv − 2)
Входы u и v равны нулю при индексировании вне допустимых диапазонов. Когда оба входа вещественные, выход действительный. Когда один или оба входа являются комплексными, выход является комплексным.
Когда один вход является вектором столбца, а другой - N-D массивом, блок независимо свертывает вектор с первым размером N-D входного массива. Например, когда u является вектором Mu-by-1 столбца, а v является матрицей Mv-by-N, выходной сигнал представляет собой матрицу (Mu + Mv-1) -by-N, j-й столбец которой имеет следующие элементы:
(Mu + Mv − 2)
Блок свертки также принимает два ввода векторов столбцов. Когда u и v являются векторами столбцов с длинами Mu и Mv, блок свертки выполняет свертку вектора с длинами Mu и Mv так, что:
(Mu + Mv − 2)
Выходной сигнал представляет собой вектор столбца (Mu + Mv-1) -by-1.
На этой схеме показаны типы данных, используемые в блоке свертки для сигналов с фиксированной точкой (только во временной области).

В диалоговом окне блока можно задать типы выходных данных продукта, накопителя и выходных данных, как описано в разделе «Параметры».
Выходной сигнал множителя находится в виде выходных данных произведения, когда входной сигнал является реальным. Когда входной сигнал является сложным, результат умножения находится в накопительном типе данных. Дополнительные сведения о том, как выполняется операция умножения, см. в разделе Типы данных умножения.
Примечание
Когда один или оба входных сигнала являются сигналами фиксированной точки, все типы данных внутреннего блока являются фиксированными точками. Внутренние типы блочных данных являются неназначенными фиксированными точками, только если оба входа являются неназначенными фиксированными сигналами.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.
