Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Кодирование и декодирование в современных модемах
Построение кодеров и декодеров в соответствии с алгоритмом, приведённом выше, имеет следующий недостаток: при приёме вектора кода остаток R(х), вычисленный в схеме деления декодера, равен 0; при отсутствии передачи информации (например, при обрыве канала связи или при ложном объединении двух кодовых комбинаций в одну) R(x) так же равен 0.
Для ликвидации этого недостатка в современных модемах применяют несколько иной алгоритм кодирования и декодирования систематического циклического кода, аппаратурная реализация которого незначительно отличается от рассмотренной ранее.
С целью удобства изложения алгоритмы кодирования и декодирования (в режиме обнаружения ошибок), описанные ранее, назовём классическими. Вновь описываемые алгоритмы, реализуемые в современных сетях передачи информации, назовём стандартными.
Стандартный алгоритм построения кодера систематического, циклического n,k кода заключается в следующем:
1шаг: умножаем на и прибавляем к этому многочлену где
Первый шаг классического алгоритма заключается только в умножении на . Рассмотрим чем отличается от .
Многочлен
.
Учитывая, что коэффициенты многочлена из поля GF(2), сложение многочлена n-1степени с многочленом равносильно инвертированию в многочлене коэффициентов при , где .
2 шаг: делим на и получаем остаток от деления , прибавляем к многочлен .
Отсюда отличается от остатка , полученного в классическом алгоритме, слагаемым не зависящим от информационных символов. Получим далее
Суммирование многочленастепени непревышающей n-k-1 (так как это остаток деления на многочлен степени n-k) с коэффициентами из поля GF(2) с многочленом , равносильно инвертированию коэффициентов многочлена . Таким образом многочлен отличается от только инвертированием коэффициентов.
3 шаг: получаем вектор систематического циклического кода как сумму , т.е. вектор кода .
Так же как в классическом алгоритме степень любого слагаемого
многочлена не меньше степени n-k, а степень многочлена меньше степени многочлена , т.е. меньше n-k, поэтому сложение и это по существу приписывание за .
Таким образом, вектор кода в стандартном алгоритме отличается от вектора корда полученного в классическом алгоритме только способом вычисления проверочных разрядов.
Стандартный алгоритм реализуется той же схемой кодирования, что и классический алгоритм. Отличие кодера, реализующего стандартный алгоритм, заключается лишь в том, что в ячейки памяти пред началом кодирования параллельно записываются «1» (в классическом алгоритме пред началом кодирования в этих ячейках записаны «0»).
В режиме обнаружения ошибок над принятым вектором осуществляются следующие операции:
1 шаг: вектор степени n-1умножаем на (получаем многочлен степени 2n-k-1), результат умножения складываем с многочленом . По существу результат сложения это инвертирование коэффициентов многочлена .
2 шаг: делим многочлен на и определяем остаток от деления. Рассмотрим чему равен остаток при отсутствии ошибок в канале связи, т.е.при .
Так как делится на в соответствии с классическим алгоритмом (т.е. остаток от деления равен 0), то первое слагаемое этого выражения равно 0 и
Таким образом принятое кодовое слово принадлежит коду, если - фиксированный при заданном многочлен степени не прерывающий степени .При ином результате деления ошибка обнаруживается.
Данный алгоритм обнаружения ошибок реализует той же схемой деления на , что и классический алгоритм. Отличие заключается в том, что в ячейке памяти перед приёмом кодового вектора записываются «единицы».
В современных сетях передачи информации стандартизированы многочлены . Так рекомендацией ITU-T V.41 стандартизируется многочлен, . Его обозначают CCITT-16 (или MKKTT-16). Этот многочлен используется в протоколе X Modem-CRC и производных от него протоколах передачи файлов.
Протокол двоичной синхронной передачи (BSC-Binary Synchronous Communications) фирмы IBM используют так же многочлен 16 степени CRC-16(данный многочлен определяется альтернативной процедурой Приложения А к стандарту V.42 ITU-T).
В рассматриваемых протоколах проверочные символы занимают 16 разрядов.
Рекомендацией V.42 стандартизирован многочлен CCITT-32 .
В векторе кода в этом случае для передачи проверочных символов используется 32 разряда. Находит применение и многочлен CRC-12: .