Кодирование звука: частота дискретизации и теорема Найквиста
Звук в природе - это непрерывная волна давления воздуха. Чтобы сохранить её в памяти компьютера, нужно превратить непрерывный сигнал в последовательность чисел. Этот процесс называется аналого-цифровым преобразованием, и его ключевой параметр - частота дискретизации. От неё зависит и качество записи, и размер файла, и то, возникнут ли искажения при воспроизведении. Покрутите калькулятор ниже - он покажет, как меняются все характеристики при разных стандартах записи, а дальше разберём каждый параметр строго.
Что такое дискретизация звука
Дискретизация (или сэмплирование) - это измерение амплитуды звукового сигнала через равные промежутки времени. Каждое такое измерение называется отсчётом или сэмплом. Частота дискретизации показывает, сколько отсчётов снимается за одну секунду:
где - количество отсчётов, - время в секундах. Единица измерения - герц (Гц) или килогерц (кГц).
При воспроизведении цифровое устройство «соединяет» отсчёты обратно в непрерывную кривую с помощью фильтра восстановления. Чем чаще сделаны измерения, тем точнее кривая воспроизводит оригинальный сигнал.
Теорема Найквиста-Шеннона
Центральное утверждение теории дискретизации сформулировал Гарри Найквист в 1928 году, а Клод Шеннон строго доказал его в 1949-м:
Для точного восстановления сигнала частота дискретизации должна быть не менее чем вдвое больше максимальной частоты сигнала.
Формально:
где - наибольшая частота, присутствующая в сигнале. Величина называется частотой Найквиста - это верхняя граница спектра, которую способна корректно воспроизвести цифровая система с данной .
Условие строгое: равенство теоретически достаточно, но на практике всегда берут запас - именно поэтому стандарт CD-Audio использует Гц при максимальной слышимой частоте 20000 Гц. Коэффициент запаса примерно 1,1 оставляет место для работы аналогового антиалиасингового фильтра, который обрезает частоты выше 20 кГц до начала преобразования.

На схеме видно, что при Гц частота Найквиста 22050 Гц полностью перекрывает слышимый диапазон 20 кГц с запасом около 2 кГц.
Алиасинг: что происходит при нарушении условия
Если частота сигнала превышает частоту Найквиста, возникает алиасинг - высокочастотные компоненты «складываются» обратно в низкочастотную область и воспринимаются как ложный тон другой высоты. Название происходит от английского «alias» (псевдоним): высокая частота «притворяется» низкой. Частота «призрака» вычисляется по формуле:
где - ближайшее целое. Например, если Гц и в сигнале есть тон Гц:
Вместо 5 кГц слушатель услышит призрак на 3 кГц - совершенно другой звук. Именно поэтому перед аналого-цифровым преобразованием ставится антиалиасинговый фильтр нижних частот, который обрезает все частоты выше .
Визуально алиасинг хорошо виден на графике дискретизации: если точки отсчётов попадают в фазу слишком редко, ломаная через них описывает другую, более медленную волну. В аудиотехнике бороться с алиасингом помогает оверсэмплинг - аналого-цифровое преобразование делается на кратно большей частоте (например, 176400 Гц вместо 44100), а затем сигнал прореживается цифровым фильтром. Цифровой фильтр гораздо точнее аналогового: он режет частоты почти идеально, без паразитных эффектов в полосе пропускания.
Разрядность: точность квантования
Помимо частоты дискретизации, качество цифрового звука определяет разрядность - количество бит, отводимых под один отсчёт. Она задаёт число уровней квантования:
где - число бит. При уровней ; при - только . Ошибка квантования (разница между истинной амплитудой и ближайшим уровнем) воспринимается как шум. Чем больше уровней, тем мельче «ступеньки» и тише шум квантования.
Динамический диапазон цифровой системы в децибелах приближённо равен : для 16-битной записи это около 96 дБ - достаточно для большинства музыкальных задач, поскольку реальный динамический диапазон оркестровой музыки редко превышает 80 дБ. Hi-Res форматы используют 24 бита, что даёт 144 дБ динамического диапазона - больше, чем способно воспринять ухо (порог болевого ощущения около 130 дБ).
На практике разрядность 8 бит слышно как характерный «хрустящий» шум в паузах - это и есть шум квантования из 256 ступенек. Переход на 16 бит убирает его полностью. Разница между 16 и 24 битами воспринимается только на профессиональном мониторинге в студийных условиях; для конечного слушателя она незначима.

Стандарты и размер файла
Зная , разрядность и число каналов , несложно посчитать объём несжатой записи (формат WAV/PCM):
Основные стандарты дискретизации:
| Стандарт | , Гц | Разрядность | Применение |
|---|---|---|---|
| Телефония | 8000 | 8 | Речь, VoIP |
| FM-радио | 32000 | 16 | Широковещание |
| CD-Audio | 44100 | 16 | Музыка (стерео ~10 Мбайт/мин) |
| DVD/видео | 48000 | 16/24 | Видеопроизводство |
| Hi-Res | 96000/192000 | 24 | Студийная запись |
Стандарт CD - стерео 44100 Гц, 16 бит - занимает около 10,1 Мбайт в минуту. Именно поэтому на CD-диск помещается 74-80 минут музыки: ёмкость диска около 700 Мбайт делится на 10 Мбайт/мин.
Частые ошибки
- Путаница частоты дискретизации и частоты сигнала. Это разные вещи: - параметр АЦП-системы, - свойство записываемого звука. Условие Найквиста связывает их через неравенство, а не равенство.
- Применение условия Найквиста без запаса. Теоретически хватает , но на практике нужен запас 10-20% под антиалиасинговый фильтр. Поэтому CD использует 44100, а не 40000 Гц.
- Неправильный расчёт размера файла. Формула даёт байты в секунду; нужно разделить на 8, а не на 1000. Также часто забывают умножить на число каналов.
- Смешение сжатого и несжатого форматов. Формула считает PCM-данные без сжатия (WAV). MP3, AAC, FLAC сжимают с потерями или без - реальный размер будет меньше.
- Ошибка при расчёте алиасинга. Частота «призрака» вычисляется через модуль разности с ближайшим кратным , а не просто как .
FAQ
Почему CD-Audio использует именно 44100 Гц, а не 40000? Диапазон слуха человека ограничен 20 кГц, значит Гц. Значение 44100 выбрано с запасом 10% для антиалиасингового фильтра и закреплено исторически: в 1970-е первые цифровые записи хранились на видеокассетах (VHS/Beta), и 44100 Гц оптимально укладывались в строчную структуру NTSC/PAL.
Что лучше: поднять частоту дискретизации или разрядность? Это разные параметры: определяет верхнюю частоту звука (полосу), разрядность - динамический диапазон (соотношение тихого и громкого). Для улучшения качества сначала поднимают разрядность с 8 до 16 бит - прирост ощутим. Переход от 44100 до 96000 Гц даёт меньше, так как ухо не воспринимает частоты выше 20 кГц.
Как алиасинг проявляется в звуке? Он слышен как дополнительный тон неправильной высоты, иногда как «металлический» призвук или гудение. В современных устройствах этот эффект почти исключён аппаратными антиалиасинговыми фильтрами и оверсэмплингом (работа АЦП на кратной частоте с последующим понижением), но теоретически понять его важно для проектирования систем обработки сигналов.
Коротко
Кодирование звука требует двух ключевых параметров: частоты дискретизации и разрядности . Теорема Найквиста-Шеннона гарантирует точное восстановление сигнала при условии, что хотя бы вдвое превышает максимальную частоту звука. Разрядность задаёт точность квантования и динамический диапазон дБ. Размер несжатого файла считается по формуле байт/с. Нарушение условия Найквиста приводит к алиасингу - появлению ложных тонов, - поэтому реальные стандарты всегда берут с запасом выше минимума.
Читайте также

Дополнительный код: представление отрицательных чисел
Дополнительный код простыми словами: как записать отрицательное число в двоичном виде, почему старший бит весит со знаком минус, как перевести число в код и обратно и где возникает переполнение.

Абстрактный класс и интерфейс: в чём отличие
Абстрактный класс и интерфейс: чем отличаются в ООП, когда наследовать поведение, а когда задавать контракт, как выбрать на примерах Java, C# и Python.

Алгоритм AdaBoost: как слабые классификаторы дают сильный
Алгоритм AdaBoost простыми словами: адаптивный бустинг, перевзвешивание объектов, формула веса классификатора, итоговый ансамбль и разбор шага на примере с формулами.