RU2628191C2 - Способ определения параметров помехоустойчивого кода - Google Patents

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

Info

Publication number
RU2628191C2
RU2628191C2 RU2016102881A RU2016102881A RU2628191C2 RU 2628191 C2 RU2628191 C2 RU 2628191C2 RU 2016102881 A RU2016102881 A RU 2016102881A RU 2016102881 A RU2016102881 A RU 2016102881A RU 2628191 C2 RU2628191 C2 RU 2628191C2
Authority
RU
Russia
Prior art keywords
code
matrix
verification
equations
threshold value
Prior art date
Application number
RU2016102881A
Other languages
English (en)
Other versions
RU2016102881A (ru
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 RU2016102881A priority Critical patent/RU2628191C2/ru
Publication of RU2016102881A publication Critical patent/RU2016102881A/ru
Application granted granted Critical
Publication of RU2628191C2 publication Critical patent/RU2628191C2/ru

Links

Images

Classifications

    • 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/11Error 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 using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1105Decoding
    • 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/11Error 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 using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1105Decoding
    • H03M13/1111Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms
    • 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/11Error 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 using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1191Codes on graphs other than LDPC 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/65Purpose and implementation aspects
    • H03M13/6508Flexibility, adaptability, parametrability and configurability of the implementation
    • H03M13/6513Support of multiple code types, e.g. unified decoder for LDPC and turbo 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/65Purpose and implementation aspects
    • H03M13/6508Flexibility, adaptability, parametrability and configurability of the implementation
    • H03M13/6516Support of multiple code parameters, e.g. generalized Reed-Solomon decoder for a variety of generator polynomials or Galois fields

Landscapes

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

Abstract

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

Description

Изобретение относится к радиотехнике, а именно к способам анализа набора реализаций кодовых последовательностей с целью идентификации параметров помехоустойчивого кодирования, и предназначено для использования в области передачи цифровой информации.
Известен метод идентификации параметров помехоустойчивого кода, позволяющий определить проверочную матрицу с последующим выявлением длины информационной и проверочной частей кода (Грантмахер Ф.Р. Теория матриц - 4-е изд. - М.: Наука, 1988. - 39 с.).
Метод основан на использовании алгоритма Гаусса. Из множества реализаций кодовых последовательностей формируется матрица размерности k'×n', где k' - размерность матрицы по вертикали, n' - предполагаемая длина кода, причем k'≥k, где k - длина информационной части предполагаемого кода. Полученную матрицу с использованием алгоритма Гаусса приводят к верхнетреугольной форме, затем к нижнетреугольной. Если матрица была составлена из линейно-независимых строк, то результатом работы алгоритма Гаусса служит формирование единичной матрицы In'×n', что свидетельствует об отсутствии помехоустойчивого кода с заданным параметром n', следовательно, данный параметр необходимо изменить и снова выполнить процедуры преобразования к верхнетреугольной форме, затем к нижнетреугольной. В противном случае результирующая матрица будет состоять из двух частей: единичной матрицы Ik×k и области проверок Pk×(n-k), что позволяет определить длину кода n, длину информационной части k и исправляющую способность кода t. Полученная матрица
Figure 00000001
называется порождающей матрицей кода. Операция транспонирования области проверок с добавлением единичной матрицы I(n-k)×(n-k) позволяет получить проверочную матрицу
Figure 00000002
необходимую для декодирования кодовых последовательностей исходного кода.
Недостатком данного метода является низкая производительность системы приема информации при наличии ошибок в цифровом потоке, из которого формируется анализируемая матрица.
Наиболее близким по своей сущности к заявляемому изобретению (прототипом) является способ автоматического выбора исходного помехоустойчивого кода и устройства для его декодирования (см. патент РФ №2271604, МПК Н03М 13/00, G06F 11/00, опубл. 10.03.2006), заключающийся в том, что для каждого из заранее заданного набора помехоустойчивых кодов с известными параметрами вычисляют значения синдромов кодовых слов, сохраняют их в память, затем по принятой реализации с учетом последовательности мягких решений вычисляют значение синдрома и сравнивают его со значениями из памяти и код с наиболее близким значением синдрома является исходным помехоустойчивым кодом с известной проверочной матрицей.
Недостатком данного способа является низкая производительность системы приема информации в виду отсутствия возможности определения параметров помехоустойчивого кода (Н - проверочная матрица кода, n - длина кодового слова, k - длина информационной части кодового слова, t - исправляющая способность кода), если исходный код не присутствует в заданном списке кодов.
Задачей изобретения является способ определения параметров помехоустойчивого кода, позволяющий повысить производительность системы приема информации.
Задача изобретения решается тем, что способ определения параметров помехоустойчивого кода, заключающийся в том, что для каждого из заранее заданного набора помехоустойчивых кодов с известными параметрами на предварительном этапе вычисляют значения синдромов кодовых слов, сохраняют их в память, затем по принятой реализации с учетом последовательности мягких решений вычисляют значение синдрома и сравнивают его со значениями из памяти и код с наиболее близким значением синдрома является исходным помехоустойчивым кодом с известной проверочной матрицей и другими параметрами кодирования, согласно изобретению дополнен тем, что после процедуры сравнения числа ненулевых синдромов с пороговым значением, в случае если критерий определения кода не был выполнен, накапливают кодовые реализации и формируют анализируемую матрицу требуемой размерности, преобразуют полученную матрицу к нижней треугольной форме, формируют при этом матрицу предполагаемых проверочных уравнений кода, в полученной нижнетреугольной матрице, определяют вес столбцов в области проверок, индекс столбца, вес которого не превышает порогового значения, указывает на истинное проверочное уравнение в матрице предполагаемых проверочных уравнений кода, с использованием найденных уравнений и алгоритма итеративного распространения доверия декодируют накопленные кодовые реализации, снова формируют анализируемую матрицу и выполняют над ней описанную выше последовательность действий, пока не будут найдены все проверочные уравнения кода.
Перечисленная новая совокупность существенных признаков позволяет повысить производительность системы приема информации за счет определения параметров помехоустойчивых кодов, отсутствующих в заданном списке.
Проведенный анализ уровня техники позволил установить, что аналоги, характеризующиеся совокупностью признаков, тождественных всем признакам заявленного технического решения, отсутствуют, что указывает на соответствие изобретения условию патентоспособности «новизна».
Результаты поиска известных решений в данной и смежных областях техники с целью выявления признаков, совпадающих с отличительными от прототипа признаками заявленного объекта, показали, что они не следуют явным образом из уровня техники. Из уровня техники также не выявлена известность влияния предусматриваемых существенными признаками заявленного изобретения преобразований на решение указанной задачи. Следовательно, заявленное изобретение соответствует условию патентоспособности «изобретательский уровень».
«Промышленная применимость» способа обусловлена наличием элементной базы, на основе которой могут быть выполнены устройства, реализующие данный способ с достижением указанного в изобретении назначения.
Заявленный способ поясняется чертежами, на которых показаны:
фиг. 1 - алгоритм, реализующий способ определения параметров помехоустойчивого кода;
фиг. 2 - графическое представление фрагмента нижнетреугольной матрицы;
фиг. 3 - график зависимости числа найденных проверочных уравнений W от числа итераций Q при фиксированной вероятности битовой ошибки на выходе демодулятора Р.
На фиг. 1 представлена последовательность операций способа определения параметров помехоустойчивого кода. По принятой реализации кодового слова V0 (блок A1), с учетом последовательности мягких решений, рассчитывают синдром кодового слова (блок А2). Затем полученное значение синдрома в блоках А3-А5 сравнивается с пороговыми значениями из заданного списка, формируемого на предварительном этапе (блоки А6-А8), и код, для которого число ненулевых синдромов окажется меньше порогового значения, считается исходным помехоустойчивым кодом с известной проверочной матрицей и другими параметрами. Если решающее правило не было выполнено, следовательно, анализируемый помехоустойчивый код отсутствует в заданном списке кодов и для определения параметров кода необходимо использовать основы матричного анализа. Для этого выполняется процедуры накопления кодовых реализаций (блок А11) и формирования анализируемой матрицы требуемой размерности (блок А12). При этом параметр длины кодового слова инициализируется в блоке А9 и принимает начальное значение, наиболее вероятное для данного кода (блок А10). Затем полученную матрицу с использованием алгоритма Гаусса приводят к нижней треугольной форме (фиг. 2), формируя при этом матрицу предполагаемых проверочных уравнений кода (блок А13). После чего в преобразованной матрице в области проверок определяют вес столбцов (блок А14). Затем сравнивают вес каждого столбца с пороговым значением (блоки А15-А17). Если вес столбца не превышает порогового значения, то индекс столбца определяет истинное проверочное уравнение кода в матрице предполагаемых проверок. В блоке A18 проверяется, было ли найдено хотя бы одно проверочное уравнение Р. Если не было найдено ни одного проверочного уравнения, то необходимо вернуться к блоку А10 и повторить описанную последовательность действий, выбрав другую предполагаемую длину кодовых слов (увеличить значение n на единицу). Следует отметить, что если накопленные реализации кодовых последовательностей не содержат ошибки, то все веса столбцов будут меньше порогового значения. В противном случае будут найдены не все проверочные уравнения (блок A19). В данном случае выполняется процедура декодирования накопленных кодовых реализаций с использованием уже найденных проверочных уравнений кода и алгоритма итеративного распространения доверия (блок А20). Затем снова формируется анализируемая матрица, но уже с исправленными кодовыми последовательностями и снова повторяется вся последовательность действий, представленная блоками А13-А21.
Требуемая размерность анализируемой матрицы, формируемой в блоке А12, определяется, в первую очередь, допустимыми вероятностями «пропуска цели» и «ложной тревоги» при нахождении конкретного проверочного уравнения и выражается через количество линейно-независимых кодовых слов, необходимых для восстановления всех проверочных уравнений:
Figure 00000003
где pnd - вероятность «пропуска цели» при обнаружении строки проверочной матрицы;
Figure 00000004
- вероятность «ложной тревоги» при обнаружении строки проверочной матрицы; ε - вероятность битовой ошибки в канале связи; ωtH(h) - вес строки проверочной матрицы с использованием метрики Хэмминга; φ-1 - обратная функция Лапласа, табличная величина.
На практике, зачастую, отсутствуют сведения о весе строки проверочной матрицы, что затрудняет использование формулы (1), в этом случае будет М определяться объемом доступной реализации, но для эффективной работы необходимо, чтобы выполнялось следующее требование: М≥10k, где k - длина информационной части кодового слова.
Матрица предполагаемых проверочных уравнений в блоке А13 формируется следующим образом. Из матрицы, полученной в блоке А12, берется подматрица, содержащая проверочную часть кодовых слов, размерности k×(n-k), где k - длина информационной части кодового слова, n - длина кодового слова, выраженные в битах. Затем параллельно с процедурой приведения матрицы к нижней треугольной форме методом Гаусса, при сложении по модулю двух ее столбцов, также складываются строки, выбранной отдельно вышеупомянутой подматрицы, с соответствующими столбцам номерами, если они удовлетворяют условию - номер складываемого столбца меньше k. Матрица предполагаемых проверочных уравнений получается путем конкатенации полученной транспонированной подматрицы с единичной матрицей той же размерности.
Пороговое значение Т, используемое в качестве критерия при нахождении проверочных уравнений, определяется формулой
Figure 00000005
где
Figure 00000006
- вероятность «ложной тревоги» при обнаружении строки проверочной матрицы; М - число строк нижнетреугольной матрицы; φ-1 - обратная функция Лапласа (табличная величина).
Эмпирическим путем установлено, что при выборе порога Т, равного 0.05×М, вероятность «ложной тревоги» при обнаружении проверочного уравнения кода стремится к нулю.
Для проверки эффективности заявляемого способа были сформированы выборки из 10240 кодовых слов низкоплотностного кода (512, 256), представленных последовательностями мягких решений, полученных при демодуляции четырехпозиционного фазоманипулированного сигнала с различным уровнем аддитивного белого гауссовского шума. Внесение шума позволило получить вероятности битовых ошибок на выходе демодулятора 2,6Е-3, 2,3Е-3 и 1,8Е-3. График зависимости числа найденных проверочных уравнений W (всего 256) от числа итераций Q при фиксированной вероятности битовой ошибки Р на выходе демодулятора представлен на фиг. 3. Результаты моделирования показывают, что с увеличением вероятности ошибки в цифровом потоке восстановление проверочной матрицы происходит за большее число итераций.
Таким образом, разработанный способ определения параметров помехоустойчивого кода позволяет выявить проверочную матрицу, длину информационной и проверочной части кода, отсутствующего в списке известных кодов, что повышает производительность системы приема информации в целом. Данные параметры помехоустойчивого кода являются исчерпывающей информацией, необходимой не только для идентификации кода, но и для декодирования его кодовых слов.

Claims (1)

  1. Способ определения параметров помехоустойчивого кода, заключающийся в том, что для каждого из заранее заданного набора помехоустойчивых кодов с известными параметрами на предварительном этапе вычисляют синдромы кодовых слов, полученные значения сохраняют в памяти, затем по принятой реализации кодового слова, с учетом последовательности мягких решений рассчитывают значение синдрома, сравнивают его со значениями из памяти и код, для которого число ненулевых синдромов окажется меньше порогового значения, считают исходным помехоустойчивым кодом с известной проверочной матрицей и параметрами кодирования, характеризующими длину информационной и проверочной части кода, отличающийся тем, что после процедуры сравнения числа ненулевых синдромов с пороговым значением, в случае если критерий определения кода не был выполнен, накапливают кодовые реализации и формируют анализируемую матрицу требуемой размерности, преобразуют полученную матрицу к нижней треугольной форме, формируют при этом матрицу предполагаемых проверочных уравнений кода, в полученной нижнетреугольной матрице, определяют вес столбцов в области проверок, индекс столбца, вес которого не превышает порогового значения, указывает на истинное проверочное уравнение в матрице предполагаемых проверочных уравнений кода, с использованием найденных уравнений и алгоритма итеративного распространения доверия декодируют накопленные кодовые реализации, снова формируют анализируемую матрицу и выполняют над ней описанную выше последовательность действий, пока не будут найдены все проверочные уравнения кода.
RU2016102881A 2016-01-28 2016-01-28 Способ определения параметров помехоустойчивого кода RU2628191C2 (ru)

Priority Applications (1)

Application Number Priority Date Filing Date Title
RU2016102881A RU2628191C2 (ru) 2016-01-28 2016-01-28 Способ определения параметров помехоустойчивого кода

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2016102881A RU2628191C2 (ru) 2016-01-28 2016-01-28 Способ определения параметров помехоустойчивого кода

Publications (2)

Publication Number Publication Date
RU2016102881A RU2016102881A (ru) 2017-08-02
RU2628191C2 true RU2628191C2 (ru) 2017-08-15

Family

ID=59632056

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2016102881A RU2628191C2 (ru) 2016-01-28 2016-01-28 Способ определения параметров помехоустойчивого кода

Country Status (1)

Country Link
RU (1) RU2628191C2 (ru)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2271604C2 (ru) * 2004-05-25 2006-03-10 Андрей Иванович Тихонюк Способ автоматического выбора исходного помехоустойчивого кода и устройство для его осуществления
WO2015079193A1 (en) * 2013-11-29 2015-06-04 Toshiba Research Europe Limited Belief propagation decoding for short algebraic codes with permutations within the code space

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2271604C2 (ru) * 2004-05-25 2006-03-10 Андрей Иванович Тихонюк Способ автоматического выбора исходного помехоустойчивого кода и устройство для его осуществления
WO2015079193A1 (en) * 2013-11-29 2015-06-04 Toshiba Research Europe Limited Belief propagation decoding for short algebraic codes with permutations within the code space

Also Published As

Publication number Publication date
RU2016102881A (ru) 2017-08-02

Similar Documents

Publication Publication Date Title
CN110545160B (zh) 极化码编码和解码方法、装置及存储介质
US10218388B2 (en) Techniques for low complexity soft decoder for turbo product codes
TWI496157B (zh) 決定同位元檢查陣列之方法以及快閃記憶體系統
US10348336B2 (en) System and method for early termination of decoding in a multi user equipment environment
EP2773061B1 (en) A method and an apparatus for deriving secret information from a series of response values and a method and an apparatus for providing helper data allowing to derive a secret information
US9805436B2 (en) Watermark detection with payload
CN107147400B (zh) 一种ira码开集盲识别方法
RU2580797C1 (ru) Способ мягкого декодирования блоковых кодов
WO2021078273A1 (zh) 一种极化码构造方法及装置
KR101997119B1 (ko) 인터리빙 주기를 추정하는 방법 및 그 시스템
US9294128B2 (en) Test signal generator for low-density parity-check decoder
CN111800145A (zh) 一种基于余弦相似度的线性分组码的码长盲识别方法
Su et al. Blind identification of convolutional encoder parameters
RU2444127C1 (ru) Способ мягкого декодирования систематических блоковых кодов
US10651873B2 (en) Polar code successive cancellation list decoding
RU2628191C2 (ru) Способ определения параметров помехоустойчивого кода
RU2538331C2 (ru) Мягкий декодер последовательного турбокода
KR101356552B1 (ko) 블라인드 블록 인터리버 및 채널 부호화의 파라미터 추정 방법
Murata et al. Performance analysis of CRC codes for systematic and nonsystematic polar codes with list decoding
US9037944B2 (en) Method for selecting a LDPC candidate code
Diop et al. New Steganographic scheme based of Reed-Solomon codes
RU2646372C1 (ru) Способ мягкого когнитивного декодирования систематических блоковых кодов
CN113067583B (zh) 基于最小错误判决准则的ldpc码码长及码字起点识别方法
Zheng et al. Performance evaluation of irregular low-density parity-check codes at high signal-to-noise ratio
US8977925B2 (en) Efficient way to construct LDPC code by comparing error events using a voting based method

Legal Events

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

Effective date: 20180129