RU2699833C1 - Способ ускоренного декодирования линейного кода - Google Patents

Способ ускоренного декодирования линейного кода Download PDF

Info

Publication number
RU2699833C1
RU2699833C1 RU2018139279A RU2018139279A RU2699833C1 RU 2699833 C1 RU2699833 C1 RU 2699833C1 RU 2018139279 A RU2018139279 A RU 2018139279A RU 2018139279 A RU2018139279 A RU 2018139279A RU 2699833 C1 RU2699833 C1 RU 2699833C1
Authority
RU
Russia
Prior art keywords
message
threshold
decoding
information symbols
checks
Prior art date
Application number
RU2018139279A
Other languages
English (en)
Inventor
Валерий Владимирович Золотарев
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 RU2018139279A priority Critical patent/RU2699833C1/ru
Application granted granted Critical
Publication of RU2699833C1 publication Critical patent/RU2699833C1/ru

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/43Majority logic or threshold decoding

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Error Detection And Correction (AREA)

Abstract

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

Description

Изобретение относится к вычислительной технике, а именно, к способам и устройствам, входящим в состав аппаратуры и программного обеспечения для систем коррекции ошибок при передаче, хранении, чтении и восстановлении цифровых двоичных данных. Оно может быть использовано, преимущественно, для помехоустойчивого кодирования информации в каналах с большим уровнем шума, в частности, в спутниковых и космических сетях связи.
Техническая и экономическая польза применения систем кодирования и последующего исправления ошибок в принятых из канала сообщениях состоит в том, что кодирование при хорошем эффективном последующем декодировании на приемной стороне системы связи многократно повышает к.п.д. используемых каналов, что особенно важно для чрезвычайно дорогих спутниковых и космических сетей связи.
Известен способ декодирования в системе помехоустойчивого кодирования сигналов в цифровой системе радиосвязи [RU 2573263, С2, Н03М 13/15, Н03М 13/23, 20.01.2016], путем преобразования входного сигнала в цифровой вид с помощью дельта-модуляции, заключающийся в том, что цифровое значение ei очередного i-гo отсчета определяется разностью между отсчетом входного сигнала xi и формируемой аппроксимацией этого отсчета уi выраженной зависимостью:
Figure 00000001
и последующим избыточным кодированием цифровой информации помехоустойчивым циклическим или сверточным кодом, отличающийся использованием последовательности сверточного кода для повышения помехоустойчивости цифрового сигнала, кодированием одновременно пары отсчетов хi,1 и хi,2, позволяющим сохранить информационную скорость канала связи, равную скорости аналого-цифрового преобразования речевого сигнала.
Недостатком этого технического решения является относительно узкая область применения, поскольку способ предназначен, преимущественно, для декодирования речевых сигналов.
Известен также способ порогового декодирования в системе помехоустойчивого кодирования, который реализуется пороговым декодером (ПД) (В.В. Золотарев, Г.В. Овечкин. Помехоустойчивое кодирование. Методы и алгоритмы. Справочник. М., "Горячая линия - телеком", 2004, 124 с, с. 81), заключающийся в том, что, после передачи по каналу связи информационные символы кода (поток U) направляют в информационный регистр, а проверочные символы (поток V) после сложения с другими проверочными символами, полученными из принятых с ошибками информационных символов, поступают в синдромный регистр, а пороговый элемент (ПЭ), являющийся решающим элементом декодера, после суммирования определенных символов синдрома (проверок) принимает решение, что, если число ненулевых символов на входе ПЭ превышает заданное пороговое значение, то он изменяет через обратную связь содержимое ячеек, с которых снимались сигналы на его вход, а также декодируемый символ в крайне правой (на рисунке шестой) ячейке информационного регистра.
Недостатком этого способа декодирования является относительно низкая эффективность декодирования в каналах связи с высоким уровнем шума и довольно значительным числом операций, если количество входов порогового элемента (ПЭ) достаточно велико, что соответствует большому значению кодового расстоянию d в этом коде и, следовательно, его более высокой корректирующей способности.
Наиболее близким по технической сущности к предполагаемому изобретению является способ многопорогового декодирования (МПД) линейного кода [В.В. Золотарев, Г.В. Овечкин. Помехоустойчивое кодирование. Методы и алгоритмы. Справочник. М., "Горячая линия -телеком", 2004, с. 84], заключающийся в том, что сообщение после декодирования первым ПЭ в пороговом декодере направляют во второй декодер, т.е. оно проходит ко второму ПЭ, полностью аналогичному первому, а затем последовательно в третий и т.д.
Этот способ более эффективен по реализуемому им уровню достоверности, так как цепочка ПЭ постепенно снижает на каждом ПЭ количество оставшихся после предыдущих этапов ошибок декодирования.
Однако, этому техническому решению присущ недостаток, заключающийся в относительно большой сложности и относительно низкой оперативности (скорости декодирования), обусловленных достаточно большим числом необходимых операций сложения, подобно случаю обычного порогового декодера (ПД), представленного в [В.В. Золотарев, Г.В. Овечкин. Помехоустойчивое кодирование. Методы и алгоритмы. Справочник. М., "Горячая линия - телеком", 2004, с. 81]. Количество таких затратных по числу операций вычислений растет, поскольку количество ПЭ в многопороговом декодере (МПД) увеличивается по сравнению с обычным ПД в I раз, где I - число итераций декодирования в МПД.
Задача, которая решается в изобретении, направлена на создание способа декодирования, отличающегося меньшей сложностью и высокой оперативностью.
Требуемый технический результат заключается в повышении скорости декодирования путем уменьшения среднего числа операций в МПД для линейных кодов.
Поставленная задача решается, а требуемый технический результат достигается тем, что в способе ускоренного декодирования линейного кода, в котором для декодирования двоичных информационных символов сообщения используют итеративное многопороговое декодирование сверточного или блокового кода, согласно изобретению, перед проведением итеративного многопорогового декодирования сверточного или блокового кода дополнительно вычисляют и запоминают в отдельном блоке памяти суммы проверок для всех декодируемых информационных символов сообщения, после чего во всех пороговых элементах многопорогового декодера последовательно проверяют суммы проверок для информационных символов сообщения и при меньшем их значении по сравнению с установленными значениями порогов, пороговые элементы переходят к декодированию следующих информационных символов сообщения, а при превышении их значения по сравнению с установленными значениями порогов выполняют коррекцию декодируемых информационных символов сообщения и относящихся к нему проверок, причем, в отдельном блоке памяти, в котором запоминают суммы проверок для всех декодируемых информационных символов сообщения, меняют знак суммы для декодируемого символа и значения сумм проверок для тех информационных символов, которые используют те же проверки, что и информационные символы, которые изменены пороговым элементом, после чего пороговый элемент переводят в режим декодирования следующего информационного символа сообщения.
Предложенный способ ускоренного декодирования линейного кода применяется следующим образом.
Суть предложенного изобретения состоит в том, что сумму на ПЭ вычисляют только один раз, причем, на предварительном этапе до начала процедуры декодирования. Эти суммы сразу для всех символов блокового или сверточного кода запоминаются в регистре памяти размером М, соответствующим объему информационной части сообщения.
При этом, алгоритм МПД декодирования реализуется следующим образом. Выбирают первый, а затем последующий и т.д. символ в МПД. Для него в регистре памяти размером М проверяется сумма для ПЭ, которая сравнивается с пороговым значением, соответствующим этому конкретному ПЭ. Если сумма не превышает порогового значения, то производится переход к такому же анализу следующего информационного символа и т.д. Если сумма на ПЭ превышает пороговое значение, то изменяется декодируемый символ в разностном регистре и все проверки в синдромном регистре. Но каждый измененный символ проверки в синдромном регистре влияет и на сумму проверок для целого ряда других информационных символов, конкретные позиции которых определяются выбранным кодом. Поэтому в регистре памяти размером М при изменении декодируемого символа инвертируется соответствующая ему сумма в соответствующей ему ячейке регистра памяти размером М, а также изменяются те суммы для других символов, которые нужно поменять из-за изменения значений проверок для исправленного символа. Количество таких изменяемых сумм имеет порядок d2, а точное их количество зависит от кодовой скорости R кода.
Сравним сложность исходного МПД и нового варианта декодера.
Обычный МПД должен выполнять обычно (I+1)*d операций сложения и иногда ему еще нужно выполнить d операций изменения декодируемого символа и его проверок. Тогда среднее число операций этого МПД декодера будет равно N1~(I+2)*d.
Оценим сложность предлагаемого декодера. Он должен вычислить синдром и первоначальные суммы на ПЭ для каждого информационного символа, для чего нужно выполнить 2*d суммирований. Допустим, что примерная величина d=l5. А затем для всех I итераций, реализуемых в МПД, проверяются суммы проверок, хранящиеся в регистре памяти размером М. Обычно эти суммы меньше, чем пороговые значения для ПЭ. Следовательно, число этих операций равно I. А в случае, если изредка на каком-то ПЭ декодируемый символ изменяется, то, как и в обычном МПД, выполняется d сложений (изменений) символов в синдроме, а также изменяются d2 сумм в регистре памяти размером М. Оценивая частоту коррекций, как 0,01 долю от общего числа просмотров декодируемых символов каждым ПЭ, а количество итераций как I=30, хотя это число может быть и несколько другим, получаем, что среднее число операций предлагаемого декодера в пересчете на один информационный символ равно N2~2*d+I+0,01*I*(d+d2).
В этом случае N1~480, a N2~132.
Для случая d=9 и I=10, что также можно считать вполне реальным вариантом, N1~108, N2~37.
Как следует из сопоставления двух вариантов реализации (МПД прототипа и предлагаемого способа), предложенный способ обеспечивает применительно к рассмотренному примеру увеличение скорости декодирования в 3-4 раза относительно прототипа. Это подтверждает достижение требуемого технического результата.
Предложенный способ можно рассматривать, как дальнейшее развитие способов коррекции ошибок на основе Оптимизационной теории помехоустойчивого кодирования, изложенной в [V.V. Zolotarev, Y.b. Zubarev, G.V. Ovechkin. Optimization Coding Theory and Multithreshold Algorithms. // Geneva, ITU, 2015. Электронная версия http://www.itu.int/pub/S-GEN-OCTMA-2015].

Claims (1)

  1. Способ ускоренного декодирования линейного кода, в котором для декодирования двоичных информационных символов сообщения используют итеративное многопороговое декодирование сверточного или блокового кода, отличающийся тем, что перед проведением итеративного многопорогового декодирования сверточного или блокового кода дополнительно вычисляют и запоминают в отдельном блоке памяти суммы проверок для всех декодируемых информационных символов сообщения, после чего во всех пороговых элементах многопорогового декодера последовательно проверяют суммы проверок для информационных символов сообщения и при меньшем их значении по сравнению с установленными значениями порогов, пороговые элементы переводят для декодирования следующих информационных символов сообщения, а при их превышении значения по сравнению с установленными значениями порогов выполняют коррекцию декодируемых информационных символов сообщения и относящихся к нему проверок, причем, в отдельном блоке памяти, в котором запоминают суммы проверок для всех декодируемых информационных символов сообщения, меняют знак суммы для декодируемого символа и значения сумм проверок для тех информационных символов, которые используют те же проверки, что и информационные символы, которые изменены пороговым элементом, после чего пороговый элемент переводят в режим декодирования следующего информационного символа сообщения.
RU2018139279A 2018-11-08 2018-11-08 Способ ускоренного декодирования линейного кода RU2699833C1 (ru)

Priority Applications (1)

Application Number Priority Date Filing Date Title
RU2018139279A RU2699833C1 (ru) 2018-11-08 2018-11-08 Способ ускоренного декодирования линейного кода

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2018139279A RU2699833C1 (ru) 2018-11-08 2018-11-08 Способ ускоренного декодирования линейного кода

Publications (1)

Publication Number Publication Date
RU2699833C1 true RU2699833C1 (ru) 2019-09-11

Family

ID=67989489

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2018139279A RU2699833C1 (ru) 2018-11-08 2018-11-08 Способ ускоренного декодирования линейного кода

Country Status (1)

Country Link
RU (1) RU2699833C1 (ru)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2741062C1 (ru) * 2020-06-17 2021-01-22 Валерий Владимирович Золотарев Способ инжекторного декодирования сверточных кодов
RU2743854C1 (ru) * 2019-12-06 2021-03-01 федеральное государственное бюджетное образовательное учреждение высшего образования "Ульяновский государственный технический университет" Генератор комбинаций двоичного эквивалентного кода

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6167552A (en) * 1997-10-02 2000-12-26 Harris Corporation Apparatus for convolutional self-doubly orthogonal encoding and decoding
RU2337478C2 (ru) * 2004-03-31 2008-10-27 Интел Корпорейшн Декодирование высокоизбыточных кодов с контролем четности с использованием многопорогового прохождения сообщения
RU158721U1 (ru) * 2014-11-11 2016-01-20 Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования "Рязанский государственный радиотехнический университет" Многоуровневый мажоритарный декодер линейных кодов
RU2667370C1 (ru) * 2017-11-07 2018-09-19 Валерий Владимирович Золотарев Способ декодирования линейного каскадного кода

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6167552A (en) * 1997-10-02 2000-12-26 Harris Corporation Apparatus for convolutional self-doubly orthogonal encoding and decoding
RU2337478C2 (ru) * 2004-03-31 2008-10-27 Интел Корпорейшн Декодирование высокоизбыточных кодов с контролем четности с использованием многопорогового прохождения сообщения
RU158721U1 (ru) * 2014-11-11 2016-01-20 Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования "Рязанский государственный радиотехнический университет" Многоуровневый мажоритарный декодер линейных кодов
RU2667370C1 (ru) * 2017-11-07 2018-09-19 Валерий Владимирович Золотарев Способ декодирования линейного каскадного кода

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
В.В. Золотарев, Г.В. Овечкин. Помехоустойчивое кодирование. Методы и алгоритмы. Справочник. М., "Горячая линия - телеком", 2004, 126 с., с. 79-87. *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2743854C1 (ru) * 2019-12-06 2021-03-01 федеральное государственное бюджетное образовательное учреждение высшего образования "Ульяновский государственный технический университет" Генератор комбинаций двоичного эквивалентного кода
RU2741062C1 (ru) * 2020-06-17 2021-01-22 Валерий Владимирович Золотарев Способ инжекторного декодирования сверточных кодов

Similar Documents

Publication Publication Date Title
CN108282264B (zh) 基于比特翻转串行消除列表算法的极化码译码方法
CN108462558B (zh) 一种极化码scl译码方法、装置及电子设备
US9385753B2 (en) Systems and methods for bit flipping decoding with reliability inputs
JP3822249B2 (ja) 不均一エラー保護を有する通信信号の検出方法および手段
JP4782136B2 (ja) 無線チャネル上で送信すべき入力ビットブロックのシーケンスを符号化する方法
US7539920B2 (en) LDPC decoding apparatus and method with low computational complexity algorithm
US9214958B2 (en) Method and decoder for processing decoding
CN107919874B (zh) 校验子计算基本校验节点处理单元、方法及其计算机程序
CN107404321B (zh) 用于纠错码解码的方法和设备
CN105763203B (zh) 一种基于硬可靠度信息的多元ldpc码译码方法
RU2699833C1 (ru) Способ ускоренного декодирования линейного кода
RU2377722C2 (ru) Способ декодирования помехоустойчивого кода
CN105812000B (zh) 一种改进的bch软判决译码方法
CN113890543A (zh) 基于多层感知神经网络的多进制ldpc码的译码方法
US20170264393A1 (en) Decoding method and apparatus in system using sequentially connected binary codes
CN112953569B (zh) 译码方法及装置、存储介质、电子设备、译码器
Dou et al. Soft-decision based sliding-window decoding of staircase codes
RU2721937C1 (ru) Способ декодирования помехоустойчивого кода
US8019020B1 (en) Binary decoding for correlated input information
CN112491422A (zh) 基于高斯优化的比特翻转串行消除列表译码方法和***
JP2003218707A (ja) 誤り訂正符号を得るための方法、誤り訂正符号を復号化するための方法、情報要素のブロックを符号化するための符号器、および、軟値の第1のブロックを復号化する復号器
KR20040044589A (ko) 다수결 논리를 이용한 rm 부호의 연판정 복호 방법 및그 장치
RU2637487C1 (ru) Способ декодирования информации с использованием свёрточных кодов
CN109412752A (zh) 极化码的非相干检测接收机、***及方法
RU2667370C1 (ru) Способ декодирования линейного каскадного кода

Legal Events

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

Effective date: 20201109