Прямое исправление ошибок (FEC) PDF Print E-mail
Written by Administrator   
Sunday, 19 August 2012 22:14

В стандарте 802.16—2004 для обнаружения и коррекции пачек передаваемых данных используются коды Рида—Соломона (Reed—Solomon). В этом случае FEC состоит из внешнего цепного кода Рида—Соломона и совмещенного внутреннего сверточного кода. Цепной код Рида—Соломона вместе со сверточным кодом обозначают RS-CC. FEC применяется и для линии вверх, и для линии вниз. Поддержка ВТС и СТС является опционной. Скорость сверточного кодирования в кодере Рида—Соломона равна 1/2 и всегда будет использоваться в качестве кодирующего режима при запросе доступа к сети. Кодирование выполняется пропусканием данных в блоковом формате через RS-кодер, затем данные пропускают через сверточный кодер СС. При использовании кода Рида—Соломона данные обрабатываются порциями, называемыми символами. В символе содержится М бит. Значение М является степенью 2. В стандарте 802.16—2004 принято широко применяемое значение М = 8. Передаваемый блок (данные + контрольный код) длиной N бит содержит N = (2м - 1) символов = М(2м - 1) бит. Блоки передают последовательностью пачек. Полагая длину блока данных К бит, получаем, что длина контрольного кода будет (N - К) бит. Обычно это записывают в виде параметров кода (N, К, 7), где Т — возможное количество исправляемых символов. Длину контрольного кода можно выразить через количество символов Т, которые можно исправить этим кодом (N - К) = 2 Т. Для кодов Рида— Соломона, применяемых в WiMAX, согласно стандарта 802.16—2004 параметры кода (N = 255, К = 239, Т= 8) символов. При (М = 8) длина каждого блока, подвергаемого кодированию, N = 2048 бит, длина блока данных К = = 1912 бит, Т- 64 бита.

Код Рида—Соломона, применяемый в WiMAX, относится к так называемому подклассу недвоичных БЧХ (код Боуза—Чоудхури—Хоквингема) кодов.
В кодере блоки длиной N разбиваются на группы. Каждая группа преобразуется в символы длиной М = 8 так, что N = (2м - 1). Преобразование произво-

g

дится с использованием полей Галуа GF(2 ) (Galois Field). Кодирование производится систематическим кодом. После пермежения каждый символ преобразуется обратно в эквивалентную двоичную форму.

Полиномы, используемые для систематического кода:

□    полином генератора кода: g(x) = (х + 10)(х + 11)(х +12)... (х + А2Т - 1)Д = = 02НЕХ;

_    ,..8 4 3 2 ,

□    полином генератора поля: р(х) = х +х +х + х +1.

Код укорачивается прореживанием, для того чтобы сделать возможным существование блоков прежней длины и варьировать возможность исправлять ошибки разной длины. Когда блок укорачивается до К' байтов данных, то в качестве префикса добавляются 239 - К' нулевых байтов. После окончания кодирования эти нулевые байты отбрасываются. Когда кодовое слово прореживается, чтобы сделать возможным коррекцию Т байтов, то будут использоваться только первые 2Т из общего количества 16 паритетных байтов. Бито-байтовое преобразование будет иметь место в начале старшего бита MSB.

Каждый RS-блок кодируется бинарным сверточным кодером, который должен иметь присущую ей скорость 1/2. Ограничительная длина равна 7.