O сохранении качества сигнала при цифровой обработке
O сохранении качества сигнала при цифровой обработке
Прежде всего, необходимо различать "искажающие" и "неискажающие" виды обработки. К первым относятся операции, изменяющие форму и структуру сигнала - смешивание, усиление, фильтрация, модуляция и т.п., ко вторым - операции монтажа (вырезка, вклейка, наложение) и переноса (копирования).
Качество сигнала может страдать только при "искажающей" обработке, причем любой и аналоговой, и цифровой. В первом случае это происходит в результате внесения шумов, гармонических, интермодуляционных и других искажений в узлах аналогового тракта, во втором - благодаря конечной точности квантования сигнала и математических вычислений. Все цифровые вычисления выполняются в некоторой разрядной сетке фиксированной длины - 16, 20, 24, 32, 64, 80 и более бит; увеличение разрядности сетки повышает точность вычислений и уменьшает ошибки округления, однако в общем случае не может исключить их полностью. Конечная точность квантования первичного аналогового сигнала приводит к тому, что даже при абсолютно точной обработке полученного цифрового сигнала квантованное значение каждого отсчета все равно отличается от своего идеального значения. Для минимизации искажений при обработке в студиях предпочитают обрабатывать и хранить сигналограммы на мастер-носителях с повышенным разрешением (20, 24 или 32 разряда), даже если результат будет тиражироваться на носителе с меньшим разрешением.
Кроме собственно ошибок вычислений и округления, на точность сильно влияет выбор представления числовых отсчетов сигнала при обработке.
Традиционное представление PCM с так называемой фиксированной точкой (fixed point), когда отсчеты представляются целыми числами, наиболее удобно и влечет минимум накладных расходов, однако точность вычислений зависит от масштаба операций - например, при умножении образуются числа вдвое большей разрядности, которые потом приходится приводить обратно к разрядности исходных отсчетов, а это может привести к переполнению разрядной сетки. Компромиссным вариантом служит промежуточное увеличение разрядности отсчетов (например, 16->32), что снижает вероятность переполнения, однако требует большей вычислительной мощности, объема памяти и вносит дополнительные искажения при обратном понижении разрядности. Кроме того, снижению погрешности способствует правильный выбор последовательности коммутативных (допускающих перестановку) операций, группировка дистрибутивных операций, учет особенностей работы конкретного процессора и т.п.
Другим способом увеличения точности является преобразование отсчетов в форму с плавающей точкой (floating point) с разделением на значащую часть - мантиссу и показатель величины - порядок. В этой форме все операции сохраняют разрядность значащей части, и умножение не приводит к переполнению разрядной сетки. Однако, как само преобразование между формами с фиксированной и плавающей точкой, так и вычисления в этой форме требуют на порядки большего быстродействия процессора, что сильно затрудняет их использование в реальном времени.
Несмотря на то, что качество сигнала неизбежно, хоть и незначительно, ухудшается при любой "искажающей" цифровой обработке, некоторые операции при определенных условиях являются полностью и однозначно обратимыми.
Например, усиление сигнала по амплитуде в три раза заключается в умножении каждого отсчета на три; если эта операция выполнялась с фиксированной точкой и при этом не возникло переполнения, с помощью деления на три потом можно будет вернуть все отсчеты в исходное состояние, тем самым полностью восстановив первоначальное состояние сигнала. И в то же время после умножения каждый отсчет окажется увеличенным точно в три раза, поэтому ошибка относительно исходного аналогового сигнала, внесенная при квантовании, также увеличится в среднем в три раза, тем самым ухудшив общее качество сигнала.