Проблема кратковременных выбросов
Основная задача компрессора состоит в том, чтобы усиливать тихие сигналы больше, чем громкие. Это означает, что, если уровень сигнала внезапно повысился, компрессор должен отреагировать и уменьшить усиление. Однако из-за того, что он заранее «не знает», когда именно сигнал станет громче, обычный компрессор допустит выброс сигнала. То есть прежде, чем прибор отреагирует на скачок, и уровень будет понижен, в течение очень короткого времени сигнал будет слишком громким – произойдет выброс.
Простейший случай такого выброса проиллюстрирован на рис. 8.8. В верхней части изображения (рис. 8.8, а) показана ситуация, когда уровень синусоидального входного сигнала внезапно повысился на 10 дБ, т. е. примерно в 3 раза относительно нормального уровня (на рисунке схематично изображена только огибающая сигнала). Предположим, что компрессор при этом должен ликвидировать этот скачок, понизив уровень до 6 дБ (на 4 дБ). На рис. 8.8, б изображена схема сигнала, который в идеале должен получиться после работы компрессора. Однако в действительности компрессор естественно запаздывает, в результате чего и происходит кратковременный выброс в 4 дБ по модулю (рис. 8.8, в).
а) б) в)
Рис. 8.8. «Выброс» компрессора: а) огибающая входного сигнала; б) желаемый результат работы компрессора; в) реальный результат работы компрессора
Очевидно, выбросы на высокоуровневых сигналах могут привести к перегрузкам и заметным искажениям звука. Их длительность зависит от того, сколько времени нужно компрессору, чтобы среагировать (т. е. от, так называемого, времени атаки).
На первый взгляд, проблема выбросов сигнала может быть решена путем уменьшения времени атаки до минимума, когда выбросы станут незаметными. Чтобы понять, будет ли такая схема работать, необходимо рассмотреть компрессор как амплитудный модулятор.
Когда единичная синусоида каким-то образом подвергается воздействию (например, изменяется ее амплитуда), она перестает быть единичной. Появляется спектрально более сложный сигнал, содержащий несколько частот. Чем сильнее воздействие на синусоиду, тем больше появляется дополнительных частот – боковых полос. Кроме того, чем выше скорость возмущения, тем дальше от изначальной частоты будут располагаться эти боковые полосы. Это – принцип амплитудной модуляции (АМ) в радиовещании, и он полностью применим к работе компрессора. Компрессирование повышает уровень входного сигнала, эквивалентного несущей частоте в АМ-вещании. Из-за того, что амплитуда каждого частотного компонента изменяется, к сигналу добавляются боковые полосы.
На рис. 8.9 схематически показан результат влияния управляющего напряжения на вид сигнала после изменения его уровня (спектр сигнала управляющего напряжения показан в нижней левой части рисунка). Если входной сигнал имеет частоту 10 кГц, выходной сигнал помимо той же частоты 10 кГц будет содержать боковые полосы, имеющие такую же форму, как и спектр управляющего напряжения. Каждый другой компонент входного сигнала будет иметь добавленные таким же образом боковые полосы. Если необходимо произвести уменьшение уровня до 6 дБ, сумма энергий сигналов высокочастотных боковых полос будет равна примерно 25 % от уровня энергии всего выходного сигнала. Такой же будет и сумма энергий дополнительных низкочастотных колебаний. Таким образом, изменяя уровень сигнала, компрессор вносит 50 % модуляционных искажений.
Выше было упомянуто, что чем больше скорость возмущения сигнала (и, соответственно, меньше время атаки компрессора), тем дальше от начальной частоты будут располагаться боковые полосы. Если время атаки слишком продолжительно – например десятки миллисекунд – сигнал управления усилением будет состоять только из низких частот. Таким образом, каждая пара боковых полос близка к соответствующей компоненте входной частоты (рис. 8.9). Как отмечалось выше, низкоуровневые нежелательные составляющие, близко расположенные к нужным компонентам, маскируются. Получается, что из-за медленной атаки компрессора происходит заметный выброс, но работа самого прибора при этом почти не слышна.
Если атака быстрая, сигнал контроля уровня содержит высокие частоты (рис. 8.10). Боковые полосы распространяются на большое расстояние от частот входного сигнала и вполне могут быть не маскированы. Действительно, из-за того, что кратковременные искажения происходят во время уменьшения уровня и состоят из компонентов частот, широко распределенных по всему спектру, к сигналу при его изменении по уровню обычно добавляется слышимый щелчок. Таким образом, при малом времени атаки выброс почти не заметен, но отчетливо слышна работа компрессора (появляются хорошо заметные щелчки).
Рис. 8.9. Большое время атаки
Таким образом, для обычного компрессора/лимитера выбор времени атаки является компромиссом между искажениями, вызванными выбросами, и щелчками, возникающими от работы самого прибора.
Можно предположить, что с дополнительной системой шумоподавления щелчки, вызванные стремительной атакой, можно устранить – все помехи от первой системы будет подавлять вторая. Однако для реализации этой идеи потребуется экспандер, который может генерировать одинаковые боковые полосы со строго противоположной полярностью. Щелчки будут устранены только в том случае, если в экспандер поступят именно те боковые полосы, которые сгенерирует компрессор. К сожалению, в реальности среда всегда вносит искажения в сигнал (например, изменение полосы пропускания и/или фазовые сдвиги). В результате, экспандер получает немного измененный сигнал и, следовательно, будет генерировать «неправильные» боковые полосы, которые не смогут компенсировать боковые полосы, образовавшиеся при компрессировании. Таким образом, используя две системы шумоподавления, решить проблему описанных выше искажений не получится.
Рис. 8.10. Малое время атаки
Искажений можно избежать путем комбинации нескольких приемов.
Первое. Выбросы низко- и среднеуровневых сигналов не перегрузят ни один из компонентов тракта, идущих после компрессора. Иными словами, такие выбросы вполне допустимы в сигнале, а значит, можно устанавливать продолжительное время атаки (десятки миллисекунд) и, соответственно, избежать модуляционных искажений.
Однако для высокоуровневых сигналов необходимо устанавливать время атаки, точно соответствующее характеру сигнала. Поэтому вторая мера, направленная на устранение искажений, состоит в том, чтобы минимизировать выбросы на высокоуровневых сигналах. Как известно, выбросы возникают только когда компрессор уменьшает уровень звука. Это означает, что для громких сигналов уровень усиления компрессора можно зафиксировать и вообще избежать выбросов.
В-третьих, можно ограничить скорость атаки только для тех случаев, когда результирующие модуляционные искажения будут маскированы. Для этого нужно выбрать время атаки, соответствующее спектру сигнала.
Еще одним методом является переключение уровня при переходе через ноль (Zero-crossing). Метод не предотвращает полностью появления щелчков при малом времени атаки. Такое переключение позволило бы устранить возможную отсечку кривой. Однако эта отсечка может все еще присутствовать при спаде. Получающаяся при этом помеха будет меньшей по уровню, но по-прежнему широкополосной.
Это явление легко обнаружить с помощью генератора импульсов, который позволяет менять точку переключения. Если послушать импульс на частоте, к примеру, 100 Гц, он останавливается и начинается с ясно слышимого щелчка, даже если начало и конец импульса находятся в точке Zero-crossing. Щелчок может быть устранен только путем растягивания начала и конца импульса на несколько периодов колебаний (т. е. имитированием медленной атаки).