Септик термит еще здесь. . По материалам: Рязанцев: "В Европе все играют в таком же ритме, как и мы - это не оправдание".
КАНАЛЬНОЕ КОДИРОВАНИЕ PDF Print E-mail
Written by Administrator   
Tuesday, 08 May 2012 18:07

Кодер канала - второй (и последний) элемент собственно цифрового участка передающего тракта (рис.6). Он следует после кодера речи и предшествует модулятору, осуществляющему перенос информационного сигнала на несущую частоту. Основная задача кодера канала - помехоустойчивое кодирование сигнала речи, т.е. такое его кодирование, которое позволяет обнаруживать и в значительной мере исправлять ошибки, возникающие при распространении сигнала по радиоканалу от передатчика к приемнику. Помехоустойчивое кодирование осуществляется за счет введения в состав передаваемого сигнала довольно большого объема избыточной (контрольной) информации. В английской терминологии такое кодирование носит наименование Forward Error Correcting coding (FEC coding), т.е. кодирование с упреждающей коррекцией ошибок, или кодирование с коррекцией ошибок на проходе. В сотовой связи помехоустойчивое кодирование реализуется в виде трех процедур - блочного кодирования (block coding), сверточного кодирования (convolutional coding) и перемежения (interleaving). Кроме того, если оставаться в рамках блок-схемы рис. 6, кодер канала выполняет еще ряд функций: добавляет управляющую информацию, которая, в свою очередь, также подвергается помехоустойчивому кодированию; упаковывает подготовленную к передаче информацию и сжимает ее во времени; осуществляет шифрование передаваемой информации, если таковое предусмотрено режимом работы аппаратуры. Последовательность выполнения этих задач показана на блок-схеме рис. 23.


При блочном кодировании (рис. 24) входная информация разделяется на блоки, содержащие по k символов каждый, которые по определенному закону преобразуются кодером в n-символьные блоки, причем n > k. Отношение R = k/n носит наименование скорости кодирования (coding rate) и является мерой избыточности, вносимой кодером. При рационально построенном кодере меньшая скорость кодирования, т.е. большая избыточность, соответствует более высокой помехоустойчивости.

Повышению помехоустойчивости способствует также увеличение длины блока. Блочный кодер с параметрами n, k обозначается (n, k). Если символы входной и выходной последовательностей являются двоичными, т.е. состоят из одного бита каждый, то кодер называется двоичным (binary); именно двоичные кодеры используются в сотовой связи. Схема, представленная на рис. 24, соответствует двоичному блочному кодеру (5, 4). Каждый бит блока выходной информации получается как сумма по модулю 2 нескольких бит (от одного до k) входного блока, для чего используется n сумматоров по модулю 2. Правила двоичного суммирования по модулю 2 определяются табл.2. Один из сумматоров на схеме рис. 24 (второй справа) является вырожденным - на его вход поступает лишь одно слагаемое.


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

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

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

Если, помимо контроля четности по строкам для всей приведенной информации (рис.26а), ввести еще и контроль чётности по столбцам (нижняя строка на рис.26б), то при наличии одиночной ошибки в этом 64-битовом блоке мы сможем указать не только строку, содержащую ошибку, но и столбец с ошибкой, а следовательно - и ошибочный бит, лежащий на пересечении этих строки и столбца. А если известно, что бит ошибочен, то он элементарно исправляется, поскольку для этого достаточно заменить нуль на единицу или единицу на нуль - в зависимости от того, каково значение ошибочного бита. Кратные ошибки этой схемой уже не исправляются. Для коррекции кратных ошибок нужно использовать более совершенные (и более сложные) схемы кодеров. Заметим, что рис. 26б соответствует систематическому двоичному блочному кодеру (64, 49), и при желании его схема без труда может быть построена по аналогии с рис.25.

При сверточном кодировании (рис. 27) К последовательных символов входной информационной последовательности, по k бит в каждом символе, участвуют в образовании n-битовых символов выходной последовательности, n > k, причем на каждый символ входной последовательности приходится по одному символу выходной.

Каждый бит выходной последовательности получается как Результат суммирования по модулю 2 нескольких бит (от двух до Kk бит) К входных символов, для чего используются п сумматоров по модулю 2. Сверточный кодер с параметрами n, k, К обозначается (n, k, K). Отношение R = k/n, как и в блочном кодере, называется скоростью кодирования.

Параметр К называется длиной ограничения (constraint length); он определяет длину сдвигового регистра (в символах), содержимое которого участвует в формировании одного выходного символа.

После того как очередной выходной символ сформирован, входная последовательность сдвигается на один символ вправо (рис. 27), в результате чего символ 1 выходит за пределы регистра, символы 2…5 перемещаются вправо, каждый на место соседнего, а на освободившееся место записывается очередной символ входной последовательности, и по новому содержимому регистра формируется следующий выходной символ. Название сверточного кода обязано тому, что он может рассматриваться как свертка импульсной характеристики кодера и входной информационной последовательности. Если k = 1, т.е. символы входной последовательности однобитовые, сверточный кодер называется двоичным. Сверточный кодер, схема которого приведена на рис. 27, не является двоичным, поскольку для него k = 2.



Рис.28. Пример схемы диагонального перемежения

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

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

При блочном перемежении входная информация также делится на блоки, по n субблоков (или символов) в каждом, и в выходной последовательности чередуются субблоки k последовательных блоков. Работу этой схемы можно представить себе в виде записи блоков входной последовательности в качестве строк матрицы размерности k х п (рис. 26), считывание информации из которой производится по столбцам. Следовательно, если входная последовательность в этом примере имела вид а1, а2, … аn, b1, b2, … bn, … k1, k2 …kn, то выходная будет такой: a1, b1, … k1, a2, b2, … k2, … an, bn, … kn. Субблоки, или символы, в частном случае здесь также могут состоять лишь из одного бита. Схема блочного перемежения вносит большую задержку, чем диагонального, но значительно сильнее рассредоточивает символы группы ошибок.

В стандарте GSM 260 бит информации, кодирующих параметры 20-миллисекундного сегмента речи, разделяются на два класса: класс 1 - 182 бита, защищаемые помехоустойчивым кодированием, и класс 2 - оставшиеся 78 бит, которые передаются без помехоустойчивого кодирования. В свою очередь, из 182 бит класса 1 выделяются 50 наиболее существенных бит, составляющих подкласс 1а, которые подвергаются более мощному кодированию, а остальные 132 бита класса 1 составляют подкласс 1b и кодируются слабее. К подклассу 1а относятся параметры фильтра кратковременного предсказания и часть информации о параметрах фильтра долговременного предсказания, к подклассу 1b - часть информации о параметрах сигнала возбуждения и оставшаяся информация о параметрах фильтра долговременного предсказания, к классу 2 - оставшаяся информация о параметрах сигнала возбуждения.

Информация подкласса 1а кодируется блочным кодом, обнаруживающим ошибки, - укороченным систематическим циклическим кодом (53, 50), дающим 3-битовый код четности. Затем вся информация класса 1 переупаковывается, располагаясь в такой последовательности: биты с четными индексами, код четности подкласса 1а, биты с нечетными индексами в обратной последовательности, четыре добавочных нулевых бита - всего 189 бит. Эти 189 бит подаются на сверточный кодер (2, 1, 5) со скоростью кодирования Д = 1/2 и длиной ограничения К = 5. В результате 378 бит с выхода сверточного кодера вместе с 78 битами класса 2 составляют 456 бит, т.е. поток информации речи на выходе кодера речи равен 456 бит/20 мс, или 22,8 кбит/с. При декодировании информации речи также сначала выполняется свёрточное декодирование информации класса 1, и при этом исправляются ошибки в пределах возможностей кода свертки. Затем по коду четности проверяется наличие остаточных ошибок в информации подкласса 1а, и, если такие ошибки обнаруживаются, информация данного сегмента не идет в последующую обработку, а заменяется интерполированной информацией смежных сегментов.

Перед выдачей в канал связи закодированная информация речи также подвергается перемежению. В стандарте GSM используется достаточно сложная и совершенная схема блочно-диагонального перемежения. 456 бит информации одного 20-миллисекундного сегмента речи разбиваются на 8 подсегментов, и 57 бит одного подсегмента распределяются между смежными восемью подсегментами таким образом, что после перемежения смежными с каждым конкретным битом оказываются соответствующие ему по положению биты, отстоявшие от него до перестановки на 4 подсегмента, причем на четные и нечетные (после перестановки) битовые позиции подсегмента ставятся биты из смежных сегментов. Алгоритм перемежения обладает свойствами квазислучайности, так что смежные биты исходной последовательности оказываются разделенными непостоянным числом бит, что является преимуществом в борьбе с периодическими битовыми ошибками.

После перемежения 456 бит информации одного сегмента распределяются по одноименным слотам четырех последовательных кадров канала трафика - два поля по 57 бит в слоте (рис.9), и каждое 57-битовое поле снабжается дополнительным скрытым флажком, помечающим информацию речи (в отличие от информации управления канала FACCH, которая кодируется иначе).

Информация каналов управления подвергается блочному и свёрточному кодированию в полном объеме. Так, для кодирования информации каналов SACCH, FACCH, FCCH, РСН, AGCH, SDCCH используется блочный кодер (224, 184), сверточный кодер (2, 1, 5), и та же схема перемежения, что и для канала трафика. В каналах RACH, SCH используются другие схемы блочного кодирования, а также сверточные кодеры (2, 1, 5), отличающиеся от сверточных кодеров перечисленных ранее каналов управления. При передаче данных используются более сложные схемы сверточного кодирования и перемежения, обеспечивающие соответственно и более высокое качество передачи информации.

Длительность слота канала трафика, с учетом добавления вспомогательной и служебной информации (рис.9), составляет 156,25 бит, и, поскольку информация одного 20-миллисекундного сегмента речи занимает по одному слоту в четырех последовательных кадрах, результирующий поток информации составляет 625 бит/20 мс, или 31,25 кбит/с. Эта информация сжимается во времени в 8 раз, так что на протяжении одного кадра длительностью 4,615 мс передается информация восьми временных слотов (рис.9), в результате чего частота битовой последовательности возрастает до 250 кбит/с.

Наконец, на каждые 12 кадров канала трафика, несущих информацию речи, добавляется по одному кадру с информацией управления канала SACCH (кадры 13 и 26 мультикадра канала графика на рис.9). Таким образом, частота информационной битовой последовательности на выходе кодера канала составляет 270,833 кбит/с.

Для наглядности основные характеристики системы кодирования речи стандартоа GSM представлены в виде сводки табл.3. В последней строке таблицы дана эффективность использования полосы частот, характеризуемая частотой битовой последовательности на выходе кодера канала, приходящейся на 1 Гц полосы, занимаемой частотным каналом.