Pull to refresh

Цифровые телефонные системы для чайников. Часть 1 — Кодирование голоса

Reading time 4 min
Views 54K

Давным-давно, когда небо было голубым, а трава зеленой АТС были аналоговыми, работали они очень просто: нужно связать двух абонентов — нет проблем, взяли замкнули линию первого на линию второго, и все дела. Вариант, конечно, очень упрощенный, но в общих чертах так все и было. Примечательно в данном случае то, что между абонентами постоянно поддерживалась линия связи. Даже если они оба молчали, были заняты не только те линии, что ведут от абонентов к их АТС, но и линии между самими АТС.

Позднее, когда цифровые технологии стали развиваться все больше и больше, встал вопрос, а почему бы не использовать их для передачи телефонных разговоров? Внедрение цифровых АТС имело довольно много положительных моментов: аппаратура стала занимать меньше места, обслуживать цифровые АТС и проводить диагностику стало легче, значительно увеличилась гибкость настройки, масштабируемость, надежность. Но одни из главных новшеств — временное разделение каналов, а затем и пакетная передача данных. Преимуществом временного разделения каналов в том, что, грубо говоря, по одной линии между АТС в различные моменты времени (канальные интервалы) могут предаваться разговоры нескольких пар абонентов, таким образом, увеличивается количество соединении при неизменном количестве физических линий. При пакетной передаче для связи двух абонентов уже нет нужды в постоянном занятии линии между АТС, данные (разговор) передаются в пакетах и только тогда, когда они есть, в другое время канал можно использовать для передачи данных других абонентов. Также при использовании пакетной передачи облегчается возможность передачи и других данных по тем же сетям (например, интернет-трафика).

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

Итак, вопрос номер раз:

Как в цифровых системах передается разговор?


Тут на помощь пришла импульсно-кодовая модуляция (ИКМ, PCM, pulse-code modulation), известная, как утверждает Википедия, с начала XX века. Почитать о ней можно, например, все в той же Википедии.

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

Дискретизация — это получение мгновенных значений сигнала (отсчетов) через определенные промежутки времени (т.е. с определенной частотой — частотой дискретизации). На рисунке: (1) — сигнал, (2) — отсчеты.



Квантование — это «округление» полученных мгновенных значений до ближайших заранее заданных уровней. Например, если у нас есть 5 уровней с шагом 2: 0, 2, 4, 6, 8, а некоторые мгновенные значения равны 3.6, 7.1, 2, 0.5, 1.8, то они будут округлены до 4, 8, 2, 0, 2 соответственно.

image

Кодирование — это представление значений полученных уровней в виде какого-либо кода (например, двоичного).

Теперь рассмотрим, как вышеописанное происходит в цифровой телефонии.

Человеческая речь занимает полосу частот приблизительно 60-12000 Гц, однако для нормальной разборчивости достаточно полосы частот в 300-3400 Гц, т.е. верхняя граница составляет 3.4 кГц. Все, что выше 3.4 кГц «срезается» фильтром, для того чтобы избежать помех в будущем. Согласно теореме Котельникова, частота дискретизации для представления аналогового сигнала, ограниченного по спектру (помним о фильтре), в виде отсчетов должна превышать удвоенную верхнюю частоту сигнала. Для простоты расчетов, а также некоторого запаса, верхняя граница округляется до 4 кГц. Таким образом, частота дискретизации в нашем случае равна 8 кГц.

Квантование и кодирование практически всегда являются неотъемлемыми частями друг друга. Квантование в цифровой телефонии неравномерное, 256-уровневое. Неравномерность квантования выражается в том, что шаг квантования (расстояние между соседними уровнями в единицах измерения характеристики аналогового сигнала, которая квантуется; в данном случае — напряжение сигнала в вольтах) для малых амплитуд выбирается минимальным, для средних — бóльшим и для больших — самым большим. Это сделано для того, чтобы повысить точность передачи сигналов с низкой амплитудой. 256 уровней квантования можно «уместить» в одно 8-разрядное двоичное число, таким образом, один отсчет представляется в виде 8-разрядной кодовой комбинации. Все 256 уровней делятся на две группы: положительные и отрицательные. Для положительных сигналов первый бит в кодовой комбинации равен «1», для отрицательных — «0». Каждая группа делится на 8 сегментов. В пределах одного сегмента шаг квантования неизменный, в то время, как от сегмента к сегменту он меняется, увеличиваясь с возрастанием номера сегмента. Под номер сегмента отводятся следующие 3 бита. Последние 4 бита занимает номер уровня в сегменте, всего этих уровней 16. Итого имеем: 16 уровней × 8 сегментов × 2 группы = 256 уровней.

К примеру, число «10010101» представляет собой положительный сигнал (1), с уровнем 5 (0101) в 1-м сегменте (001).

Теперь можно посчитать скорость полученного цифрового сигнала:

B = 8000 отсчетов/сек × 8 бит/отсчет = 64000 бит/с = 64 кбит/с.

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

Спасибо за внимание.

P.S. Стоит ли писать продолжение?
Tags:
Hubs:
+64
Comments 29
Comments Comments 29

Articles