IT-словарь › Программирование › Блочная свёртка (partitioned convolution)

Блочная свёртка (partitioned convolution)

Программирование Svenska → Обновлено: 2026-10-28

Разбиение длинной импульсной характеристики на блоки, каждый из которых сворачивается через БПФ, — так свёрточная реверберация становится и посильной по ресурсам, и почти безлатентной.

Прямая свёртка требует одного умножения на каждый отсчёт импульсной характеристики на каждый выходной отсчёт: для трёхсекундного собора на 48 кГц это около 144 000 операций на отсчёт. Свёртка через БПФ несравнимо дешевле, но должна дожидаться целого блока, а блок длиной с импульсную характеристику — это секунды задержки.

Решение — нарезать характеристику. С блоками равного размера задержка равна одному блоку, а спектры, уже посчитанные для прежних блоков, можно использовать повторно. Билл Гарднер в 1995 году показал, как дойти до нуля: самое начало характеристики сворачивается напрямую как КИХ-фильтр, а каждый следующий участок вдвое длиннее предыдущего. На том или ином варианте этой схемы работает всё — от Altiverb до браузерного ConvolverNode.

← Назад к словарю