Рассмотрим рис. 4.9, на котором помимо контроля четности по строкам для всей приведенной информации рис. 4.8 введен еще контроль четности по столбцам (нижняя 8-я строка)
При наличии одиночной ошибки в этой 8x8 = 64-битовой матрице можно указать не только строку, содержащую ошибку, но и столбец с ошибкой, а значит — ошибочный бит, лежащий на пересечении строки и столбца (например, если обнаружена ошибка в 4 строке (1 в 8 столбце), 8-байтовой последовательности, а также в 4-ом столбце (1 в 8 строке), то, таким образом, обнаружен ошибочный бит в 4 строке 4-го столбца матрицы).
Итак, если обнаружен ошибочный бит, то он может быть элементарно исправлен: если в данном примере — 4 строка — 4 столбца — ошибка — 0, то вместо него ставится 1 (или наоборот).
Таким образом, матрица рис. 4.9 позволяет, при ее реализации в виде систематических байтовых кодеров [рис. 4.9 — (п, к) = (64, 49)] обнаружить и исправить одиночные ошибки. Однако, кратные ошибки этой схемой исправить невозможно. Для коррекции кратных ошибок применяются более совершенные и сложные схемы блочных кодеров.
На рис. 4.10 показана схема сверточного кодера (4, 2, 5), где п = 4, к = 2, К = 5, R = k/n = 0,5.
При сверточном кодировании величина к последовательных символов (в данной схеме К = 5) входной информационной последовательности по к = 2 бит в каждом символе участвует в образовании п-битовых (п = 4) символов выходной последовательности при п> к, причем на каждый символ входной последовательности приходится по одному символу выходной последовательности.
Рис. 4.10. Схема сверточного кодера (4, 2, 5)
Каждый бит выходной последовательности получается как результат суммирования по модулю 2 (от двух до Кк бит, то есть от 2 до 5x2 = 10 бит) К (К = 5) входных символов, для чего используется п (п = 4) сумматоров по модулю 2.
Итак, для данной схемы рис. 4.10 — сверточного кодера типа (п, к, К), где параметры кодера: п — число сумматоров по модулю 2, число бит выходной последовательности: п = 4; к — число бит в каждом символе входной информационной последовательности: к = 2; К — число символов входной информационной последовательности или длина ограничения.
Параметр К определяет длину сдвигового регистра (в символах), содержимое которого участвует в формировании одного выходного символа (сдвиговый регистр на 5 символов), вид кодера запишется (4, 2, 5) = (п, к, К), при скорости кодирования R = k/n = 2/4 = 0,5. Следует отметить, что после того, как очередной выходной символ сформирован (например, на рис. 4.10 сформирован первый п-4 битовый символ), входная последовательность из состояния К(0, 1) = 5, К(0, 0) = 4, К( 1, 0) = 3, К( 1, 1) = 2, К(0, 1) = 1 сдвигается на один символ вправо, то есть вместо К = 5 имеем К(0, 1) = 4, вместо К = 4 имеем К(0, 0) = 3, вместо К = 3 имеем К( 1, 0) = 2, вместо К-2 имеем К( 1, 1) = 1 и в результате чего символ К( 0, 1) = 1 выходит за пределы регистра.
Символы 2...5 далее перемещаются вправо, каждый на место соседнего, в результате чего по каждому шагу смещения символов входной информационной последовательности формируется новый выходной и-битовый символ, то есть в данном случае 10-битовая входная информационная последовательность «сворачивается» в 4-битовую выходную последовательность, а из 5 входных символов (по 2 бита в каждом) формируется один выходной п = 4-битовый символ.
Если число бит в символах сдвигового регистра входной информационной последовательности k- 1, то есть символы однобитовые (а не двухбитовые, как на рис. 4.10), то такой сверточный кодер называется двоичным.
На рис. 4.11 показана в качестве примера возможная схема двоичного сверточного кодера (4,1, 5).
Завершая рассмотрение основных принципов сверточного кодирования, необходимо отметить, что название сверточного кода обязано тому, что он может рассматриваться как свертка импульсной характеристики кодера и входной информационной последовательности.
Рис. 4.11. Схема двоичного сверточного кодера (4, 1, 5)
Перемежение
Перемежение (interleaving) представляет собой такое изменение порядка следования символов информационной последовательности, то есть такую перестановку символов, при которой стоявшие рядом символы оказываются разделенными несколькими другими символами. Перемежение, как процедура перестановки символов, предпринимается с целью преобразования групповых ошибок (пакетов ошибок) в одиночные ошибки, с которыми проще бороться с помощью блочного и сверточного кодирования.
Использование перемежения — одна из характерных особенностей систем сотовой мобильной связи, и это является следствием неизбежных глубоких замираний радиосигналов в условиях многолучевого распространения радиоволн, которые практически всегда имеют место, особенно в условиях плотной городской застройки, лесных массивов и пр.
При этом группа следующих один за другим символов, попадающих на интервал глубокого замирания сигнала, с большой вероятностью оказывается ошибочной.
Если же перед передачей информационной последовательности в радиоканал она подвергается процедуре перемежения, а на приемном конце восстанавливается прежний порядок следования символов, то пакеты ошибок с большой вероятностью рассыпаются на одиночные ошибки.
Существует несколько схем перемежения и их модификиции [4.4]: диагональная; блочная; сверточная и другие.
Рассмотрим кратко диагональную и блочную схемы перемежения, лежащие в основе схем, применяемых в сотовых системах мобильной связи.
Следует отметить, что в стандарте GSM применяется сложная схема блочно-диагонального перемежения.
Диагональная схема перемежения
В диагональной схеме перемежения входная информация делится на блоки, а блоки — на субблоки, при этом в выходной последовательности субблоки, например, второй половины предыдущего блока, чередуются с субблоками первой половины следующего блока.
На рис. 4.12 показана схема диагонального перемежения, где каждый блок состоит из 6 субблоков А/, второй — из субблоков Ъь третий — из субблоков С/.
Каждый субблок может состоять либо из нескольких символов, либо из одного символа и даже из одного бита. Как видно из рис. 4.12, выходная последовательность субблоков bt блока 2 перемежается с второй частью блока 3 и второй частью блока 1.
Приведенная схема диагонального перемежения вносит малую задержку, но расставляет соседние символы лишь через один, то есть рассредоточение ошибочных символов группы получается сравнительно небольшим.
Рис. 4.12. Схема диагонального перемежения
Блочная схема перемежения
На рис. 4.13 представлена схема блочного перемежения.
Рис. 4.13. Схема блочного перемежения
При блочном перемежении входная информация также делится на блоки, по л-суббло-ков (или символов) в каждом блоке, в выходной последовательности чередуются субблоки ка последовательных блоков.
Работу этой схемы можно представить в виде:
- записи блоков входной последовательности — в качестве строк матрицы размерности кхп,
- считывания информации, которое производится по столбцам.
Таким образом, если входная последовательность в этом примере имеет вид:
Субблоки, или символы, в частном случае, также могут состоять из одного бита.
Схема блочного перемежения вносит большую задержку, чем схема диагонального перемежения, но значительно сильнее рассредоточивает символы группы ошибок.
Общим недостатком обеих рассмотренных схем является жесткая периодичность следования переставленных символов в пределах интервала перемежения.
Кодек канала стандарта GSM
В кодеке канала кодируются/декодируются как речевая информация, так и информация каналов управления, то есть информация каналов трафика ТСН и информация каналов управления ССН.
В то время как в информации канала трафика кодируется лишь часть битов, информация каналов управления кодируется в полном обьеме.
Рассмотрим кодирование сегмента речевого сигнала (см. табл. 4.1), полученного на выходе кодера речи и имеющего:
- параметр фильтра STP — 36 бит,
- параметр фильтра LTP — 36 бит,
- параметр сигнала возбуждения (СВ) — 188 бит,
то есть за 20 мс передаются в сегменте речевого сигнала 260 бит.
В кодере канала 260 бит информации разделяются на 2 класса (рис. 4.14):
- класс 1 — в него включено 182 бита, защищаемых помехоустойчивым кодированием;
-
класс 2 — в него включены оставшиеся 260 - 182 = 78 бит, которые передаются без помехоустойчивого кодирования.
Рис. 4.14. Схема кодирования сегмента речевого сигнала
В свою очередь класс 1 делится на:
- подкласс 1а, к которому относятся параметры фильтра кратковременного предсказания STP (36 бит) и часть информации (14 бит) о параметрах фильтра долговременного предсказания LTP, то есть в подклассе 1а выделяется 50 = (36 + 14) бит существенной речевой информации, которая подвергается наиболее мощному помехозащищенному кодированию;
- подкласс 1в, в который включены остальные 182-50 = 132 бита, кодируется слабее, чем информация подкласса 1а. В подкласс 1в включаются 22 бита информации о параметрах фильтра LTP и 110 бит о параметрах сигнала возбуждения.
Итак, распределение цифровой информации (бит) по подклассам 1а, 1в и классу 2 реализовано (рис. 4.14) для сегмента речи в виде: 1а — 50 бит; 1в — 132 бит; 2 — 78 бит.
Кодирование информации подкласса 1а
1. Информация 50 бит кодируется блочным кодом — укороченным систематическим циклическим кодом (п, к) = (53, 50), то есть 3-битовый код четности позволяет обнаруживать ошибки. На выходе блочного кодера, таким образом, цифровая последовательность имеет 53 бита (избыточные 3 бита).
2. В специальном блоке информация подклассов 1а (53 бита) и 1в (132 бита) переупаковывается, располагаясь в такой последовательности:
- биты с четными индексами;
- код четности подкласса 1а;
- биты с нечетными индексами в обратной последовательности;
- четыре добавочных нулевых бита, то есть всего 53 + 132 + 4 = 189 бит.
3. Цифровая последовательность в 189 бит подается на вход сверточного кодера (кодера свертки) (л, к, К) = (2, 1, 5), имеющего скорость кодирования R = к!п = 0,5 и длину ограничения К - 5. В результате сверточного кодирования на выходе кодера получается цифровая последовательность в 189x2 = 378 бит.
Окончательно цифровые последовательности сегмента речи по блоку 1 — 378 бит и блоку 2 — 78 бит совместно составляют 456 бит, то есть скорость потока информации речи на выходе кодера канала равна 456/20-10_3 = 22,8 кбит/с.
Однако процесс кодирования речи перед подачей цифровых сигналов на модулятор на этом не завершается,.
В стандарте GSM используется достаточно сложная и совершенная схема блочного диагонального перемежения (рис. 4.15).
Полученные 456 бит информации одного 20-мил л исекундного сегмента речи разбиваются на 8 подсегментов по 57 бит каждый (456/8 = 57)
Рис. 4.15. Схема блочного диагонального перемежения
Далее в блоке перемежения реализуется алгоритм перемежения, обладающий свойствами квазислучайности, так что смежные биты исходной последовательности разделяется непостоянным числом бит, причем после перемежения 57 бит одного подсегмента распределяются между смежными восемью подсегментами таким образом, что смежными с каждым конкретным битом оказываются соответствующие ему по положению биты, отстоящие от него до перестановки на 4 подсегмента, причем на четные и нечетные (после перестановки) битовые позиции подсегмента ставятся биты из смежных сегментов.
Как показано в работе [4.8], таблица перемежения для речевой последовательности бит имеет вид:
После перемежения (рис. 4.15) 456 бит информации одного речевого сегмента распределяются по одноименным слотам (временным интервалам) четырех последовательных кадров канала трафика: два поля по 57 бит в слоте и каждое 57-битовое поле снабжается дополнительным скрытым флажком S, помечающим информацию речи (в отличие от информации управления канала, например, быстрого совмещенного канала управления FACCH, информация которого кодируется иначе).
Итак, длина слота канала трафика, с учетом добавления вспомогательной и служебной информации, составляет 3 + 57+1 + 26 + 1+ 57 + 3 + 8,25 = 156,25 бит, и поскольку информация одного 20-миллисекундного сегмента речи занимает по одному слоту в четырех последующих кадрах, скорость результирующего потока цифровой информации составляет (4х156,25)/20х1СГ3 = 625/20х10“3 = 31,25 кбит/с.
Эта информация (а именно 4x156,25 = 625 бит) сжимается во времени в 8 раз, так что на протяжении одного кадра длительностью 4,615 мс передается информация восьми временных слотов, в результате чего частота битовой последовательности возрастает до (8x31,25) = 250 кбит/с.
На каждые 12 кадров канала трафика, несущих речевую информацию (в мультикадре канала трафика информационными речевыми кадрами являются 1-12 и 14-25, в 13* кадре передается канал управления SACCH, а кадр 26* — пустой, для резервирования) добавляется по одному кадру с информацией управления канала SACCH (имеющую скорость 20,833 кбит/с). Таким образом, скорость информационной битовой последовательности (по речевому сигналу) на выходе кодера канала составляет: 250 + 20,833 = 270,833 кбит/с.
Следует отметить, что выше была рассмотрена процедура работы кодера канала только по помехоустойчивому кодированию речевой информации.
Информация же каналов управления подвергается блочному и сверточному кодированию в полном обьеме.
Так, для кодирования информации каналов: медленного совмещенного канала управления SACCH; быстрого совмещенного канала управления FACCH; канала вызова РСН; канала разрешения доступа AGCH; выделенных закрепленных каналов управления SDCCH используются блочный кодер (п, к) = (224, 184), сверточный кодер (п, к, К) = (2, 1, 5), а также схема перемежения, аналогичная схеме перемежения по речевому каналу.
В каналах синхронизации SCH и случайного доступа RACH используются другие схемы блочного кодирования, а также сверточные кодеры (2, 1, 5), отличающиеся от сверточных кодеров перечисленных выше каналов управления.
При передаче компьютерных данных используются более сложные схемы сверточного кодирования и перемежения, обеспечивающие соответственно и более высокое качество передачи информации.
В заключение рассмотрения кодера канала стандарта GSM в табл. 4.4 [4.4] приведены основные характеристики систем кодирования речи стандартов GSM и D-AMPS (США). Последняя строка таблицы показывает эффективность использования полосы частот, которая характеризуется скоростью передачи информации на выходе кодера канала, приходящейся на
1 Гц полосы, занимаемой частотным каналом 270,833* 103/(200*103) = 1,354 (бит/с)/Гц).
Таблица 4.4. Характеристики систем кодирования речи в стандартах GSM и D-AMPS
Декодер канала
Процесс декодирования информации после демодуляции выполняется в порядке, обратном кодированию (см. рис. 4.5):
1) снимается сжатие информации во времени, то есть информация возрастает во времени в 8 раз;
2) снимается перемежение, то есть восстанавливается последовательность битов после шифрования информации;
3) реализуется дешифрование информации;
4) реализуется разделение информационных потоков речи и управляющей информации;
5) при декодировании информации речи процесс идет следующими этапами:
- в начале (после эквалайзера) выполняется сверточное декодирование информации (класса 1), при этом исправляются ошибки в пределах возможностей кода свертки;
- далее по коду четности проверяется наличие остаточных ошибок в информации подкласса 1а, и, если такие ошибки обнаруживаются, информация данного сегмента не идет в последующую обработку, а заменяется интерполированной информацией смежных сегментов;
6) реализуется блочное декодирование речевой информации;
7) реализуется сверточное и блочное декодирование управляющей информации, которая далее поступает в CPU. После сверточного и блочного декодирования речевой информации сигналы (цифровая последовательность) подаются на вход декодера речи.