При моделировании систем электрической связи часто возникает задача исследования влияния шумов квантования на качество обработки сигнала. Степень проявления эффекта искажения формы сигнала при его цифровой обработке зависит от характеристик устройств осуществляющий аналого-цифровые преобразования.
Процесс формирования цифрового сигнала можно разделить на три процедуры: дискретизация во времени; квантование по уровню; кодирование (рис. 1). Сначала сигнал b(t) подвергается дискретизации с помощью электронного ключа, работающего с шагом Δt, называемымпериодом дискретизации.
На его выходе получен сигнал b(kΔt) в виде последовательности коротких импульсов, являющихся отсчетами сигнала b(t). На выходе дискретизатора получается ступенчатое колебание, рис. 2(а). При квантовании измеряется уровень каждой ступени этого колебания, и ему присваивается значение ближайшего квантованного уровня (рис. 2, б).
Общее число этих уровней L=2^n. В кодере каждому из L квантованных уровней ставится в соответствие кодовое слово – двоичное число, состоящее из n разрядов (рис. 2, в).
Операция квантования по уровню заключается в замене непрерывного множества значений сигнала дискретным множеством заранее определенных значений, называемых уровнями квантования. Процесс квантования поясняется на рисунке 3. При квантовании на график дискретизированного сигнала b(kΔt) накладывается система параллельных линий, расстояние между которыми называется шагом квантования. Расстояние между верхней и нижней линиями определяется динамическим диапазоном дискретизируемого сигнала.
Различают равномерное и неравномерное квантование. При равномерном квантовании шаг δ будет постоянным, а уровень Uквi соответствует середине i-го интервала квантования. При неравномерном квантовании шаг δ‒ переменной величины.
На рисунке 3, а сплошные параллельные линии представляют собой разрешенный к передаче уровень (уровень квантования). Амплитуда каждого отсчета b(kΔt)=Uвх округляется до значения ближайшего уровня квантования Uквi по заданному правилу, например:
Сформированный квантованный сигнал отмечен на рисунке 3, а в виде заштрихованных импульсов. Таким образом, в процессе квантования возникают ошибки, определяемые как ε=|Uвх-Uквi| (рис. 3, б). Эти ошибки приводят к возникновению искажений, создающих на приеме помехи, называемыми шумами квантования.
При равномерном квантовании плотность распределения значений ошибки можно считать постоянной в интервале [-δ/2; δ/2] так как ошибка квантования с вероятностью, равной единице, находится внутри интервала шириной. Поэтому среднюю мощность шума квантования определяют следующим образом:
При квантовании возможно также появление шумов ограничения, которые возникают при превышении амплитудой дискретизированного импульса значения |Umax|. Величина шумов ограничения зависит от уровня сигнала и выбранного значения |Umax|, поэтому может быть уменьшена до любого требуемого значения правильным выбором этих величин.
Определение погрешности восстановления квантованного сигнала производят путем вычисления превышения полезного сигнала над шумом квантования: ρ=Pc/Pшкв. Значение Pшкв при равномерном шаге определяется по формуле (1). Мощность сигнала в этом случае для i-го уровня квантования:
Неравномерное квантование используется при передаче речевых сигналов. Это объясняется несколькими причинами.
1. Распределение мгновенных значений речевых сигналов отличается от равномерного: как правило, малые значения гораздо более вероятны, чем большие. Очевидно, что, уменьшая шаг квантования для более вероятных значений сообщения и увеличивая для менее вероятных, можно уменьшить погрешность квантования.
2. В системах передачи речи различие в средних значениях речевых сигналов может достигать 30 дБ и более. Для сохранения разборчивости речи в случае "тихого" абонента шаг квантования в области малых значений сигнала должен быть небольшим. В области больших значений можно допустить более крупный шаг.
3. Из выражения (1) видно, что Pшкв зависит от шага квантования и не зависит от Pc. При этом для равномерного шага квантования сигналы с высоким уровнем передаются со значительно большей точностью, чем слабые. Для речевых сигналов это приводит к тому, что больше всего искажаются согласные звуки (обладающие наибольшей информативностью), а ударные гласные практически не искажаются.
Неравномерное квантование может быть реализовано, квантователем с соответствующей амплитудной характеристикой (непосредственное неравномерное квантование) или с помощью равномерного квантователя с предварительной компрессией динамического диапазона сигнала. При этом шаг квантования и уровни квантования выбирают из условия получения минимальной мощности шумов.
Примеры характеристик квантователей с равномерным и неравномерным шагом квантования представлены на рисунке 4.
Блок «Quantizer» библиотеки «Impairment Models» среды GNU Radio моделирует искажения сигнала, вызванные применением операции квантования по уровню (рис. 5). Блок вносит искажение, изменяющее отношение сигнал-шум относительно входного сигнала на заданную величину шума квантования.
Блок используется для тестирования и оценки качества обработки цифрового сигнала при изменении разрядности устройств АЦП телекоммуникационной аппаратуры
Расчет значений отсчетов выходного сигнала в блоке «Quantizer» производится согласно выражению:
где:
x – входное значение сигнала;
floor () – операция взятия целой части числа (округление вниз).
Блок «Quantizer» вносит искажение вещественного сигнала посредством равномерного квантователя с L уровнями. В соответствии с (3) эффектом искажения сигнала при квантовании является возникновение ошибки, которая представляет собой разность между квантованным и исходным значением сигнала.
Метод статистического анализа рассматривает ошибку квантования e как равномерно распределенную величину на интервале [-δ/2; δ/2], что справедливо при выполнении следующих условий:
− шаг квантования δ достаточно мал;
− входной сигнал изменяется в широком диапазоне значений;
− функция плотности вероятности входного сигнала «гладкая».
Дисперсия ошибки квантования (средняя мощность шумов квантования) для равномерного распределения определяется в соответствии с выражением (1). Из выражения (1) видно, что Pшкв зависит только от шага δ или от числа уровней квантования L. При большом числе L для любого закона распределения мгновенных значений сигнала величина Pшкв приблизительно равна:
Для наилучшего приближения при заданном числе уровней необходимо и достаточно, чтобы функция плотности вероятности ошибки квантования была равномерной в пределах интервала квантования. Определение значения шага квантования δ связано с динамическим диапазоном D и числом уровней L квантователя:
Блоке «Quantizer» реализована модель равномерного квантователя. Значение средней мощности шумов квантования Pшкв, вносимых блоком «Quantizer» определяется из выражений (5)-(6) при условии определения D по экстремальным значениям напряжения отсчетов на входе квантователя:
Отношение сигнал-шум квантования (SQNR) на выходе блока «Quantizer» определяется как:
Расчет квантованных значений в блоке «Quantizer» среды GNU Radio производится посредством применения операции (3) к каждому отсчету входного сигнала. Шаг квантования δ вычисляется автоматически по значению разрядности кодового слова АЦП и экстремальным значениям напряжения отсчетов из выборки сигнала, выражение (6).
Блок «Quantizer» имеет один вход «in» на который подается вектор значений типа «float» и один выход «out» («float»). В меню блока предусмотрен только один параметр настройки – разрядность кодового слова АЦП (Bits), рис.6.
Анализ программного кода блока «Quantizer» показал, что при значениях параметра «Bits» больше 16 происходит некорректное округление «вниз» до целого значения уровня квантования текущего отсчета. В результате значения ошибки квантования увеличиваются в десятки раз. Причина кроется в проведении операции округление «вниз» до целого значения как преобразования числа типа с плавающей точкой float в целочисленный тип integer (рис. 7).
Потоковый граф, демонстрирующий моделирование эффекта шумов квантования блоком «Quantizer» (пример графа 11_1_v3_10_12_0_p3_12_9.grc)
Пример демонстрирует внесение эффекта шумов квантования в сигнал блоком «Quantizer». При моделировании шумов квантования в схеме используется сигнальный генератор (блок «Signal Source» выделен, синим прямоугольником со сплошной линией) косинусных колебаний на частоте 1 КГц с частотой дискретизации 64 КГц (определена в блоке переменной samp_rate), рис. 8.
Сигнал частотой 1 КГц из блока Signal Source поступает в блок «Quantizer», где моделируется эффект шумов квантования с характеристиками, определяемыми значением разрядности выходной кодовой комбинации АЦП Bits = [5:18] бит (блок QT GUI RANGE с ID= n_cod), в соответствии с (7), рис. 9 (а).
Значение амплитуды сигнала на входе квантователя устанавливается в переменной Amplitude блока Signal Source (изменение значения Amplitude осуществляется блоком QT GUI RANGE с ID= Amplitude_max рис. 8 и рис. 9 (б).
В дополнении в схеме реализован эквивалент блока «Quantizer» (обведен черной штрих линией с двойным пунктиром), в соответствии с выражением (3).
Результат моделирования визуализируется с помощью блоков QT GUI Time Sink (обведены, оранжевой прерывистой линией), рис. 8. Блок с ID= qtgui_time_sink_x_0_1 отображает сравнение не квантованного сигнала с квантованными по эквивалентной схеме и блоком «Quantizer», рис. 9 (г). Блок с ID= qtgui_time_sink_x_0 отображает ошибку (шумы) квантования в носимую блоком «Quantizer», рис. 9 (б).