Ратынский М.В. Основы сотовой связи (1998) (1151876), страница 23
Текст из файла (страница 23)
такое его кодирование, которое позволяет обнаруживать и в значительной мере исправлять ошибки, возникающие при распространении сигнала по радиоканалу от передатчика к приемнику. Помехоустойчивое кодирование осуществляется за счет введения в состав передаваемого сигнала довольно большого объема избыточной (контрольной) информации.
В английской терминологии такое кодирование носит наименование Еоплгагг) Е)гог Соггес()пд сог)(лд (ЕЕС солод), т,е. кодирование с упреждающей коррекцией ошибок, или кодирование с коррекцией ошибок на проходе'). В сотовой связи помехоустойчивое кодирование реализуется в виде трек процедур — блочного кодирования (Ыос)с сооулд), сверточного кодирования (солке)одопа! соб(глд) и перемеження ((л(егlеау(лд). Кроме того, если оставаться в рамках блоксхемы рис. 2.6, кодер канала выполняет еще ряд функций, добавляет управляющую информацию, которая, в свою очередь, также подвергается помехоустойчивому кодированию; упаковывает подготовленную к передаче информацию и сжимает ее во времени; осуществляет шифрование передаваемой информации, если таковое предусмотрено режимом работы аппаратуры.
Последовательность выполнения этих задач показана на блок-схеме рис. 2.40. Начало технике помехоустойчивого кодирования было положено оригинальной работой Шеннона (1948 г.), который, в частности, показал, что если пропускная способность канала связи больше требуемой скорости передачи информации, т.е. больше производительности источника информации, то при использовании соответствующего алгоритма помехоустойчивого кодирования для данного канала можно построить систему связи со сколь угодно малой вероятностью ошибки на выходе.
Правда, доказав существование необходимых помехоустойчивых кодов, Шеннон не указал методов их построения, и для решения этой задачи потребовались значительные усилия и значительное время. Первый блочный код был предложен Хэммингом в 1950 г., первый сверточный код — Элиасом в 1955 г. В последующие годы помехоустойчивое кодирование' получило развитие, прежде всего в направлениях построения хороших кодов и удобных схем кодирования и декодирования. 'В качестве альтернативы возможно значительно более простое помехоустойчиаое кодирование, позволяющее лишь обнаруживать ошибки, но не исправлять их Если при этом нужна коррекция ошибок, то сообщения, содержащие ошибки, передаются повторно — это коррекция ошибок с перезапросом (Аатоглаас яереаГ яеацезк Аяс— запрос автоматического повторения, или перезапрос) Коррекция ошибок с перезапросом используется, например, в беспроводном телефоне 1 1 ! 1 1 $ ! 1 ! 3 1 ! ! ! ! 3 1 ! 1 ! 1 Ф з л о о й с Ы Ю Ф с О с о Б а Ю М о ф~ о с л ~о о Глава 2 106 Начало практического применения методов помехоустойчивого кодирования в цифровых системах связи и цифровых системах памяти относится к концу 70-х — началу 80-х годов.
Дальнейшее знакомство с работой кодера канала построим следующим образом. Сначала мы в общих чертах познакомимся с блочным и сверточным кодированием и перемежением, затем рассмотрим конкретные схемы канальных кодеров стандартов ОАМРЗ и 6БМ и в заключение приведем сводку потоков информации в кодерах обоих стандартов. Вопроса шифрования информации мы коснемся в равд, 3,4. При блочном кодировании (рис. 2.41) входная информация разделяется на блоки, содержащие по (г символов каждый, которые по определенному закону преобразуются кодером в и-символьные блоки, причем и > (г. Отношение Я = )г/и носит наименование скорости кодирования (сооупд га(е) и является мерой избыточности, вносимой кодером. При рационально построенном кодере меньшая скорость кодирования, т.е. большая избыточность, соответствует более высокой помехоустойчивости.
Повышению помехоустойчивости способствует также увеличение длины блока. Блочный кодер с параметрами п,(г обозначается (л, в). Если символы входной и выходной последовательностей являются двоичными, т.е. состоят из одного бита каждый, то кодер называется двоичным ((влагу); именно двоичные кодеры используются в сотовой связи. Схема, представленная на рис. 2,41, соответствует двоичному блочному кодеру (5, 4). Каждый бит блока выходной информации получается как сумма по модулю 2 нескольких бит (от одного до (г) входного блока, для чего используется и сумматоров по модулю 2.
Правила двоичного суммирования по модулю 2 определяются табл. 2.9. Один из сумматоров на схеме рис. 2.41 (второй справа) является вырожденным — на его вход поступает лишь одно слагаемое. Таблица 2.9. Алгоритм двоичного суммирования по модулю 2 107 Прннпнпы построения н техпнческне проблемы Блок входной информации Сумматоры по модулю 2 + + + + + Блок выходной информации Рис. 2.41. Схема двоичного блочного кодера (5, 4) (и = 5, й = 4; В = й/и = 4/5) Блок входной информации Блок выходной информации Рис. 2,42. Схема систематического двоичного блочного кодера )8, 7) 108 Глава 2 На рис.
2.42 показана схема другого блочного кодера — это так называемый систематический кодер. Отличительная особенность систематического кодера состоит в том, что в состав блока выходной информации включается полностью блок входной информации; тривиальные сумматоры, соответствующие формированию этой части выходного блока, на схеме не показаны. Систематический кодер рис. 2.42 — простейший; выходной блок, помимо копии входного, содержит лишь один избыточный бит, который является суммой по модулю 2 всех бит входного блока.
Этот избыточный бит называется кодом контроля четности, поскольку, как нетрудно убедиться, число единиц в выходном блоке, с учетом контрольного бита, оказывается четным. Для 8-битового блока двоичной информации используется наименование байт, и схема рис. 2.42 может быть названа схемой побайтного контроля четности, На примере этой схемы мы покажем возможность обнаружения ошибок при помощи блочного кода, а затем, несколько усложнив схему кодирования, — и возможность коррекции ошибок. На рис. 2.43,а показаны семь блоков выходной информации кодера рис.
2.42, причем последний бит в каждом байтовом блоке, отмеченный затененным фоном, является кодом четности. Очевидно, что при наличии одиночной ошибки в любом блоке, включая и ошибку в коде четности, нарушается правило формирования кода четности, на основании чего она и обнаруживается.
Однако ошибка локализуется лишь с точностью до байта, а потому не может быть исправлена, ибо неизвестно, какой именно бит в байте ошибочен. Столь же очевидно, что двойная ошибка в блоке (и вообще — ошибка в четном числе бит) этой схемой не обнаруживается. Если, помимо контроля четности по строкам для всей приведенной информации (рис.
2.43,а), ввести еще и контроль четности по столбцам (нижняя строка на рис. 2.43,6), то при наличии одиночной ошибки в этом 64-битовом блоке мы сможем указать не только строку, содержащую ошибку, но и столбец с ошибкой, а следовательно — и ошибочный бит, лежащий на пересечении этих строки и столбца. А если известно, что бит ошибочен, то он элементарно исправляется, поскольку для этого достаточно заменить нуль на единицу или единицу на нуль — в зависимости от того, каково значение ошибочного бита. Кратные ошибки этой схемой уже не исправляются. Для коррекции кратных ошибок нужно использовать более совершенные (и более сложные) схемы кодеров.
Заметим, что рис. 2.43,6 соответствует систематическому двоичному блочному кодеру (64, 49), и при желании его схема без труда может быть построена по аналогии с рис. 2.42. При сверточном кодировании (рис. 2.44) К последовательных символов входной информационной последовательности, по К бит в каждом символе, участвуют в образовании и-битовых символов выходной последовательности, и > К причем на каждый символ входной последовательности приходится по одному символу выходной, 109 Принципы построении и технические праблены б) Рис 2 43.
К возможности обнаружения и коррекции ошибок при блочном кодировании: а — побайтовый контроль четности позволяет обнаружить одиночные ошибки в байтах, б — добавление еше 8 бит контроля позволяет исправить одиночную ошибку в восьми байтах Каждый бит выходной последовательности получается как результат суммирования по модулю 2 нескольких бит (от двух до КК бит] К входных символов, для чего используются и сумматоров по модулю 2. Сверточный кодер с параметрами и, )г, К обозначает- Глава 2 НО Сдвиговый регистр на 5 символов Символ 2 Символ! Символ О Символ 4 Символ 3 Входная информационная последовательность Сумматоры пс модулю 2 Выходной п-битовый символ Рис. 2.44.
Схема сверточного кодера (4, 2, 5) (и = 4, К = 2, й = К/и = 1У2) ся (и, К, К ). Отношение Я = Куп, как и в блочном кодере, называется скоростью кодирования. Параметр К называется длиной ограничения (сопзтгэ(п(!епд()2), он определяет длину сдвигового регистра (в символах), содержимое которого участвует в формировании ОднОГО ВыхОднОГО симВОла. После того как очередной выходной символ сформирован, входная последовательность сдвигается на один символ вправо (рис. 2.44), в результате чего символ 1 выходит за пределы регистра, символы 2...5 перемещаются вправо, каждый на место соседнего, а на освободившееся место записывается очередной символ входной последовательности, и по новому содержа)мому регистра формируется следующий выходной символ.