Около десяти лет назад в компьютерный лексикон вошло слово «мультимедиа», а в последнее время ПК все чаще используется в качестве домашнего развлекательного центра. И в том и в другом случае компьютер должен воспроизводить звук, который, как нетрудно догадаться, существует в нем лишь в цифровой форме. И если с появлением первой транзисторной техники бурно обсуждался и обрастал мифами и легендами феномен «транзисторного звучания», якобы уступавшего «ламповому», то сегодня не меньше заблуждений связано с цифровым звуком, который будто бы обязательно хуже аналогового. Впрочем, нередко считается, что компьютерная обработка сигнала, напротив, заведомо лучше. Итак, что же такое цифровой звук и чем он уступает аналоговому или превосходит его?

С точки зрения человека звук – это колебания воздуха с частотой примерно от 16 Гц до 20 кГц. Более низкие частоты (при достаточной амплитуде) воспринимаются человеком не как звук, а как вибрация. Более высокие – вообще не улавливаются. Верхняя граница частотного диапазона зависит от возраста: у маленьких детей она достигает 22–24 кГц, а со временем постепенно снижается до 8–12 кГц. Таким образом, человеческое ухо способно слышать сигналы очень широкой полосы частот. Для сравнения: глаз может воспринимать цвет лишь в диапазоне, охватывающем изменение частоты электромагнитных колебаний менее чем в 2 раза. Разумеется, не все частоты одинаково важны. Например, для обеспечения разборчивости речи достаточно диапазона от 500 до 3500 Гц. Но для прослушивания музыки или звукового сопровождения к фильму этого мало. В идеале звуковое поле в зоне прослушивания должно быть неотличимо от звукового поля в зоне записи. То есть весь аудиотракт – от студийного микрофона до бытового громкоговорителя – не должен вносить искажений, находящихся в границах разрешения слухового анализатора человека.

Тот звук, который воспринимают наши уши при воспроизведении цифровой записи, предварительно прошел целый ряд трансформаций:

1) электромеханическое преобразование колебаний воздуха в электрический сигнал;

2) усиление и обработку аналогового электрического сигнала (частотную коррекцию, добавление реверберации и т. д.), микширование;

3) аналого-цифровое преобразование;

4) цифровую обработку сигнала - частотную коррекцию, микширование, мастеринг и проч.;

5) хранение или передачу оцифрованного звука;

6) цифровую обработку сигнала - частотную коррекцию, регулировку громкости, передискретизацию;

7) цифро-аналоговое преобразование;

8) обработку аналогового сигнала (частотную коррекцию, микширование, добавление реверберации и т. д.);

9) усиление аналогового сигнала;

10) электромеханическое преобразование колебаний электрического тока в звуковые колебания.

При обработке аналогового сигнала в студии нередко используются приборы с аналоговым интерфейсом и цифровой «начинкой», так что цепочка аналого-цифровых и цифро-аналоговых преобразований может быть значительно длиннее.

Первые четыре этапа чаще всего осуществляются на студийной аппаратуре, имеющей несравнимо более высокие показатели, чем бытовая. Поэтому, хотя искажения и неизбежны, будем считать, что они пренебрежимо малы по сравнению с искажениями аналогичной природы, вносимыми бытовой аппаратурой на последних пяти этапах. При любительской записи звука следует считаться с наличием дополнительных искажений на первых этапах, которые будут описаны ниже.

Электромеханическое преобразование производится, как правило, студийным микрофоном. Это устройство генерирует очень слабый сигнал, нуждающийся в усилении, и, кроме того, чрезвычайно подвержено механическим воздействиям. Даже при идеальных условиях, скажем, в концертном зале, из-за акустических шумов динамический диапазон звучащей музыки может быть б?уже максимального динамического диапазона, обеспечиваемого 16-разрядным представлением звука.

Сигнал, записанный с нескольких микрофонов, неизбежно подвергается обработке: подбираются необходимые уровни громкости разных каналов, фильтрами отсекаются шумы и т. д. Помимо этого, обычно сжимается динамический диапазон сигнала. Последняя операция приводит к существенному увеличению уровня шума, но без нее на бытовой аппаратуре среднего класса запись звучала бы неудовлетворительно – в первую очередь слишком тихо.

Искажения, вносимые звуковым трактом, имеют разнообразную физическую природу и самые разные проявления, но все-таки их можно разделить на три основные группы.

Рис. 1. Связь между АЧХ и диапазоном воспроизводимых частот

Линейные искажения определяются амплитудно-частотной характеристикой (АЧХ) звукового тракта, которая представляет собой зависимость коэффициента передачи от частоты сигнала. Частота при этом измеряется в герцах, а амплитуда – в децибелах (дБ). Децибел – логарифмическая единица, соответствующая изменению мощности примерно на 26%. Предел разрешающей способности человеческого уха составляет около 1 дБ. Идеальная АЧХ имеет вид прямой горизонтальной линии. Практически любая реальная АЧХ имеет «завалы» как в верхней, так и в нижней областях спектра. Существует связанная с АЧХ характеристика – диапазон воспроизводимых частот. Это диапазон, в котором отклонение АЧХ от идеальной не превосходит по абсолютной величине заданного значения (рис. 1). В теоретических расчетах границей обычно считается +3 дБ, что соответствует изменению мощности в 2 раза, но на практике зачастую используют и другие значения, например +1,5 дБ (1,4 раза) для электронных приборов – усилителей, или +15 дБ (32 раза) – для электромеханических преобразователей – микрофонов и громкоговорителей. Поэтому обюявление лишь диапазона без указания допустимого отклонения ни о чем не говорит.

Рис. 2. Исходный сигнал частотой 1 кГц
Рис. 3. Одностороннее ограничение сигнала
Рис. 4. Симметричное ограничение сигнала

Нелинейные искажения чрезвычайно разнообразны. Они характеризуются изменением формы сигнала и, как следствие, появлением в спектре частот, кратных частотам полезного сигнала. К ним относятся гармонические искажения, когда к полезному сигналу добавляются частоты, кратные основной, и интермодуляционные, когда в многочастотном сигнале появляются суммарно-разностные частоты. Гармонические искажения возникают, например, при ограничении сигнала, связанном с перегрузкой. Осциллограмма и спектр сигнала при одностороннем и симметричном ограничении показаны на рис. 3 и 4, а исходный сигнал – на рис. 2. В первом случае к основной частоте 1 кГц добавляются все кратные ей: 2 кГц, 3 кГц, 4 кГц... nБ??f (где f – исходная частота, n – целое). Во втором – только нечетные: 3 кГц, 5 кГц, 7 кГц... (2n+1).f. Следует сказать, что нечетные гармоники сильнее режут слух и более неприятны, чем четные. Однако в целом сами по себе гармонические искажения не слишком заметны и не так портят сигнал благодаря эффекту маскировки. Но дело в том, что с ними непосредственно связаны интермодуляционные искажения, возникающие, когда в полезном сигнале присутствует несколько частотных составляющих. Тогда, если в сигнале имелись частоты f1 и f2 (рис. 5), то в спектре появятся составляющие с частотами nБ??f1+mБ??f2, где n и m – целые числа (рис. 6). Существуют и другие виды нелинейных искажений.

Рис. 5. Исходный сигнал с частотами 1 и 7,2 кГц
Рис. 6. Сигнал с интермодуляционными искажениями

Помехи никак не связаны с наличием и характеристиками полезного сигнала. К наиболее широко распространенным типам помех следует отнести шум различной природы, возникающий в электронных приборах (рис. 7), и фон – проникновение в звуковой тракт частоты питающего напряжения, а также электромагнитных наводок от работающих электроприборов. В компьютере же источников всевозможных помех, передаваемых как посредством электромагнитных полей, так и по цепям питания, на единицу обюема приходится больше, чем в любом другом устройстве (исключая, возможно, рабочую зону ядерного реактора): процессор, набор микросхем, оперативная память, видеоплата, сетевой контроллер, блок питания, электромоторы дисковых накопителей и вентиляторов и т. д.

Рис. 7. Сигнал на фоне белого шума

Все рассмотренные выше виды искажений возникают исключительно в аналоговых цепях. При хранении и передаче цифрового сигнала их нет. Поэтому пытаться снять амплитудно-частотную характеристику с цифровых входов/выходов, что порой практикуется в некоторых околокомпьютерных изданиях, – занятие абсолютно бесперспективное. Нет у цифрового звука такого параметра, как АЧХ. Однако не все носители хорошо защищены от потери информации. Например, каждый второй сходящий с конвейера компакт-диск в формате CD-DA имеет дефекты поверхности, приводящие к потере данных. В процессе эксплуатации появляются новые повреждения.

Преобразование сигнала в цифровую форму – довольно серьезная операция, с которой также связан целый букет искажений. Но прежде чем анализировать наиболее характерные из них, остановимся на различии между цифровым и аналоговым способами представления сигнала.

Цифровой звук чем-то напоминает кино. В фильме окружающий мир фотографируется с частотой 25 раз в секунду из определенной точки пространства, а затем полученная последовательность кадров проецируется на экран. Цифровой звук по сути представляет собой запись показаний цифрового барометра в определенной точке пространства с частотой несколько тысяч раз в секунду. Только записывается не полное давление, а его отклонение от атмосферного, поэтому получается знакопеременная величина: зоны сжатия чередуются с зонами разрежения.

Рис. 8. Изменение спектра сигнала при дискретизации

Аналоговая форма представления звукового сигнала естественным образом повторяет то, что происходит в природе: напряжение плавно меняется со временем или расстоянием, насколько возможно повторяя изменение звукового давления в той точке пространства, где установлен микрофон. Аналоговый сигнал непрерывен. Цифровой – дискретен. С определенной частотой измеряется мгновенное значение звукового давления, и только в эти моменты и производится запись. Если за время между измерениями сигнал существенно изменился, то это приведет к потере или искажению информации. По теореме Котельникова – Найквиста, для оцифровки звука необходимо применять частоту дискретизации (частоту, с которой производятся измерения) не менее удвоенной верхней частоты рабочего диапазона. Это связано с тем, что при оцифровке сигнала изменяется его спектр (рис. 8). Непременное условие адекватной работы аналого-цифрового преобразователя (АЦП) – отсутствие частотных составляющих, превосходящих половину частоты дискретизации. Так как на практике это условие никогда не выполняется, приходится применять весьма громоздкие и дорогостоящие фильтры высокого порядка для подавления «нежелательных» частот. Экономия на фильтрах приводит к появлению «зеркальных» частот – своеобразного вида интермодуляционных искажений, в качестве одной из частот которого выступает сама частота дискретизации. Если 14-кГц сигнал при оцифровке с частотой 44 кГц будет передан без искажений (рис. 9), то при 22 кГц появится паразитный пик с частотой f=22 050 б- 14 000 = 8050 Гц (рис. 10).

Рис. 9. Сигнал 14 000 Гц, оцифрованный с частотой 44 100 Гц
Рис. 10. Сигнал 14 000 Гц, оцифрованный с частотой 22 050 Гц

Дискретность цифрового сигнала проявляется не только в частотной, но и в амплитудной области. Любое измеренное значение также подвергается дискретизации – округлению до ближайшего целого числа (рис. 11). В результате к значению каждого отсчета добавляется ошибка округления (квантования), равная значению отброшенной дробной части. Эта ошибка – не что иное, как особый вид искажений, присущий только цифровой технике. Естественно, ее величина напрямую зависит от количества уровней, которые может принимать цифровой сигнал. А оно связано с разрядностью:

K=2N,

где N – количество разрядов в цифровом представлении сигнала.

Рис. 11. Аналого-цифровое преобразование сигнала

При аналого-цифровом преобразовании спектр искажений, вызванных ошибками квантования, близок к спектру белого шума, поэтому такой вид искажений обычно называют шумом дискретизации (шумом квантования). Отношение сигнал/шум, т. е. динамический диапазон сигнала, в этом случае может быть вычислено по формуле:

S=R+6,02Б??N

дБ,

где R – величина, зависящая от формы сигнала и лежащая в диапазоне от б-15 до +2 дБ. Для синусоидального сигнала она равна +1,7 дБ (что обычно и указывается в спецификации), для среднего звукового сигнала чаще находится вблизи нижней границы указанного диапазона.
Рис. 12. 1-Гц сигнал в 8-разрядном представлении

На рис. 12 и 13 показано, как выглядит спектр сигнала (см. рис. 2) после оцифровки в 8- и 16-разрядном представлении соответственно.

Рис. 13. 1-Гц сигнал в 16-разрядном представлении

Итак, можно сделать вывод, что частота дискретизации влияет в основном на ширину частотного диапазона, а разрядность – на величину динамического.

Разумеется, помимо недостатков цифровые технологии имеют и достоинства. Это, во-первых, получение однозначных и точных оценок динамического или частотного диапазонов на основе базовых характеристик тракта, а во-вторых, – возможность практически неограниченного повышения качества сигнала довольно простыми средствами. Например, только увеличением разрядности звуковых отсчетов до 24–36 бит можно добиться гораздо более низкого уровня внутренних искажений тракта, чем это принципиально достижимо на аналоговой технике. Точно так же и с частотным диапазоном. Кроме того, качество цифрового сигнала не изменяется при передаче или хранении.

Но так как и в самом начале цепочки, и в самом конце звук существует в аналоговой форме, без соответствующих аналоговых цепей цифровые оказываются совершенно бесполезными.

Ошибки возникают и при цифровой обработке сигнала. Правда, они носят скорее субюективный характер (подробнее см. во врезке).

Однако вернемся к аналого-цифровому и цифро-аналоговому преобразованиям. В случае применения бытовой аппаратуры немалые искажения подстерегают именно на этой стадии, а чтобы получить здесь приемлемое качество, придется заплатить. Достаточно сказать, что хороший профессиональный ЦАП или АЦП, обеспечивающий разрядность преобразования 20–22 бит, стоит более 10 тыс. долл. Что же касается 24-разрядного преобразования, то оно недостижимо ни за какие деньги, поскольку выходит за пределы возможностей современной техники. Хотя это не мешает некоторым производителям утверждать, будто их продукты за 200 долл. на это способны. Итак, между тем, что принципиально возможно извлечь из цифрового звука определенной разрядности и с определенной частотой дискретизации, и тем, что реализовано в конкретных устройствах, – дистанция огромного размера. Поэтому от описания теоретических искажений цифрового звука перейдем к искажениям, связанным с недостатками аппаратуры аналого-цифрового и цифро-аналогового преобразования.

Один из важнейших факторов, влияющих на звук, – точность изготовления ЦАП и АЦП. Скажем, погрешность в 0,1% в старшем разряде такого преобразователя ведет к тому, что наличие или отсутствие нескольких младших разрядов уже никак не сказывается на качестве аудиосигнала. Более того, погрешность преобразователя ведет к коррелирующим с полезным сигналом искажениям, которых никакими «софтверными примочками» уже не компенсировать. Поэтому может оказаться, что 16-разрядный ЦАП с ошибкой в 0,1% в каждом разряде (рис. 14), соответственно по уровню искажений эквивалентный 10-разрядному, будет давать худший звук, чем «честный» 8-разрядный (в последнем случае к сигналу добавится белый шум, тогда как в первом – неприятные «призвуки»).

Рис. 14. Сигнал при погрешности преобразования 0,1%

Помимо характеристик ЦАП и АЦП (нередко как в дорогих, так и в дешевых устройствах используется одна и та же микросхема) существенную роль играют аналоговая часть и схема включения, а также примененные методы борьбы с электромагнитной наводкой и наводкой по питанию. Диапазон частот помех простирается в основном от десятков килогерц (преобразователи питания) до сотен мегагерц (тактовые частоты работы шины, процессора и памяти), поэтому в звуковом диапазоне они ведут себя как широкополосная (шумовая) помеха. Как показывают измерения, сделанные автором (Андрианов С., Яковлев К. Фабрики звука под управлением PCI. «Мир ПК», б№7/99; Андрианов С. Универсалы в мире звука. «Мир ПК», б№2/02), при использовании лучших бытовых звуковых плат сигнал помехи составляет около трех единиц младшего разряда, что снижает динамический диапазон примерно на 20 дБ по сравнению с теоретическим. Таким образом, эффективной разрядностью таких аудиоплат можно считать 12–13 бит.

Рис. 15. Искажение сигнала при джиттере
Рис. 16. Преобразование частоты

Для обеспечения более высокого качества записи/воспроизведения можно применять внешние АЦП/ЦАП. Как правило, они обладают большей линейностью преобразования и меньшим уровнем помех, чем встроенные. Но есть еще один источник помех, от которого внешние АЦП/ЦАП не спасают (если только это не очень дорогие модели, снабженные буфером и генератором). Это джиттер (jitter) – нестабильность частоты дискретизации, вызванная различными причинами (рис. 15). Высокостабильный генератор стоит недешево и, как правило, может работать только на одной частоте. На практике же возникает необходимость записывать и воспроизводить сигналы с самой различной частотой дискретизации. В этих случаях сплошь и рядом используется синтезатор частот, который получает более низкие частоты из более высоких, пропуская часть импульсов (рис. 16). Сходный эффект получается и при передискретизации сигнала методом отбрасывания/добавления отсчетов. Если тактовый генератор платы работает с частотой 48 кГц, а в файле записан 44-кГц звук, то спектр полученного сигнала может походить на то, что изображено на рис. 17. Джиттер, как и другие виды нелинейных искажений, не проявляется в отсутствие сигнала, зато интенсивность помехи увеличивается для высокочастотных составляющих спектра (рис. 18). При этом нередко бывает даже трудно выделить основную частоту на фоне помех. На рис. 19 показан 1-кГц сигнал, записанный с генератором, частота которого модулируется синусоидальным сигналом, а на рис. 20 – белым шумом. На практике наблюдается одновременное действие всех описанных факторов.

Рис. 17. Джиттер 1 кГц при передискретизации сигнала с 48 000 до 44 100 Гц
Рис. 18. Джиттер 10 кГц при передискретизации сигнала с 48 000 до 44 100 Гц
Рис. 19. Джиттер при модуляции частоты дискретизации синусоидальным 7,2-кГц сигналом
Рис. 20. Джиттер при случайных отклонениях частоты дискретизации от номинала

До сих пор мы говорили о воспроизведении звука и неприятностях, подстерегающих при этом слушателя. Но аудиоплаты обладают еще и возможностью записи. Она понадобится при составлении музыкального альбома в собственном исполнении, оцифровке телепередач с помощью TV-тюнера или копировании музыки с магнитофона, винилового либо компакт-диска. К сожалению, аналого-цифровое преобразование технически гораздо сложнее, чем цифро-аналоговое. Да и производители оборудования уделяют ему гораздо меньше внимания. В результате, хотя все звуковые платы умеют записывать звук, далеко не каждая из них может быть реально использована для этой цели.

Дело в том, что превышение допустимого уровня сигнала (перегрузка) при записи ведет к искажениям. В аналоговой аппаратуре при этом происходит ограничение сигнала (максимальный коэффициент гармоник около 30%), в то время как в цифровой могут быть утеряны старшие разряды (максимальный коэффициент гармоник ничем не ограничен), что приводит к гораздо более сильным, резким и заметным на слух искажениям. В правильно спроектированном узле АЦП такие искажения предотвращаются, но зачастую разработчики бытовых звуковых плат с целью удешевления продукции этим пренебрегают. Проверить, пригодна ли плата для записи звука, несложно. Для этого надо оцифровать с ее помощью плавно нарастающий синусоидальный сигнал, а результат посмотреть в любом волновом редакторе. Если форма сигнала аналогична показанной на рис. 21, а, то АЦП реализован правильно. Если же форма сигнала больше напоминает рис. 21,б или в, то такую плату лучше вообще не использовать для записи звука.

Рис. 21. Форма сигналов: а – оцифрованного правильно, б – с односторонней потерей старшего порядка, в – с двухсторонней потерей старшего порядка

Спектр и форма сигнала при потере старшего разряда показаны на рис. 22 и 23.

Рис. 22. Переполнение – асимметричный вид
Рис. 23. Переполнение – симметричный вид

Качество звука может пострадать и от неграмотных действий пользователя. Иногда при попытке составить собственную музыкальную подборку любитель сталкивается с тем, что отдельные композиции довольно сильно различаются по громкости, и пытается это исправить. Почти любой звуковой редактор предоставляет такую функцию, как нормализация, которая, по убеждению многих пользователей, именно для выравнивания уровня громкости и предназначена. Но, с одной стороны, нормализация опирается на максимальный уровень, а громкость человеческое ухо определяет по средней, с другой – большинство музыкальных композиций уже прошли через процедуру согласования громкости перед тем, как оказались на компакт-диске. Поэтому на практике нормализация чаще приводит к увеличению рассогласования. И вообще, эта функция практически бесполезна и включается в программы лишь «для галочки», а качество ее исполнения часто ниже всякой критики.

Довольно распространено мнение, будто оптический цифровой выход лучше электрического. Да и производители последнее время все чаще оснащают первыми свои изделия, используя укоренившееся заблуждение в маркетинговой политике. На самом деле особой разницы нет, а при передаче сигнала на расстояния более нескольких метров электрический кабель даже предпочтительнее. Считается очевидным, что при оптическом соединении следует применять специальный оптический кабель, а не кусок рыболовной лески. Но при этом почему-то подразумевается, будто вместо согласованного электрического кабеля с нормированным волновым сопротивлением может подойти любой «тюльпан-тюльпан» из ближайшего ларька.

Таким образом, известный факт, что качество стоит денег, причем немалых, ни в коей мере не утратил своей актуальности в связи с появлением цифровых технологий. По-прежнему как изготовление хороших цифро-аналоговых и аналого-цифровых преобразователей и высокостабильных генераторов, так и разработка алгоритмов цифровой обработки звука обходятся недешево.

Нельзя не упомянуть и самое последнее звено в звуковоспроизводящей цепочке – акустическую систему. Нет смысла покупать отдельную аудиоплату при наличии «набортного» звука, если предполагается использование дешевых колонок. Их стоимость должна ориентировочно в 3–4 раза превышать цену звуковой платы. Но имея в виду, что основную массу искажений вносят именно колонки, не следует забывать и о характеристиках электронных частей звукового тракта. Из-за избирательности человеческого слуха даже довольно сильные искажения зачастую не могут замаскировать гораздо более слабых искажений другой природы. Поэтому, скажем, при 5% гармоник, привносимых колонками, 0,5% гармоник, добавляемых ЦАП или усилителем, могут быть весьма заметны.

Конечно, как не приходится ожидать CD-качества от встроенной звуковой системы, так и у рядового пользователя практически нет надежды на приобретение профессиональной аппаратуры. Тем не менее понимание того, что требуется от звуковоспроизводящего оборудования и на что реально можно рассчитывать, позволяет добиться неплохого качества, избежав неоправданных расходов. Например, если требуется воспроизведение музыкальных записей, то следует отдать предпочтение двух- трехканальной системе, а не 5.1-канальной. А если основной источник помех – джиттер, то покупка ЦАП за несколько сот долларов ситуацию не изменит.


Цифровая обработка сигнала

Бытует мнение, будто цифровая обработка сигнала всегда лучше аналоговой. Это не так. Прежде всего следует уточнить, что любой цифровой метод – прямой эквивалент соответствующего аналогового. А реализация цифровыми методами преобразований, подобных аналоговым, – задача физического моделирования, т. е. весьма ресурсоемкая. Кроме того, она требует от разработчика программных или аппаратных средств высокой квалификации в области звукотехники и биоакустики, что среди программистов встречается, увы, нечасто. Попытка же применить для звука более простые методы, например линейную интерполяцию вместо фильтрации (ведь в компьютерной графике мы даже называем интерполяцию фильтрацией!), приводит к резкому росту уровня помех, притом очень заметных на слух.

Вскоре после появления первой транзисторной аппаратуры немало копий было сломано в спорах о феномене «транзисторного звучания». Суть его в том, что на слух транзисторный усилитель звучал заметно хуже лампового при одинаковом уровне искажений. Вызвано это было различием в спектре искажений и особенностями человеческого слуха, для которого характер искажений нередко оказывался важнее их величины.

Что-то похожее происходит и в области цифрового звука. Общее правило таково: искажения, коррелирующие с полезным сигналом (имеющие линейчатый спектр), зачастую в гораздо большей степени влияют на субюективную оценку, чем некоррелирующие (имеющие непрерывный спектр). И этот факт обязательно надо учитывать при разработке алгоритмов обработки звука.

Практически вся обработка звука, как линейная, так и нелинейная, сводится к масштабированию отдельных звуковых отсчетов. В качестве примера можно привести обычный регулятор громкости – умножение на величину в пределах от 0 до 1. Более сложные алгоритмы сводятся к простейшим. Скажем, фильтр – не более чем сложение нескольких значений соседних отсчетов, умноженных на определенные коэффициенты.

Возьмем реальную ситуацию: пусть нам требуется отсчет с уровнем б-6 дБ уменьшить на 1 дБ, т. е. 16-разрядное число 16 383 умножить на коэффициент 0,9438743, что даст 15 463,493. Что делать с дробной частью? Округлить! (Вопрос округления рассмотрим чуть ниже.) А если это не простое масштабирование, а фильтр, да еще и рекурсивный, где необходимо выполнить довольно длинную цепочку вычислений?

Еще из школьного курса математики известно, что для обеспечения приемлемой точности вычислений действия следует производить с числами, имеющими одну-две резервные цифры. Почему-то программисты, окончившие не только школу, но и высшее учебное заведение, зачастую об этом забывают. Так появляются программы, вся обработка звука в которых выполняется в 16 разрядах. Пример искажения аудиосигнала в результате применения последовательности из 100 операций масштабирования, выполненных подобным образом, показан на рисунке в этой врезке (исходный аудиосигнал см. на рис. 13 в основной части статьи). Заметно, что спектр линейчатый и в нем преобладают нечетные гармоники (3 кГц, 5 кГц, 7 кГц...), т. е. реализуется самый неприятный для слуха вариант. Следует сказать, что режим преобразований в данном случае выбран довольно щадящий: они подобраны так, что в процессе вычислений уровень сигнала не падает более чем на 1 дБ, а математически точные вычисления должны были бы дать в конце результат, идентичный исходному. При грамотно сделанной обработке с повышением разрядности промежуточных вычислений результат практически не должен отличаться от показанного на рис. 13.

Результат 16-разрядных преобразований уровня громкости

Теперь предположим что мы, не допуская ошибок, провели все промежуточные вычисления в 24 или 32 разрядах и нам нужно опять привести звук к 16-разрядному представлению. По какому алгоритму это следует делать? Как известно, существует четыре варианта округления: с недостатком, с избытком, к нулю и к ближайшему. Начинающие программисты, как правило, применяют самый простой способ – округление с недостатком, усечение, и тем самым добавляют в сигнал отрицательную постоянную составляющую. Округление к нулю приводит к возникновению нечетных гармоник, хотя и обладает слабо выраженным эффектом динамического шумоподавления. Наилучший из предложенных вариантов – округление к ближайшему, но и его нельзя назвать идеальным. Все четыре способа могут приводить к появлению на длинных участках постоянной (точнее, низкочастотной) составляющей за счет накопления ошибки, что чревато односторонним ограничением. Для устранения постоянной составляющей служит низкочастотный фильтр, но... это опять преобразование, требующее повышения разрядности, а значит, мы попали в замкнутый круг.

Способ борьбы с данным эффектом – dither – предусматривает добавление ошибки округления предыдущего отсчета к следующему. Но одновременно на 3 дБ ухудшается отношение сигнал/шум. Другой недостаток, присущий всем методам округления, а также указанному способу dither, – корреляция искажения с исходным сигналом. Способ борьбы – dither с добавлением небольшой, порядка б-96 дБ, случайной величины. Отношение сигнал/шум при этом, правда, также ухудшается, но искажения имеют спектр белого шума, т. е. портят сигнал в значительно меньшей степени. Чтобы одновременно избавиться и от постоянной составляющей, и от коррелированного с сигналом шума, можно применить оба варианта dither, предварительно пропустив при этом ошибку округления через низкочастотный (инфразвуковой) фильтр. Очевидно, что данный метод существенно превосходит простое отбрасывание дробной части.

Итак, выполнение даже такой простой процедуры, как регулировка громкости, с применением цифровых алгоритмов превращается в обюемную вычислительную операцию, требующую от программиста хорошего знания предметной области и чутья, помогающего предвидеть, как то или иное действие может сказаться на результате.

Из приведенных примеров становится понятно, чем функция, реализованная в дорогостоящем профессиональном звуковом редакторе, может отличаться от аналогичной по названию функции в неспециализированной программе, например «писалке» CD-дисков, или в бесплатном приложении, созданном студентом для пробы своих сил. В большой степени это характерно и для программного обеспечения, прилагаемого к какой-нибудь «железке», например звуковой или системной плате. Основным в последнем случае является красивый интерфейс, а значительное число функций реализуется лишь «для галочки».

Подводя итог вышесказанному, можно сделать вывод, что при цифровой обработке сигнала источником искажений зачастую оказывается неаккуратность программиста или его некомпетентность в предметной области.


Искажения аудиосигнала, вносимые звуковым трактом

ЛинейныеИзменение соотношения амплитуд и фаз различных частотных составляющих без появления частот, изначально отсутствовавших в спектре сигнала
НелинейныеИзменение формы сигнала, приводящее к появлению частот, отсутствующих в исходном сигнале, но зависящих от последнего
ПомехиПроникновение в звуковой тракт посторонних частот, никак не связанных с полезным сигналом
1968