СПОСОБ ДЕКОДИРОВАНИЯ ЦИКЛИЧЕСКОГО ПОМЕХОУСТОЙЧИВОГО КОДА Российский патент 2004 года по МПК H03M13/00 H03M13/15 G06F11/14 

Описание патента на изобретение RU2231216C2

Изобретение относится к области техники связи и может быть использовано в системах передачи данных, а также в системах телеизмерения и телеуправления для приема информации без предварительного фазирования.

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

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

Предлагаемый способ направлен на решение актуальной задачи повышения помехоустойчивости приема циклического кода при работе в каналах с высоким уровнем помех.

Известен способ декодирования циклического помехоустойчивого кода, при котором на приемной стороне вычисляют синдром помехоустойчивого кода. При обнаружении неискаженного помехоустойчивого кода, что определяется по нулевому синдрому, принимают решение о приеме помехоустойчивого кода и затем выделяют информационную часть помехоустойчивого кода [1].

Этот способ имеет невысокую помехоустойчивость, обусловленную низкой вероятностью правильной синхронизации и тем, что декодирование помехоустойчивого кода выполняют только с обнаружением ошибок, без их исправления.

Известен также способ декодирования циклического помехоустойчивого кода, при котором на передающей стороне формируют выходную последовательность, представляющую собой сумму по модулю два циклического помехоустойчивого кода и синхронизирующей последовательности, на приемной стороне последовательность умножают на проверочный полином помехоустойчивого кода и в результате вычисляют синхронизирующую последовательность. При обнаружении определенной комбинации синхронизирующей последовательности принимают решение о наличии цикловой синхронизации и затем выделяют информационную часть помехоустойчивого кода [2].

Однако и этот способ имеет низкую помехоустойчивость, в связи с тем, что декодирование помехоустойчивого кода выполняют только с обнаружением ошибок, без их исправления.

Наиболее близким к предлагаемому способу является способ (прототип) декодирования циклического помехоустойчивого кода, заключающийся в том, что на передающей стороне формируют выходную последовательность, представляющую собой сумму по модулю два циклического помехоустойчивого кода и синхронизирующей последовательности. На приемной стороне принятую последовательность сначала умножают на проверочный полином помехоустойчивого кода и в результате вычисляют синхронизирующую последовательность. Далее осуществляют обнаружение определенной комбинации синхронизирующей последовательности с учетом ошибок, наложенных на принятую последовательность в канале связи. При обнаружении синхронизирующей последовательности принимают решение о наличии цикловой синхронизации и выделяют помехоустойчивый код. Затем определяют комбинацию ошибок и осуществляют исправление ошибок в информационной части помехоустойчивого кода [3].

Недостатком этого способа также является невысокая помехоустойчивость, поскольку прием сообщения возможен лишь при наличии в кодовом слове ошибок, кратность которых не выше исправляющей способности кода.

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

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

Рассмотрим осуществление предлагаемого способа декодирования циклического помехоустойчивого кода.

На передающей стороне формируют выходную последовательность. Для этого исходное сообщение объемом k символов вначале кодируют циклическим помехоустойчивым кодом. В результате кодирования информации получают слово циклического кода C(n,k)=a0,a1,...,аn-1, информационная длина которого составляет k символов, а блоковая - n символов. Поскольку код является циклическим, существует рекуррентное соотношение, с помощью которого можно получить все контрольные символы кода

Далее слово циклического кода C(n,k) рекуррентно продолжают с помощью того же соотношения до длины n1 ≥ n и при этом в силу цикличности помехоустойчивого кода получают последовательность, состоящую из тех же символов кода

K(n1,k)=a0,a1,...,an-1,a0,a1,...,an-1,...,a0,a1,...,an-1,

т.е. получают код с повторением. Свойством такого кода, в отличие от обычного кода с повторением, будет то, что любая комбинация символов в скользящем окне длины n символов будет словом помехоустойчивого кода C(n,k).

Далее формируют постоянную циклическую синхронизирующую последовательность длины n символов. Такой последовательностью может быть любая последовательность подходящей длины с хорошими синхронизирующими свойствами, например последовательность максимальной длины (код Рида-Маллера 1-го порядка). Эту последовательность рекуррентно продолжают до длины n1 символов

D(n1)=d0, d1,..., dn-1, d0, d1,..., dn-1,..., d0, d1,..., dn-1.

Символы выходной последовательности на передающей стороне

В(n1)=b0, b1,...,bn-1, b0, b1,...,bn-1,..., b0, b1,...,bn-1

получают сложением по модулю два символов циклического кода с символами синхронизирующей последовательности:

bi=ci ⊕ di i=0...n-1.

На приемной стороне принятая последовательность, из-за ошибок в канале связи, в общем случае отличается от передаваемой последовательности B(n1) и может быть записана в виде:

Bl(n1)=b10

,b11
,...,b1n-1
,b20
,b21
,...,b2n-1
,...,bj0
,bj1
,...,bjn-1
.

После приема последнего символа bjn-1

из канала связи декодируют последнее принятое кодовое слово bj0
, bj1
,...,bjn-1
, а также формируют и декодируют циклические продолжения принятой последовательности.

В предлагаемом способе под циклическим продолжением принятой последовательности будем понимать кодовое слово, составленное из последних i(i=n-1...1) символов принятой последовательности, дополненных до длины n символов ранее принятыми символами, так что совокупность нижних индексов всех символов циклического продолжения составляет циклическую последовательность.

Например, принятая последовательность

B1(n1)=bl0

,b11
,...,b1n-1
,b20
,b21
,...,b2n-1
,...,bj0
,bj1
,...,bjn-1

вместе с возможными циклическими продолжениями запишется в виде

bl0

,b11
,...,b1n-1
,b20
,b21
,...,b2n-1
,...,bj0
,bj1
,...,bjn-1
,bj-10
,bj-11
,...,bj-1n-2
;

bl0

,b11
,...,b1n-1
,b20
,b21
,...,b2n-1
,...,bj0
,bj1
,...,bjn-1
,bj-20
,bj-21
,...,bj-2n-2
;

bl0

,b11
,...,b1n-1
,b20
,b21
,...,b2n-1
,...,bj0
,bj1
,...,bjn-1
,b10
,b11
,...,b1n-2
;

а сами циклические продолжения будут представлены следующими кодовыми словами

bj1

,...,bjn-1
,bj-10
; bj2
...,bjn-1
,bj-10
,bj-11
; bj3
,...,bjn-1
,bj-10
,bj-11
,bj-12
; ...

bj1

,...,bjn-1
,bj-20
; bj2
,...,bjn-1
,bj-20
,bj-21
; bj3
,...,bjn-1
,bj-20
,bj-21
,bj-22
; ...

bj1

,...,bjn-1
,b10
; bj2
,...,bjn-1
,b10
,b11
; bj3
,...,bjn-1
,b10
,b11
,b12
;…

Всего может быть сформировано (j-1)x(n-1) циклических продолжений: для каждого из j-1 повторений кодового слова в принятой последовательности можно записать n-1 циклических продолжений.

Помимо декодирования последнего принятого кодового слова осуществляют также декодирование циклических продолжений.

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

При декодировании безошибочного кодового слова синдром кода равен нулю и в результате вычисления синдрома будет получена n-k разрядная двоичная комбинация d0, соответствующая преобразованной синхронизирующей последовательности.

При поступлении на вход последовательности с ошибками будет вычислена комбинация из некоторого множества {di}, i≠0, соответствующая сумме ненулевого синдрома кода si и преобразованной синхронизирующей последовательности: di=si ⊕ d0.

Далее, распознавая комбинацию do, либо комбинацию из множества {di}, осуществляют обнаружение синхронизирующей последовательности. Это возможно, если кратность ошибок лежит в пределах исправляющей способности кода, при этом на синхронизирующую последовательность будет наложен ненулевой синдром, значения которого для различных исправляемых комбинаций ошибок будут отличаться друг от друга. Обнаружение синхронизирующей последовательности можно выполнять, например, с помощью заранее составленной таблицы. Входом такой таблицы являются все синдромы для исправляемых комбинаций ошибок в сумме с синхронизирующей последовательностью, а выходом - фаза сдвига синхронизирующей последовательности, т.е. величина циклического сдвига помехоустойчивого кода.

Обнаружение синхронизирующей последовательности в комбинации d0, либо в комбинации из множества {di}, позволяет осуществить цикловую синхронизацию помехоустойчивого кода, т.е. определить начало помехоустойчивого кода.

Далее синхронизирующую последовательность вычитают из входной последовательности, и в результате получают слово помехоустойчивого кода.

Для неискаженного кодового слова информационная часть в неизменном виде может быть передана получателю сообщения.

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

Наложение синхронизирующей последовательности на кодовые слова на передающей стороне придает словам помехоустойчивого кода свойство самосинхронизируемости и не требует введения дополнительной избыточности кода для целей синхронизации. Такую синхронизацию можно называть кодовой цикловой синхронизацией.

В предлагаемом изобретении, в отличие от известного способа, декодирование кодового слова осуществляют в окне, которое перемещается также и по циклическим продолжениям принятой последовательности. При этом для правильного декодирования количество ошибок в скользящем окне должно находиться в пределах исправляющей способности помехоустойчивого кода, а в оставшейся части принятой последовательности может быть произвольное число ошибок, не приводящее к трансформации помехоустойчивого кода. Последнее условие для большинства помехоустойчивых кодов не является жестким, поскольку, как правило, вероятность трансформации помехоустойчивого кода значительно меньше вероятности обнаружения ошибок. За счет удлинения принятой последовательности на величину ее циклических продолжений и увеличения тем самым количества попыток декодирования кода помехоустойчивость предлагаемого способа декодирования выше известного. На практике даже использование небольшой части всех возможных циклических продолжений кода для повышения помехоустойчивости может дать существенный выигрыш. Например, в предлагаемом способе, в отличие от известного, кодовое слово будет принято, если символы, принятые в начале последовательности, вместе с символами, принятыми в конце последовательности, в совокупности составляют кодовую комбинацию с допустимым количеством ошибок. При этом в середине принятой последовательности возможно наличие произвольного числа ошибок, не приводящее к трансформации помехоустойчивого кода. В этом случае для декодирования используют только часть циклических продолжений следующего вида

bj1

,...,bjn-1
,b10
; bj2
,...,bjn-1
,b10
,b11
; bj3
,...,bjn-1
,b10
,b11
,b12
; ...

и скользящее окно приема символов, в котором осуществляют декодирование помехоустойчивого кода, перемещается по принятой последовательности, как бы свернутым в кольцо.

В качестве примера отметим, что при использовании предлагаемого способа для декодирования двоичного циклического кода БЧХ(63,32), рекуррентно продолженного до длины 126 бит, вероятность неприема сообщения будет равна 0.03 на гауссовском канале, средняя вероятность ошибок в котором составляет 0.01. Декодирование кода выполняют только с обнаружением ошибок. Для сравнения, аналогичная вероятность неприема на том же канале для алгоритма декодирования без использования циклических продолжений равна 0.13. Для получения той же вероятности неприема, равной 0.03, для алгоритма декодирования без использования циклических продолжений помехоустойчивый код следует рекуррентно продолжить до длины 188 бит, т.е. дополнительно передавать 62 бита по сравнению с предлагаемым способом.

Достигаемым техническим результатом предлагаемого способа декодирования циклического помехоустойчивого кода является увеличение его помехоустойчивости.

Источники информации

1. Лосев В.В., Бродская Е.Б., Коржик В.И. Поиск и декодирование сложных дискретных сигналов / Под ред. В.И.Коржика. - М.: Радио и связь, 1988, стр.136.

2. Болховитин Л.М., Журкин С.П., Квашенников В.В., Сосин П.А. Передача формализованных сообщений самосинхронизирующимся кодом с переменными параметрами. Техника средств связи, сер. ТПС, вып. 8, 1990, стр.39.

3. Бек Г.В., Богданович В.Н., Киреев О.П. Метод синхронизации сообщений. Сб.: Построение и анализ систем передачи информации. М.: Наука, 1980, стр.84.

Похожие патенты RU2231216C2

название год авторы номер документа
СПОСОБ ДЕКОДИРОВАНИЯ ЦИКЛИЧЕСКОГО ПОМЕХОУСТОЙЧИВОГО КОДА 2006
  • Голубев Валентин Анатольевич
  • Зайцев Игорь Евгеньевич
  • Рюмшин Константин Юрьевич
RU2309537C1
СПОСОБ ПЕРЕДАЧИ И ПРИЕМА СООБЩЕНИЙ В СИСТЕМЕ СВЯЗИ 2008
  • Квашенников Владислав Валентинович
  • Сосин Петр Александрович
RU2369023C1
КОДЕК ПОМЕХОУСТОЙЧИВОГО ЦИКЛИЧЕСКОГО КОДА 2003
  • Квашенников В.В.
  • Сосин П.А.
RU2254676C2
СПОСОБ КОДОВОЙ ЦИКЛОВОЙ СИНХРОНИЗАЦИИ 2005
  • Зимихин Дмитрий Анатольевич
  • Квашенников Владислав Валентинович
RU2295198C1
СПОСОБ ДЕКОДИРОВАНИЯ ЦИКЛИЧЕСКОГО ПОМЕХОУСТОЙЧИВОГО КОДА 2005
  • Егурнов Владимир Олегович
  • Наукович Анатолий Николаевич
  • Химин Сергей Васильевич
  • Циленко Дмитрий Васильевич
RU2284085C1
СПОСОБ КОДОВОЙ ЦИКЛОВОЙ СИНХРОНИЗАЦИИ 2001
  • Кухарев А.Д.
  • Квашенников В.В.
  • Слепухин Ф.В.
RU2214689C2
СПОСОБ АДАПТИВНОЙ КОДОВОЙ ЦИКЛОВОЙ СИНХРОНИЗАЦИИ 2001
  • Зимихин Д.А.
  • Квашенников В.В.
  • Слепухин Ф.В.
RU2210870C2
СПОСОБ КОДОВОЙ ЦИКЛОВОЙ СИНХРОНИЗАЦИИ 2009
  • Квашенников Владислав Валентинович
  • Сосин Петр Александрович
RU2401512C1
СПОСОБ КОДОВОЙ ЦИКЛОВОЙ СИНХРОНИЗАЦИИ С МЯГКИМИ РЕШЕНИЯМИ 2012
  • Квашенников Владислав Валентинович
  • Трушин Сергей Алексеевич
RU2500074C1
Способ кодовой цикловой синхронизации с мягкими решениями 2017
  • Квашенников Владислав Валентинович
RU2664409C1

Реферат патента 2004 года СПОСОБ ДЕКОДИРОВАНИЯ ЦИКЛИЧЕСКОГО ПОМЕХОУСТОЙЧИВОГО КОДА

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

Формула изобретения RU 2 231 216 C2

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

Документы, цитированные в отчете о поиске Патент 2004 года RU2231216C2

Сборник “Построение и анализ систем передачи информации”
- М.: Наука, 1980, с.84-88
Устройство выделения рекуррентного синхросигнала с обнаружением ошибок 1983
  • Каминский Виктор Гаврилович
SU1102050A2
Устройство фазирования циклов многоканальной системы передачи дискретной информации 1980
  • Хомич Игорь Францевич
SU896782A1
УСТРОЙСТВО ФАЗОВОГО ПУСКА РЕКУРРЕНТНОЙ ПОСЛЕДОВАТЕЛЬНОСТЬЮ 1996
  • Лазин А.С.
RU2109407C1
УСТРОЙСТВО ДЛЯ ФОРМИРОВАНИЯ СЛОВАРЕЙ НЕЛИНЕЙНЫХ РЕКУРРЕНТНЫХ ПОСЛЕДОВАТЕЛЬНОСТЕЙ 1989
  • Сныткин И.И.
  • Шаяхметов О.Х.
  • Дмитриев В.И.
  • Горбенко И.Д.
  • Литвиненко П.Т.
  • Фомин В.В.
RU2024053C1
Устройство для обработки посевного материала 1982
  • Данилов Владимир Иванович
  • Батыгин Николай Федорович
  • Полищук Григорий Самуилович
  • Сапогов Александр Сергеевич
  • Головачев Николай Алексеевич
  • Торопов Юрий Михайлович
SU1152540A1
US 6049903, 11.04.2000.

RU 2 231 216 C2

Авторы

Квашенников В.В.

Сосин П.А.

Даты

2004-06-20Публикация

2002-06-21Подача