RU2340089C2 - Способ синдромного декодирования несистематического сверточного кода (варианты) - Google Patents

Способ синдромного декодирования несистематического сверточного кода (варианты) Download PDF

Info

Publication number
RU2340089C2
RU2340089C2 RU2006141313/09A RU2006141313A RU2340089C2 RU 2340089 C2 RU2340089 C2 RU 2340089C2 RU 2006141313/09 A RU2006141313/09 A RU 2006141313/09A RU 2006141313 A RU2006141313 A RU 2006141313A RU 2340089 C2 RU2340089 C2 RU 2340089C2
Authority
RU
Russia
Prior art keywords
decoding
syndrome
error
sequence
vector
Prior art date
Application number
RU2006141313/09A
Other languages
English (en)
Other versions
RU2006141313A (ru
Inventor
Андрей Николаевич Хмельков (RU)
Андрей Николаевич Хмельков
Original Assignee
Андрей Николаевич Хмельков
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Андрей Николаевич Хмельков filed Critical Андрей Николаевич Хмельков
Priority to RU2006141313/09A priority Critical patent/RU2340089C2/ru
Publication of RU2006141313A publication Critical patent/RU2006141313A/ru
Application granted granted Critical
Publication of RU2340089C2 publication Critical patent/RU2340089C2/ru

Links

Landscapes

  • Error Detection And Correction (AREA)
  • Detection And Correction Of Errors (AREA)

Abstract

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

Description

Изобретение относится к области техники связи, и в частности к системам передачи информации, в которых для ее защиты от искажений в канале связи применяют несистематические сверточные коды, и может быть использовано в кодеках (кодер-декодерах) систем передачи данных, а также в устройствах помехоустойчивого кодирования при передаче и хранении дискретной информации.
Известен способ синдромного декодирования несистематических сверточных кодов [1], который основан на последовательном вычислении для кодовой последовательности {bi} синдромной последовательности {si}, которая поступает в τ-разрядный сдвиговый регистр (τ=2×max{deg[fi(x)]}+1, где fi(x) - порождающие многочлены несистематического сверточного кода). При появлении в старшем разряде сдвигового регистра ненулевого элемента считается, что в регистре сформирован синдром sj, по которому из заранее построенной таблицы лидеров смежных классов векторов ошибок выбирается вектор коррекции еj. Затем вектор коррекции ej поразрядно складывается по mod2 с соответствующим фрагментом искаженной кодовой последовательности {bj}. После чего откорректированная кодовая последовательность преобразуется в информационную последовательность.
К недостаткам данного способа декодирования следует отнести необходимость хранить таблицу лидеров смежных классов векторов ошибок, объем которой равен 2τ-1×(max{deg[fi(x)]}+1)-разрядных векторов, что при больших значениях τ технически невыполнимо. Кроме того, данный способ декодирования обладает существенно более низким качеством (достоверностью) декодирования по сравнению с известными способами последовательного декодирования или декодирования по алгоритму Витерби [1÷5].
Целью предлагаемого изобретения является повышение достоверности (качества) декодирования, понижение аппаратной и вычислительной сложности декодирования, уменьшение времени задержки и, в частности, реализация оптимальной процедуры декодирования как с «мягким», так и с «жестким» решениями.
Для достижения цели предложен способ синдромного декодирования несистематических сверточных кодов, в которых вектор коррекции е выбирается не из таблицы лидеров смежных классов векторов ошибок, а формируется в результате поиска в синдромной последовательности {si} локализованных синдромов sj, представления каждого из них в виде линейных комбинации синдромов однократных ошибок s(m) подпотоков {bi(m)} кодовой последовательности {bi} (m=1÷n; n - количество порождающих многочленов несистематического сверточного кода), причем каждой линейной комбинации однозначно соответствует вектор ошибки, вычисления для каждого вектора ошибки метрики и выбора в качестве наиболее вероятного вектора коррекции того вектора ошибки, который при декодировании с «жестким» решением имеет наименьшую метрику (вес вектора ошибки), а при декодировании с «мягким» решением обладает наибольшей модифицированной метрикой.
Как известно [1], синдромная последовательность {si} несистематического сверточного кода - это последовательность, элементами которой являются коэффициенты при неизвестном многочлена s(x):
Figure 00000002
где: b(m)(x) - многочлен, коэффициентами при неизвестном которого являются элементы m-того подпотока кодовой последовательности сверточного кода b(x)=|b(1)(x), ... b(n)(x)|;
hm(x) - m-ный многочлен проверочного многочлена Н(х)=|h1(x), ... hm(x), ... hn(x)| несистематического сверточного кода.
Отметим также то, что конфигурация синдрома s(m) однократной ошибки в m-ном подпотоке {bi(m)} кодовой последовательности {bi} соответствует последовательности коэффициентов при неизвестном многочлена hm(x) несистематического сверточного кода, начиная с младшей степени.
Проверочный многочлен Н(х)=|h1(x), ... hm(x), ... hn(x)| несистематического сверточного кода представляет собой вектор, элементами которого являются многочлены hm(x), которые формируют нулевые коэффициенты при неизвестном многочлена s(x) при вычислении по формуле (1) для неискаженной кодовой последовательности b(х). Тогда с учетом искажений выражение (1) можно представить в виде:
Figure 00000003
где: е(m)(x) - многочлен, коэффициентами при неизвестном которого являются элементы вектора ошибки m-ного подпотока кодовой последовательности сверточного кода е(x)=|е(1)(x), ... е(n)(х)|.
Из выражения (2) следует, что синдромная последовательность s(x) есть сумма по модулю два синдромов однократных ошибок соответствующих подпотоков.
Локализованный синдром - это фрагмент синдромной последовательности, который начинается с ненулевого элемента. Помимо этого внутри фрагмента отсутствуют серии нулевых элементов длиной более τ-1, а перед фрагментом и за ним следует серия нулевых элементов длиной не менее τ.
Для декодирования несистематического сверточного кода предлагается способ, заключающийся в следующем.
Для принятой возможно искаженной кодовой последовательности несистематического сверточного кода вычисляют синдромную последовательность {si} (1), в которой выделяют локализованные синдромы sj. Каждый локализованный синдром sj можно рассматривать независимо от других локализованных синдромов. Поэтому его можно с помощью итеративной процедуры представить в виде линейных комбинаций синдромов s(m) однократных ошибок в подпотоках {bi(m)} кодовой последовательности {bi}. Для этого перед декодированием кодовой последовательности несистематического сверточного кода формируют два вспомогательных множества комбинаций синдромов однократных ошибок: множество S1={s1(i)} мощности s1 (множество, каждый синдром которого начинается с ненулевого элемента) и множество S0={s0(i)} мощности s0 (множество, каждый синдром которого начинается с нулевого элемента). Во множество S1 включают все n синдромов однократных ошибок s(m) и, если n>2, все нечетные линейные комбинации синдромов s(m) однократных ошибок. Во множество S0 включают все четные линейные комбинации синдромов s(m) однократных ошибок. Далее анализируют элементы локализованного синдрома sq. Первый ненулевой элемент локализованного синдрома порождает s1 возможных вариантов линейных комбинаций блоков ошибок. Каждому варианту ставят в соответствие текущий синдром s1=s⊕s1(i) (i=1÷s1) и текущую локализованную ошибку, которая имеет ненулевые элементы в тех позициях n-разрядного блока, которые соответствуют номерам синдромов однократных ошибок s(m), принимавших участие в формировании текущего синдрома si. В результате вычисления текущего синдрома первый его элемент становится нулевым. Далее просматривают вторые элементы текущего синдрома. Для каждого текущего синдрома sj, у которого на второй позиции расположен ненулевой элемент, вычисляют s1 новых модификаций данного текущего синдрома sr=sj⊕s1(i) (i=1÷s1, j=1÷s1). Если у синдрома sj на второй позиции расположен нулевой элемент, то вычисляют s0 новых модификаций данного текущего синдрома sr=sj⊕s0(i) (i=1÷s0, j=1÷s0). Затем для каждого модифицированного текущего синдрома sr формируют вектор ошибки путем добавления к j-той локализованной ошибке очередного n-разрядного блока, который имеет ненулевые элементы в тех позициях, которые соответствуют номерам синдромов s(m) однократных ошибок, принимавших участие в формировании текущего синдрома sr. В результате вычисления модифицированного текущего синдрома и второй его элемент становится нулевым. Далее просматривают третьи и т.д. элементы текущего синдрома до тех пор, пока не будут сформированы всевозможные линейные комбинации рассматриваемого локализованного синдрома и векторы ошибок, им соответствующие.
Следует отметить, что локализованный синдром имеет конечную длину. Поэтому текущие синдромы также должны локализоваться на этой длине. Данное условие приведет к резкому сокращению рассматриваемых линейных комбинаций локализованного синдрома и векторов ошибок, им соответствующих.
При декодировании с «жестким» решением для определения оптимального вектора коррекции необходимо выбрать тот вектор ошибки, который имеет наименьший вес (метрику).
В том случае когда декодирование несистематического сверточного кода выполняется с «мягким» решением, предлагается вариант способа, описанного выше, в котором для каждого вектора ошибки вычисляют модифицированную метрику:
Figure 00000004
или
Figure 00000005
где: p(yj/bj,c) - условная вероятность того, что на выходе демодулятора получена величина yj при передаче по каналу связи на j-той позиции кодовой последовательности элемента с, который для двоичного кода может принимать значение 0 или 1;
ej - элемент локализованной ошибки, исказивший j-тый элемент кодовой последовательности;
и выбирают тот вектор ошибки, у которого метрика vg имеет максимальное значение. Модифицированная метрика является отношением общепринятой метрики [3] фрагмента кодовой последовательности к метрике принятого из канала связи с «жестким» решением искаженного фрагмента кодовой последовательности.
Предлагаемое техническое решение позволяет решить задачу оптимального синдромного декодирования несистематических сверточных кодов как с «жестким», так и с «мягким» решениями с меньшей вычислительной и аппаратной сложностью, а также с меньшим временем задержки декодирования, чем у известных декодеров [1÷5].
Изобретение поясняется чертежом, на котором изображена структурная схема оптимального синдромного декодера несистематического сверточного кода.
Синдромный декодер несистематического сверточного кода содержит: блок вычисления синдромной последовательности 20, блок поиска локализованного синдрома 40, блок разложения локализованного синдрома 60, блок хранения и обновления текущей информации 80, блок выбора решения и коррекции 100 и блок формирования информационной последовательности 120.
Блок вычисления синдромной последовательности 20 предназначен для вычисления синдромной последовательности {si} в соответствии с выражением (1).
Блок поиска локализованного синдрома 40 предназначен для выделения в синдромной последовательности {si} очередного локализованного синдрома sj. Он может быть реализован в виде сдвигового регистра, у которого анализируется старший разряд на наличие нуля и подсчитывается длина нулевой серии. В этом случае в сдвиговый регистр последовательно поступает синдромная последовательность {si} и выполняются ее сдвиги в сторону старшего разряда. При появлении ненулевого элемента номер его позиции фиксируется и фрагмент синдромной последовательности запоминается вплоть до момента прихода серии нулевых элементов длиной не менее τ.
Блок разложения локализованного синдрома 60 предназначен для представления локализованного синдрома sj в виде линейных комбинации синдромов однократных ошибок и формирования соответствующих им фрагментов векторов ошибок, а при декодировании с «мягким» решением для каждой группы вычисляет метрику vr по формуле (2) или (3).
Блок хранения и обновления текущей информации 80 предназначен для хранения текущих синдромов и фрагментов векторов ошибок при разложении локализованного синдрома. Он представляет собой оперативное запоминающее устройство, у которого каждая строка состоит из двух (трех) полей для хранения текущего синдрома, его фрагмента вектора ошибки, а при декодировании с «мягким» решением соответствующей метрики.
Блок выбора решения и коррекции 100 предназначен для сложения по mod 2 фрагмента кодовой последовательности с тем вектором ошибки, который при декодировании с «жестким» решением имеет наименьший вес (метрику), а при декодировании с «мягким» решением обладает наибольшей метрикой.
Блок формирования информационной последовательности 120 предназначен для преобразования откорректированной кодовой последовательности несистематического сверточного кода в информационную последовательность. Блок 120 может быть выполнен в виде кодопреобразователя, использующего либо решетку Форни, либо кодовое дерево.
Предлагаемое устройство работает следующим образом.
Принятая, возможно искаженная в канале связи кодовая последовательность n-разрядными блоками поступает по шине 10 в блок вычисления синдромной последовательности 20, а по шине 11 в блок выбора решения и коррекции 100.
В блоке вычисления синдромной последовательности 20 поэлементно формируется синдромная последовательность кода в соответствии с выражением (1) и по шине 30 передается в блок поиска локализованного синдрома 40.
Блок поиска локализованного синдрома 40 анализирует протяженность нулевых серий в синдромной последовательности, выделяет локализованный синдром и передает его по шине 50 в блок разложения локализованного синдрома 60.
Получив локализованный синдром, блок разложения локализованного синдрома 60 в соответствии с итеративной процедурой, описанной в предлагаемом выше способе, приступает к его разложению. В результате формируются всевозможные линейные комбинации синдромов однократных ошибок на интервале локализации анализируемого синдрома. Параллельно формируются соответствующие им векторы ошибок. Промежуточные результаты: текущие синдромы со своими фрагментами векторов ошибок, а при декодировании с «мягким» решением и их метрики - передаются по шине 70 для хранения в блок хранения и обновлении текущей информации 80.
После завершения процедуры разложения локализованного синдрома блок выбора решения и коррекции 100 по шине 91 последовательно считывает из блока хранения и обновления текущей информации 80 сформированные векторы ошибок. При декодировании с «жестким» решением выбирается тот, который имеет наименьший вес (метрику), а при декодировании с «мягким» решением - тот, который обладает наибольшей модифицированной метрикой. Затем во фрагменте кодовой последовательности, которая соответствует локализованному синдрому, инвертируются те элементы, которые отмечены ненулевыми элементами выбранного вектора ошибки.
Откорректированная кодовая последовательность несистематического сверточного кода, поступающая по шине 110 с выхода блока выбора решения и коррекции 100 на вход блока примитивного декодирования 120, преобразуется в нем в информационную последовательность. После чего она по шине 130 передается на выход декодера.
Для декодирования каскадного кода с «мягким» решением другим конструктивным вариантом является модификация блока вычисления синдромной последовательности 20, который перед вычислением синдромной последовательности формирует кодовую последовательность с «жестким» решением. В блоке разложения локализованного синдрома 60 для каждой формируемой группы локализованных ошибок вычисляется метрика по формулам (2) или (3), а в блоке выбора решения и коррекции 100 выбирается та из них, которая имеет наибольшую метрику vg.
Реализация описанного способа может быть аппаратной, программной или аппаратно-программной.
Достигаемым техническим результатом предлагаемого способа синдромного декодирования несистематического сверточного кода является построение оптимального декодера с «жестким» и «мягким» решениями, а также повышение достоверности (качества) декодирования, повышение его быстродействия и уменьшения аппаратной сложности по сравнению с известными декодерами [1÷5]. Предлагаемый способ может быть использован для декодирования систематических сверточных кодов, а также перфорированных несистематических сверточных кодов.
Список литературы
1. Кларк Дж., Кейн Дж. Кодирование с исправлением ошибок в системах цифровой связи. - М.: Радио и связь. 1987.
2. Морелос-Сарагоса Р. Искусство помехоустойчивого кодирования. Методы, алгоритмы, применение: Пер. с англ. В.Б.Афанасьева. - М.: Техносфера, 2005. - 320 с.
3. Витерби А.Д., Омура Дж.К. Принципы цифровой связи и кодирования: Пер. с англ. - М.: Радио и связь, 1982.
4. Карташевский В.Г., Мишин Д.В. Прием кодированных сигналов в каналах с памятью. - М.: Радио и связь, 2004.
5. Золотарев В.В., Овечкин Г.В. Помехоустойчивое кодирование. Методы и алгоритмы: Справочник / Под ред. чл. кор. РАН Ю.Б.Зубарева. - М.: Горячая линия - Телеком, 2004.

Claims (2)

1. Способ синдромного декодирования несистематического сверточного кода, заключающийся в том, что вычисляют синдромную последовательность, затем для каждого ее фрагмента фиксированной длины выбирают вектор коррекции, который исправляет наиболее вероятную ошибку, отличающийся тем, что в вычисленной синдромной последовательности выделяют локализованные синдромы, каждый из которых представляют в виде множества линейных комбинаций синдромов однократных ошибок, причем каждой линейной комбинации однозначно соответствует вектор ошибок и для каждого вектора ошибки вычисляют метрику, которая при декодировании с "жестким" решением является его весом, затем для коррекции наиболее вероятной ошибку в качестве вектора коррекции выбирают вектор ошибки, который имеет минимальную метрику.
2. Способ синдромного декодирования несистематического сверточного кода, заключающийся в том, что вычисляют синдромную последовательность, затем для каждого ее фрагмента фиксированной длины выбирают вектор коррекции, который исправляет наиболее вероятную ошибку, отличающийся тем, что в вычисленной синдромной последовательности выделяют локализованные синдромы, каждый из которых представляют в виде множества линейных комбинаций синдромов однократных ошибок, причем каждой линейной комбинации однозначно соответствует вектор ошибки, и для каждого вектора ошибки вычисляют модифицированную метрику, затем для коррекции наиболее вероятной ошибки в качестве вектора коррекции выбирают вектор ошибки, который имеет максимальную метрику.
RU2006141313/09A 2006-11-23 2006-11-23 Способ синдромного декодирования несистематического сверточного кода (варианты) RU2340089C2 (ru)

Priority Applications (1)

Application Number Priority Date Filing Date Title
RU2006141313/09A RU2340089C2 (ru) 2006-11-23 2006-11-23 Способ синдромного декодирования несистематического сверточного кода (варианты)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2006141313/09A RU2340089C2 (ru) 2006-11-23 2006-11-23 Способ синдромного декодирования несистематического сверточного кода (варианты)

Publications (2)

Publication Number Publication Date
RU2006141313A RU2006141313A (ru) 2008-06-10
RU2340089C2 true RU2340089C2 (ru) 2008-11-27

Family

ID=39580861

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2006141313/09A RU2340089C2 (ru) 2006-11-23 2006-11-23 Способ синдромного декодирования несистематического сверточного кода (варианты)

Country Status (1)

Country Link
RU (1) RU2340089C2 (ru)

Also Published As

Publication number Publication date
RU2006141313A (ru) 2008-06-10

Similar Documents

Publication Publication Date Title
US7539927B2 (en) High speed hardware implementation of modified Reed-Solomon decoder
US7237183B2 (en) Parallel decoding of a BCH encoded signal
US7246294B2 (en) Method for iterative hard-decision forward error correction decoding
US8347178B2 (en) Method, device and apparatus for correcting bursts
JP3451221B2 (ja) 誤り訂正符号化装置、方法及び媒体、並びに誤り訂正符号復号装置、方法及び媒体
US8650466B2 (en) Incremental generation of polynomials for decoding reed-solomon codes
US8726137B2 (en) Encoding and decoding methods for expurgated convolutional codes and convolutional turbo codes
JPH05244019A (ja) 畳み込み符号の簡易復号方法及び簡易復号回路
KR101298745B1 (ko) 데이터를 복호화 및 부호화하는 방법 및 장치
US7231575B2 (en) Apparatus for iterative hard-decision forward error correction decoding
CN109075804B (zh) 使用极化码的通信设备和通信方法
Yathiraj et al. Implementation of BCH code (n, k) encoder and decoder for multiple error correction control
EP1102406A2 (en) Apparatus and method for decoding digital data
RU2340088C2 (ru) Способ синдромного декодирования циклического кода (варианты)
RU2485683C1 (ru) Устройство декодирования с мягкими решениями для двухступенчатого каскадного кода
RU2340089C2 (ru) Способ синдромного декодирования несистематического сверточного кода (варианты)
US20210194509A1 (en) Information decoder for polar codes
Zolotarev et al. Efficient multithreshold decoding of nonbinary codes
TWI487291B (zh) 循環碼解碼器及其方法
RU2608872C1 (ru) Способ кодирования и декодирования блокового кода с использованием алгоритма Витерби
RU2340091C2 (ru) Способ декодирования последовательного каскадного кода (варианты)
EP4205284A1 (en) Staircase polar encoding and decoding
RU2340090C2 (ru) Способ декодирования турбокода (варианты)
Sonawane et al. Implementation of RS-CC Encoder and Decoder using MATLAB
CN115642924B (zh) 一种高效的qr-tpc译码方法及译码器

Legal Events

Date Code Title Description
MM4A The patent is invalid due to non-payment of fees

Effective date: 20091124