Гибридный реверберационный алгоритм
Аннотация
Дата поступления статьи: 14.06.2013В данной статье предложен гибридный алгоритм моделирования реверберации, использующий как свёртку с реальным откликом помещения, так и математические модели реверберации. Также в статье приводится алгоритм генерирования импульсных характеристик заданного помещения. Возможно использование данного алгоритма для имитации трехмерного акустического пространства.
Ключевые слова: реверберация, сверточный алгоритм, моделирование ранних отражений, маделирование хвоста реверберации, синтез импульсных характеристик.
05.12.04 - Радиотехника, в том числе системы и устройства радионавигации, радиолокации и телевидения
При создании фонограмм различного назначения, в особенности музыкальных, важной задачей является передача звучания в акустическом пространстве, которым может являться как большой концертный зал, так и маленькая звукозаписывающая студия. Как известно, субъективное ощущение пространства при прослушивании возникает лишь тогда, когда запись сигнала содержит реверберационную составляющую. Но высококачественная запись в реальных, незаглушенных помещениях – сложная, а иногда и невыполнимая задача. В технике широко используются ревербераторы – устройства или вычислительные комплексы, имитирующие реверберацию.
Как правило, задача большинства существующих ревербераторов, как вычислительных, так и выполненных в виде электронных устройств – не имитация конкретной акустической среды, а выполнение некоторых художественных задач при обработке акустических (например, музыкальных) сигналов, предварительно записанных в заглушенном помещении. Исключением является алгоритм свёрточной реверберации, представляющий собой свёртку импульсной характеристики конкретного помещения с исходным сигналом. Однако этот реверберационный алгоритм не обладает гибкостью, т.к. в принципе имитирует лишь отклик комнаты, заданный используемой импульсной характеристикой [1].
В данной статье предлагается алгоритм гибридного свёрточного ревербератора, позволяющего моделировать произвольное акустическое пространство при умеренных вычислительных затратах.
Любой реверберационный сигнал можно условно разделить на две составляющие: ранние и поздние отражения, фиксируемые относительно прямого сигнала. Условной границей между ними принято считать задержку, равную 100 мс. При этом поздние отражения – от 100 мс до полного затухания сигнала – представляют собой сумму большого числа диффузных отражений, имеющих различные траектории распространения. Как показывают экспертные оценки, именно поздние отражения в наибольшей степени характеризуют пространственные параметры помещения, в то время как ранние влияют на общую естественность воспроизведения сигнала [2].
В предлагаемом алгоритме процесс имитации реверберации разделяется на две части:
- Имитация ранних отражений с помощью импульсных характеристик, записанных в реальных помещениях или сгенерированных при помощи приведённого ниже алгоритма.
- Имитация поздних отражений с помощью массива гребенчатых фильтров.
Предполагается, что такой гибридный алгоритм позволит добавить сразу несколько степеней свободы управления реверберационным сигналом. Очевидно, что свёртка исходного сигнала с импульсной характеристикой данного помещения даст субъективно более реалистичный результат, чем использование, например, линии задержки с отводами (Алгоритм Мурера [3]). При этом данный алгоритм позволяет изменять характеристики моделируемого помещения посредством изменения параметров гребенчатого фильтра, регулирующих размер виртуального помещения, положение источника звукового сигнала в комнате, положение слушателя и т.д.
Данный метод целесообразно использовать и для снижения вычислительных затрат при выполнении свёртки, поскольку длительность импульсной характеристики может выбираться в пределах 100мс, так как она используется лишь для имитации ранних отражений [4].
Таким образом, реализация данного алгоритма производится следующим образом:
- для имитации ранних отражений выполняется свёртка исходного сигнала с импульсной характеристикой реального помещения или заранее сгегенированной импульсной характеристикой (для увеличения производительности алгоритма используется свёртка в частотной области)
- выполняется моделирование поздних отражений с помощью алгоритма, представляющего собой развитие ревербератора Шредера, построенного на основе гребенчатых фильтров. Чтобы учесть временные соотношения и повысить достоверность результирующего сигнала, на вход ревербератора Шредера подаётся сигнал, полученный в результате свёртки.
Второй этап алгоритма включает в себя следующие элементы:
- параллельные гребенчатые фильтры, за которыми располагаются ФНЧ первого порядка. Характеристики этих фильтров обеспечивают плавное нарастание спада высокочастотных составляющих сигнала с течением времени.
- фазовые фильтры для увеличения плотности реверберационного «хвоста».
Рассмотрим подробнее алгоритм генерирования импульсных характеристик заданного помещения [5].
Введём следующие величины:
xs – х-координата источника звукового сигнала
xr – линейный размер комнаты по оси x
xm – координата точки приема сигнала
тогда можно написать выражение для длины траектории отраженного сигнала, принятого в точке xm.
(1)
Аналогично будут выглядеть выражения для длин траекторий этого сигнала по y и z-осям.
(2)
(3)
Полная длина траектории в трехмерном пространстве будет рассчитываться следующим образом:
(4)
Таким образом, время прихода отражённого сигнала в точку приёма будет рассчитываться по следующей формуле:
(5)
Далее необходимо учесть степень ослабления сигнала.
Введём коэффициент ослабления по расстоянию:
(6)
Если принимать коэффициенты отражений от каждой из стен помещения равными, то можно ввести коэффициент отражения kw, возведенный в степень n, где n=|i|+|j|+|k| - общее количество отражений. Введем понятие полного коэффициента отражений [6].
В том случае если каждая из стен имеет различный коэффициент отражения, ситуация несколько усложняется. В этой связи в рамках данной статьи ее рассмотрение не является целесообразным.
Представим полный алгоритм ревербератора в виде блок-схемы (Рис. 1)
Рис. 1. – Блок-схема предлагаемого алгоритма
Рассмотрим более подробно первый этап: имитацию ранних отражений с помощью свёртки. Данная задача является чисто вычислительной. Как правило, используемая вычислительная мощность существенно возрастает с увеличением длины исходного сигнала, что значительно усложняет использование такого алгоритма в реальном времени [7]. Поэтому предлагается применить несколько более сложный сверточный алгоритм, основанный на разделении сигнала во временной области на более короткие составляющие и перемножение их в частотной области с последующим переходом во временную область. При этом выходной сигнал можно представить следующим образом:
, (7)
где: х(n) – входной сигнал во временной области,
y(n) – входной сигнал во временной области,
Исходный сигнал делится на части, каждая из которых сворачивается с h(n). Пусть x(n) содержит Nx отсчётов, а h(n) - Nh = N+1 отсчётов (Nx>Nh). Тогда процедура выглядит следующим образом:
- h(n) дополняется нулями до длины 2N = 2(Nh-1).
- выполняется БПФ дополненного нулями фильтра, в результате получаем H(k), где k = 0, 1, 2 … N – 1,
- исходный сигнал x(n) разделяется на сегменты xi(n), имеющие длину N. Каждый из этих сегментов дополняется нулями до длины 2N.
- выполняется БПФ каждого дополненного нулями сегмента. В итоге получаем Xi(k), где k = 0, 1, 2 … 2N - 1.
- производится перемножение в частотной области:
(8)
- производится ОБПФ каждого Yi(k)
- результаты свёртки складываются. В результате получаем выходной сигнал y(n), длина которого составляет Nx + Nh – 1.
Оценим количество операций, выполняемых при этих преобразованиях. Будем учитывать только операции умножения, как наиболее громоздкие в вычислительном отношении. Количество операций БПФ для выборки длиной n, где n=2m, m – целое число: 2
Учитывая разбиение входного сигнала на M частей по N отсчётов, и рассматривая общее выражение для выходного сигнала, можно записать общее количество операций умножения, необходимое для получения результата:
(9)
При этом перемножение нулевых отсчётов не учитывалось, поскольку операция умножения на ноль практически не требует вычислительных затрат [8].
Рассмотрим более подробно второй этап: имитацию поздних отражений с помощью алгоритма реверберации поздних отражений, включающего в себя набор параллельных гребенчатых фильтров с последующими фазовыми фильтрами и ФНЧ.
Ранние отражения, полученные на первом этапе, далее поступают в массив параллельных гребенчатых фильтров.
Параллельные гребенчатые фильтры с обратной связью увеличивают плотность отдельных копий сигнала, полученных из линии задержки, имитируя увеличение количества отдельных отражений.
Гребенчатые фильтры с обратной связью характеризуются следующим разностным уравнением:
, (10)
где с – коэффициент усиления сигнала
g – коэффициент отрицательной обратной связи
M - длительность (количество отчётов) задержки
Как правило, с = 1. Тогда передаточная функция гребенчатого фильтра будет выглядеть следующим образом:
(11)
Соответственно, его АЧХ будет выглядеть следующим образом:
(12)
Рис. 2. – АЧХ и импульсная характеристика гребенчатого фильтра, использующегося в алгоритме
Как показано на Рисунке 1, за массивом гребенчатых фильтров расположены фазовые фильтры. Их назначение – также повысить «плотность» отражённого сигнала при имитации поздних отражений [9].
Рис. 3. – АЧХ и импульсная характеристика фазового фильтра при g=0,5 и М=1
ФНЧ осуществляют плавный частотный спад реверберационного сигнала, что придаёт дополнительную окраску сигналу [10]. Параметры алгоритма подбирались вручную экспериментальным путём.
Рис. 4. – АЧХ и импульсная характеристика гребенчатого фильтра с последовательно подключенным ФНЧ первого порядка.
Описанный в статье гибридный реверберационный алгоритм опирается на известные вычислительные процедуры, и требует относительно небольших вычислительных затрат. Помимо этого, он обладает гибкостью при имитации отклика различных помещений и, как ожидается, естественностью передачи исходного сигнала. Таким образом, данный алгоритм может быть применён в звукозаписывающей практике с целью повышения достоверности сигнала, воспринимаемого слушателем, а также для достижения различных художественных эффектов.
Литература:
1. И.А. Кириченко, И.Б. Старченко. Принцип адаптивного подхода к управлению характеристиками акустических систем [электронный ресурс] // – «Инженерный вестник Дона», 2011, №4. – Режим доступа: http://ivdon.ru/magazine/archive/n4y2011/553 – Загл. с экрана. – Яз. рус.
2. Zölzer U. DAFX // John Wiley & Sons. West Sussex. – 2002. – 554 p.
3. Toma, N., Topa, M.D., Popescu, V., Szopos, E. Comparative Performance Analysis of Artificial Reverberation Algorithms // IEEE Automation, Quality and Testing, Robotics. – 2006. – Vol. 1. – P. 138–142.
4. Toma, N., Topa, M., Szopos, E. Aspects of reverberation algorithms // ISSCS International Symposium on Signals, Circuits and Systems. – 2005. – Vol. 2. – P. 577–580.
5. Campbell, D. RoomSim acoustic toolbox for MatLab // IEEE CS Tech. Com. On Computer Generated Music. – 2007. – Vol.1. – P.120–126.
6. McGovern, Stephen G. A Model for Room Acoustics [электронный ресурс] // – University of Victoria, 2004. – Режим доступа: http://www.sgm-audio.com – Загл. с экрана. – Яз. англ.
7. Smith, W. The Scientist and Engineer’s Guide to Digitial Signal Processing [электронный ресурс] // 2007. – Режим доступа: http://www.dspguide.com – Загл. с экрана. – Яз. англ.
8. А.Г. Тимошенко, Ю.В. Круглов, К.М. Ломовская, Е.О. Белоусов, А.В. Солодков. Особенности проектирования схем для исследования интегральных антенн [электронный ресурс] // – «Инженерный вестник Дона», 2011, №3. – Режим доступа: http://ivdon.ru/magazine/archive/n3y2011/476 – Загл. с экрана. – Яз. рус.
9. Smith, J. Spectral Audio Signal Processing // Center for Computer Research in Music and Acoustics (CCRMA). Stanford, California. – 2010. – 235 p.
10. W. G. Gardner. 3D Audio and Acoustic Environment Modeling // Wave Arts, Inc. – 1999. – 109 p.