RU2628191C2 - Способ определения параметров помехоустойчивого кода - Google Patents
Способ определения параметров помехоустойчивого кода Download PDFInfo
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/11—Error 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/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1105—Decoding
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/11—Error 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/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1105—Decoding
- H03M13/1111—Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/11—Error 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/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1191—Codes on graphs other than LDPC codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/65—Purpose and implementation aspects
- H03M13/6508—Flexibility, adaptability, parametrability and configurability of the implementation
- H03M13/6513—Support of multiple code types, e.g. unified decoder for LDPC and turbo codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/65—Purpose and implementation aspects
- H03M13/6508—Flexibility, adaptability, parametrability and configurability of the implementation
- H03M13/6516—Support 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. Полученная матрица называется порождающей матрицей кода. Операция транспонирования области проверок с добавлением единичной матрицы I(n-k)×(n-k) позволяет получить проверочную матрицу необходимую для декодирования кодовых последовательностей исходного кода.
Недостатком данного метода является низкая производительность системы приема информации при наличии ошибок в цифровом потоке, из которого формируется анализируемая матрица.
Наиболее близким по своей сущности к заявляемому изобретению (прототипом) является способ автоматического выбора исходного помехоустойчивого кода и устройства для его декодирования (см. патент РФ №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, определяется, в первую очередь, допустимыми вероятностями «пропуска цели» и «ложной тревоги» при нахождении конкретного проверочного уравнения и выражается через количество линейно-независимых кодовых слов, необходимых для восстановления всех проверочных уравнений:
где pnd - вероятность «пропуска цели» при обнаружении строки проверочной матрицы; - вероятность «ложной тревоги» при обнаружении строки проверочной матрицы; ε - вероятность битовой ошибки в канале связи; ωtH(h) - вес строки проверочной матрицы с использованием метрики Хэмминга; φ-1 - обратная функция Лапласа, табличная величина.
На практике, зачастую, отсутствуют сведения о весе строки проверочной матрицы, что затрудняет использование формулы (1), в этом случае будет М определяться объемом доступной реализации, но для эффективной работы необходимо, чтобы выполнялось следующее требование: М≥10k, где k - длина информационной части кодового слова.
Матрица предполагаемых проверочных уравнений в блоке А13 формируется следующим образом. Из матрицы, полученной в блоке А12, берется подматрица, содержащая проверочную часть кодовых слов, размерности k×(n-k), где k - длина информационной части кодового слова, n - длина кодового слова, выраженные в битах. Затем параллельно с процедурой приведения матрицы к нижней треугольной форме методом Гаусса, при сложении по модулю двух ее столбцов, также складываются строки, выбранной отдельно вышеупомянутой подматрицы, с соответствующими столбцам номерами, если они удовлетворяют условию - номер складываемого столбца меньше k. Матрица предполагаемых проверочных уравнений получается путем конкатенации полученной транспонированной подматрицы с единичной матрицей той же размерности.
Пороговое значение Т, используемое в качестве критерия при нахождении проверочных уравнений, определяется формулой
где - вероятность «ложной тревоги» при обнаружении строки проверочной матрицы; М - число строк нижнетреугольной матрицы; φ-1 - обратная функция Лапласа (табличная величина).
Эмпирическим путем установлено, что при выборе порога Т, равного 0.05×М, вероятность «ложной тревоги» при обнаружении проверочного уравнения кода стремится к нулю.
Для проверки эффективности заявляемого способа были сформированы выборки из 10240 кодовых слов низкоплотностного кода (512, 256), представленных последовательностями мягких решений, полученных при демодуляции четырехпозиционного фазоманипулированного сигнала с различным уровнем аддитивного белого гауссовского шума. Внесение шума позволило получить вероятности битовых ошибок на выходе демодулятора 2,6Е-3, 2,3Е-3 и 1,8Е-3. График зависимости числа найденных проверочных уравнений W (всего 256) от числа итераций Q при фиксированной вероятности битовой ошибки Р на выходе демодулятора представлен на фиг. 3. Результаты моделирования показывают, что с увеличением вероятности ошибки в цифровом потоке восстановление проверочной матрицы происходит за большее число итераций.
Таким образом, разработанный способ определения параметров помехоустойчивого кода позволяет выявить проверочную матрицу, длину информационной и проверочной части кода, отсутствующего в списке известных кодов, что повышает производительность системы приема информации в целом. Данные параметры помехоустойчивого кода являются исчерпывающей информацией, необходимой не только для идентификации кода, но и для декодирования его кодовых слов.
Claims (1)
- Способ определения параметров помехоустойчивого кода, заключающийся в том, что для каждого из заранее заданного набора помехоустойчивых кодов с известными параметрами на предварительном этапе вычисляют синдромы кодовых слов, полученные значения сохраняют в памяти, затем по принятой реализации кодового слова, с учетом последовательности мягких решений рассчитывают значение синдрома, сравнивают его со значениями из памяти и код, для которого число ненулевых синдромов окажется меньше порогового значения, считают исходным помехоустойчивым кодом с известной проверочной матрицей и параметрами кодирования, характеризующими длину информационной и проверочной части кода, отличающийся тем, что после процедуры сравнения числа ненулевых синдромов с пороговым значением, в случае если критерий определения кода не был выполнен, накапливают кодовые реализации и формируют анализируемую матрицу требуемой размерности, преобразуют полученную матрицу к нижней треугольной форме, формируют при этом матрицу предполагаемых проверочных уравнений кода, в полученной нижнетреугольной матрице, определяют вес столбцов в области проверок, индекс столбца, вес которого не превышает порогового значения, указывает на истинное проверочное уравнение в матрице предполагаемых проверочных уравнений кода, с использованием найденных уравнений и алгоритма итеративного распространения доверия декодируют накопленные кодовые реализации, снова формируют анализируемую матрицу и выполняют над ней описанную выше последовательность действий, пока не будут найдены все проверочные уравнения кода.
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)
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 |
-
2016
- 2016-01-28 RU RU2016102881A patent/RU2628191C2/ru not_active IP Right Cessation
Patent Citations (2)
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 |