RU2619533C2 - Lexicographic decoder of concatenated code - Google Patents

Lexicographic decoder of concatenated code Download PDF

Info

Publication number
RU2619533C2
RU2619533C2 RU2015146220A RU2015146220A RU2619533C2 RU 2619533 C2 RU2619533 C2 RU 2619533C2 RU 2015146220 A RU2015146220 A RU 2015146220A RU 2015146220 A RU2015146220 A RU 2015146220A RU 2619533 C2 RU2619533 C2 RU 2619533C2
Authority
RU
Russia
Prior art keywords
block
output
input
unit
code
Prior art date
Application number
RU2015146220A
Other languages
Russian (ru)
Other versions
RU2015146220A (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 RU2015146220A priority Critical patent/RU2619533C2/en
Publication of RU2015146220A publication Critical patent/RU2015146220A/en
Application granted granted Critical
Publication of RU2619533C2 publication Critical patent/RU2619533C2/en

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/29Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer 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/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
    • 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/29Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2957Turbo codes and decoding
    • H03M13/296Particular turbo code structure
    • H03M13/2966Turbo codes concatenated with another code, e.g. an outer block code
    • 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/29Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2957Turbo codes and decoding
    • H03M13/296Particular turbo code structure
    • H03M13/2972Serial concatenation using convolutional component 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/45Soft decoding, i.e. using symbol reliability information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0064Concatenated codes

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Error Detection And Correction (AREA)

Abstract

FIELD: information technologies.
SUBSTANCE: device comprises a receiver unit, an index unit, a statistical solution unit, an iterator, a prioritizer, an internal code unit, an external code unit, a cluster number unit, a cyclic shift unit, a key combination unit, a processed combination unit, a coincidence unit, a base cluster unit, an error discrimination unit, a reverse shift unit, an error correction unit.
EFFECT: improved reliability of data reception and reduced implementation complexity.
1 dwg, 4 tbl

Description

Изобретение относится к технике связи и может использоваться при проектировании новых и модернизации существующих систем передачи дискретной информации.The invention relates to communication technology and can be used in the design of new and modernization of existing discrete information transmission systems.

Известны устройства восстановления стираний и исправления ошибок, использующие индексы мягких решений (индекс достоверности символов, градации надежности символов) для повышения достоверности приема информации (см. Р. Морелос-Сарагоса. Искусство помехоустойчивого кодирования. Методы, алгоритмы, применения. М., Техносфера, 2005, С. 103, …, 105; а также устройства по патентам РФ на изобретения №№2166235; 2209519; 2209520; 2256294; 2344556; 2538331).Known devices for erasing recovery and error correction using soft decision indices (symbol confidence index, symbol reliability gradation) to increase the accuracy of information reception (see R. Morelos-Zaragoza. The art of noise-resistant coding. Methods, algorithms, applications. M., Technosphere, 2005, S. 103, ..., 105; as well as devices according to RF patents for inventions No. 2166235; 2209519; 2209520; 2256294; 2344556; 2538331).

Кроме того, известны устройства декодирования недвоичных кодов Рида-Соломона (PC) (см. В.К. Конопелько, В.А. Липницкий. Теория норм синдромов и перестановочное декодирование помехоустойчивых кодов. Изд. 3-е. - М., Едиториал УРСС, 2012. - С. 9-15; а также В.Г. Карташевский, Д.В. Мишин. Итерационное декодирование турбо-кодов в канале с памятью // 3-я Международная конференция и выставка «Цифровая обработка сигналов и ее применение». - М., 2000. - С. 65-68).In addition, devices for decoding non-binary Reed-Solomon (PC) codes are known (see V.K. Konopelko, V.A. Lipnitsky. Syndrome norm theory and permutation decoding of error-correcting codes. Ed. 3rd. - M., URSS editorial , 2012. - P. 9-15; and also VG Kartashevsky, DV Mishin. Iterative decoding of turbo codes in a memory channel // 3rd International Conference and Exhibition "Digital Signal Processing and its Application" . - M., 2000 .-- S. 65-68).

Наиболее близким устройством такого же назначения является мягкий декодер последовательного турбокода, алгоритм работы которого описан в патенте РФ №2538331, содержащий блок приема и блок внутреннего кода, первый выход которого подключен к буферу внешнего кода, один выход которого подключен к первому входу блока синдромов, второй вход которого подключен к одному выходу блока стираний, а его другой выход подключен к блоку локаторов стираний, первый выход которого через блок производной подключен ко второму входу блока исправления стираний, первый вход которого подключен к выходу блока произведений, тогда как первый и второй входы этого блока соответственно подключены к выходу блока синдромов и второму выходу блока локатора стираний, при этом другой выход буфера внешнего кода подключен к первому входу выходного блока, а второй и третий входы этого блока подключены соответственно к выходу блока исправления стираний и к третьему выходу блока стираний, в который дополнительно введены блок индексов, блок статистических решений, блок итераций и блок приоритетов, при этом выход блока приема через блок индексов подключен к блоку статистических решений, первый выход которого подключен к одному входу блока итераций, выход которого подключен к блоку внутреннего кода, второй выход которого подключен к другому входу блока итераций, при этом третий выход блока внутреннего кода подключен к первому входу блока приоритетов, а его второй вход подключен ко второму выходу блока статистических решений, при этом выход блока приоритетов подключен к блоку стираний.The closest device for the same purpose is a soft sequential turbo code decoder, the algorithm of which is described in RF patent No. 2538331, comprising a receiving unit and an internal code block, the first output of which is connected to an external code buffer, one output of which is connected to the first input of the syndrome block, the second the input of which is connected to one output of the erasure block, and its other output is connected to the block of erase locators, the first output of which through the derivative block is connected to the second input of the erase correction block , the first input of which is connected to the output of the block of works, while the first and second inputs of this block are respectively connected to the output of the syndrome block and the second output of the erasure locator block, while the other output of the external code buffer is connected to the first input of the output block, and the second and third inputs of this block are connected respectively to the output of the erasure correction block and to the third output of the erasure block, into which the index block, the statistical decision block, the iteration block and the priority block are additionally entered, while the output the receiving block through the index block is connected to the statistical decision block, the first output of which is connected to one input of the iteration block, the output of which is connected to the internal code block, the second output of which is connected to the other input of the iteration block, while the third output of the internal code block is connected to the first input priority block, and its second input is connected to the second output of the statistical decision block, while the output of the priority block is connected to the erase block.

К недостаткам работы аналогов, в том числе и прототипа предлагаемого декодера, следует отнести неполное использование введенной во внутренний и внешний коды избыточности из-за применения жестких алгоритмов обработки данных и использования одного из надежно принятых элементов кодовой комбинации в качестве стирания для оценки правильности декодирования принятого кодового вектора недвоичного кода на внешней ступени декодирования. Это повышает сложность декодера при вычислении недвоичных разрядов внешнего кода, поскольку в алгоритме используется операция умножения в недвоичном поле Галуа.The disadvantages of the work of analogs, including the prototype of the proposed decoder, include the incomplete use of redundancy introduced into the internal and external codes due to the use of strict data processing algorithms and the use of one of the securely received elements of the code combination as an erase to evaluate the correct decoding of the received code non-binary code vectors at the external decoding stage. This increases the complexity of the decoder when calculating the non-binary bits of the external code, since the algorithm uses the operation of multiplication in the non-binary Galois field.

Технический результат - повышение достоверности приема информации и снижение сложности реализации декодера за счет минимизации числа выполняемых операций умножения. Для достижения технического результата в лексикографический декодер каскадного кода, содержащий блок приема, выход которого через блок индексов подключен к входу блока статистических решений, первый выход которого подключен к одному входу блока итерации, а второй выход блока статистических решений подключен к первому входу блока приоритетов, при этом выход блока итерации подключен к входу блока внутреннего кода, первый выход которого соединен с другим входом блока итерации, а второй выход блока внутреннего кода подключен к второму входу блока приоритетов, тогда как третий выход блока внутреннего кода подключен к входу буфера внешнего кода, отличающийся тем, что дополнительно введены блок номера кластера, блок циклических сдвигов, блок ключевой комбинации, блок обрабатываемой комбинации, блок совпадений, блок базового кластера, блок выделения ошибок, блок обратных сдвигов, блок исправления ошибок, при этом первый выход буфера внешнего кода подключен к первому входу блока номера кластера, выход которого подключен к входу блока циклических сдвигов, первый выход которого через один выход блока ключевой комбинации подключен к первому входу блока обрабатываемой комбинации, один выход которого подключен к первому входу блока базового кластера, второй выход которого подключен ко второму входу блока обрабатываемой комбинации, другой выход которого через первый вход блока выделения ошибки подключен к одному входу блока обратных сдвигов, выход которого подключен к первому входу блока исправления ошибок, второй вход которого подключен к второму выходу блока буфера внешнего кода, при этом другой выход блока ключевой комбинации подключен к первому входу блока совпадений, один выход которого подключен к второму входу блока базового кластера, первый выход которого подключен к второму входу блока совпадений, другой выход которого подключен к второму входу блока выделения ошибки, а второй выход блока циклических сдвигов подключен к другому входу обратных сдвигов, при этом выход блока приоритетов подключен к второму входу блока номера кластера.EFFECT: increased reliability of information reception and reduced complexity of decoder implementation by minimizing the number of multiplication operations performed. To achieve a technical result in a lexicographic decoder of a cascade code containing a receiving unit, the output of which through the index block is connected to the input of the statistical decision block, the first output of which is connected to one input of the iteration block, and the second output of the statistical decision block is connected to the first input of the priority block, when the output of the iteration block is connected to the input of the internal code block, the first output of which is connected to another input of the iteration block, and the second output of the internal code block is connected to the second input to the priority block, while the third output of the internal code block is connected to the external code buffer input, characterized in that the cluster number block, the cyclic shift block, the key combination block, the processed combination block, the coincidence block, the base cluster block, the error highlighting block are additionally introduced , a block of reverse shifts, a block of error correction, while the first output of the external code buffer is connected to the first input of the cluster number block, the output of which is connected to the input of the cyclic shift block, the first output of which through one output of the key combination block is connected to the first input of the block of the processed combination, one output of which is connected to the first input of the block of the base cluster, the second output of which is connected to the second input of the block of the processed combination, the other output of which is connected to one input of the block through the first input of the error highlighting block reverse shifts, the output of which is connected to the first input of the error correction block, the second input of which is connected to the second output of the external code buffer block, while the other output of the block beam combination is connected to the first input of the coincidence unit, one output of which is connected to the second input of the base cluster unit, the first output of which is connected to the second input of the coincidence unit, the other output of which is connected to the second input of the error allocation unit, and the second output of the cyclic shift unit is connected to another the input of reverse shifts, while the output of the priority block is connected to the second input of the cluster number block.

На чертеже приведена структурная электрическая схема предложенного лексикографического декодера каскадного кода. Лексикографический декодер каскадного кода содержит блок 1 приема, выход которого через блок 2 индексов подключен к входу блока 3 статистических решений, первый выход которого подключен к одному входу блока 4 итерации, а второй выход блока 3 статистических решений подключен к первому входу блока 6 приоритетов, при этом выход блока 4 итерации подключен к входу блока 5 внутреннего кода, первый выход которого соединен с другим входом блока 4 итерации, а второй выход блока 5 внутреннего кода подключен к второму входу блока 6 приоритетов, тогда как третий выход блока 5 внутреннего кода подключен к входу буфера внешнего кода 7, отличающийся тем, что дополнительно введены блок 8 номера кластера, блок 9 циклических сдвигов, блок 10 ключевой комбинации, блок 11 обрабатываемой комбинации, блок 12 совпадений, блок 13 базового кластера, блок 14 выделения ошибок, блок 15 обратных сдвигов, блок 16 исправления ошибки, при этом первый выход буфера внешнего кода 7 подключен к первому входу блока 8 номера кластера, выход которого подключен к входу блока 9 циклических сдвигов, первый выход которого через один выход блока 10 ключевой комбинации подключен к первому входу блока 11 обрабатываемой комбинации, один выход которого подключен к первому входу блока 12 базового кластера, второй выход которого подключен ко второму входу блока 11 обрабатываемой комбинации, другой выход которого через первый вход блока 14 выделения ошибки подключен к одному входу блока 15 обратных сдвигов, выход которого подключен к первому входу блока 16 исправления ошибок, второй вход которого подключен к второму выходу буфера внешнего кода 7, при этом другой выход блока 10 ключевой комбинации подключен к первому входу блока 12 совпадений, один выход которого подключен к второму входу блока 13 базового кластера, первый выход которого подключен к второму входу блока 12 совпадений, другой выход которого подключен к второму входу блока 14 выделения ошибки, а второй выход блока 9 циклических сдвигов подключен к другому входу блока 15 обратных сдвигов, при этом выход блока 6 приоритетов подключен к второму входу блока 8 номера кластера.The drawing shows a structural electrical diagram of the proposed lexicographic decoder cascade code. The lexicographic decoder of the cascade code contains a receiving block 1, the output of which through the index block 2 is connected to the input of the statistical decision block 3, the first output of which is connected to one input of the iteration block 4, and the second output of the statistical decision block 3 is connected to the first input of the priority block 6, when the output of the iteration block 4 is connected to the input of the internal code block 5, the first output of which is connected to the other input of the iteration block 4, and the second output of the internal code block 5 is connected to the second input of the priority block 6, while t The third output of the internal code block 5 is connected to the input of the external code buffer 7, characterized in that the cluster number block 8, the cyclic shift block 9, the key combination block 10, the processed combination block 11, the match block 12, the base cluster block 13, are additionally introduced 14 error allocation, block 15 reverse shifts, block 16 error correction, while the first output of the buffer of the external code 7 is connected to the first input of block 8 of the cluster number, the output of which is connected to the input of block 9 of cyclic shifts, the first output of which through one the course of the key combination unit 10 is connected to the first input of the processed combination unit 11, one output of which is connected to the first input of the base cluster unit 12, the second output of which is connected to the second input of the processed combination unit 11, the other output of which is connected to the first input of the error allocation unit 14 to one input of the block 15 reverse shifts, the output of which is connected to the first input of the block 16 error correction, the second input of which is connected to the second output of the buffer of the external code 7, while the other output of the block 10 key of the second combination is connected to the first input of the block 12 matches, one output of which is connected to the second input of the block 13 of the base cluster, the first output of which is connected to the second input of the block 12 of matches, the other output of which is connected to the second input of the block 14 error allocation, and the second output of block 9 cyclic shifts connected to another input of the block 15 reverse shifts, while the output of the block 6 priorities is connected to the second input of the block 8 of the cluster number.

Работу декодера рассмотрим на примере использования в качестве внутреннего кода - кода с проверкой четности, а в качестве внешнего кода - код PC (7, 3, 5), построенного над полем GF(23).Let us consider the operation of the decoder using the example of parity as an internal code, and the PC code (7, 3, 5) built over the GF field (2 3 ) as an external code.

Порождающий полином такого кода PC g(х) определяется какThe generating polynomial of such a code PC g (x) is defined as

g(x)=(x-α)(x-α2)(x-α3)(x-α4)=x4+x3α3+x2+xα+α3.g (x) = (x-α) (x-α 2 ) (x-α 3 ) (x-α 4 ) = x 4 + x 3 α 3 + x 2 + xα + α 3 .

Используя значение g(x), представим некоторые кластеры кода PC в виде таблиц 1-4. Номера кластеров формируются по любым двум элементам кодовой комбинации кода PC одинаковым для всего множества разрешенных кодовых векторов (см. Гладких, А.А. Обобщенный метод декодирования по списку на базе кластеризации пространства кодовых векторов. Радиотехника. - 2015. - №6. - С. 37-41) и упорядочиваются лексикографически. Пусть в качестве таких элементов для всех кодовых комбинаций выбраны первые два символа. Общее число комбинаций любого кода PC, рассматриваемого над двоичным полем Галуа степени расширения k1, оценивается как

Figure 00000001
, где k1 - степень расширения двоичного поля, а k2 - число информационных разрядов кода PC. В примере k1=k2=3, тогда для рассматриваемого кода может быть сформировано 64 кластера, каждый из которых содержит по 8 комбинаций. Базовым кластером считается кластер с номером 00.Using the value of g (x), we present some clusters of PC code in the form of tables 1-4. Cluster numbers are formed by any two elements of the code combination of the PC code that are the same for the entire set of allowed code vectors (see Gladkikh, A. A. Generalized list decoding method based on clustering of the code vector space. Radio engineering. - 2015. - No. 6. - C . 37-41) and are ordered lexicographically. Let the first two characters be selected as such elements for all code combinations. The total number of combinations of any PC code considered over a Galois binary field of degree of extension k 1 is estimated as
Figure 00000001
, where k 1 is the degree of expansion of the binary field, and k 2 is the number of information bits of the PC code. In the example, k 1 = k 2 = 3, then 64 clusters can be formed for the code in question, each of which contains 8 combinations. The base cluster is cluster number 00.

В общем случае признаком ключевой комбинации для любого кластера является размещение на очередных позициях вслед за нумератором кластера единичных элементов поля по операции сложения. В примере нумератор кластера занимает две первые позиции, значит следующая (третья) позиция в ключевой комбинации должна быть равна нулю. Любая ключевая комбинация декодером может быть сформирована по известному номеру кластера и размещением на третьей позиции символа 0 или при небольших длинах кодовых комбинаций хранится в памяти декодера. В последнем случае в декодере полностью исключается арифметическая операция умножения, что существенно снижает сложность реализации декодера.In the general case, a sign of a key combination for any cluster is the placement at the next positions after the cluster numbering of individual field elements in the addition operation. In the example, the cluster enumerator takes the first two positions, which means the next (third) position in the key combination should be zero. Any key combination by the decoder can be formed by a known cluster number and placed at the third position of the character 0 or for small lengths of code combinations stored in the memory of the decoder. In the latter case, the arithmetic operation of multiplication is completely eliminated in the decoder, which significantly reduces the complexity of the implementation of the decoder.

Figure 00000002
Figure 00000002

Figure 00000003
Figure 00000003

Figure 00000004
Figure 00000004

Figure 00000005
Figure 00000005

Работа блока приема 1 организуется по принципу стирающего канала связи с симметричным интервалом стирания ρ, где 0≤ρ<1 и представляет долю расстояния в системе условных плотностей вероятностей в гауссовском канале связи между математическими ожиданиями

Figure 00000006
и
Figure 00000007
, соответствующих приему информационных нулей и единиц, где Eb - энергия сигнала, приходящаяся на бит. В целях повышения достоверности индексов мягких решений параметр ρ выбирают достаточно большим, например ρ=0,9. Зафиксированный в блоке приема 1 сигнал |z| и соответствующее ему жесткое решение 0 или 1 передаются в блок индексов 2.The operation of reception unit 1 is organized according to the principle of an erasing communication channel with a symmetric erasure interval ρ, where 0≤ρ <1 and represents the fraction of the distance in the system of conditional probability densities in a Gaussian communication channel between mathematical expectations
Figure 00000006
and
Figure 00000007
corresponding to the reception of information zeros and ones, where E b is the signal energy per bit. In order to increase the reliability of the indices of soft solutions, the parameter ρ is chosen sufficiently large, for example, ρ = 0.9. The signal | z | fixed in the receiving unit 1 and the corresponding hard decision 0 or 1 is transferred to the block of indices 2.

В блоке индексов 2 оценивается влияние мешающих факторов на двоичные символы переданного вектора внутреннего кода в виде целочисленных мягких решений символов (MPC). Для вычисления MPC применяется линейная зависимость (см. Гладких, А.А. Основы теории мягкого декодирования избыточных кодов в стирающем канале связи. Ульяновск: УлГТУ, - 2010. - 379 с., С. 211). Пусть выбрано максимальное значение MPC λmax=7. Тогда минимальное значение MPC будет равно λmin=0. Промежуточные оценки для i-го символа в блоке индексов 2 получают по правилуIn the block of indices 2, the influence of interfering factors on the binary symbols of the transmitted vector of the internal code in the form of integer soft symbol solutions (MPC) is evaluated. A linear dependence is used to calculate MPC (see Gladkikh, A.A. Fundamentals of the theory of soft decoding of redundant codes in an erasing communication channel. Ulyanovsk: UlSTU, 2010. - 379 p., P. 211). Let the maximum value MPC λ max = 7 be chosen. Then the minimum value of MPC will be equal to λ min = 0. Intermediate estimates for the i-th character in the index block 2 are obtained according to the rule

Figure 00000008
Figure 00000008

где - z уровень сигнала после воздействия на него аддитивной помехи, символ ⎣•⎦ означает округление полученного значения λi до целочисленной величины в сторону уменьшения (расчет на наихудший случай), ρ=0,9. Таким образом, выражение (1) при заданных условиях упрощается и принимает вид λi≅5,5×z. Следовательно, если z≥1,27, то λimax.where is the z signal level after the additive interference is applied to it, the symbol ⎣ • ⎦ means rounding the obtained value of λ i to an integer value in the direction of decreasing (calculation for the worst case), ρ = 0.9. Thus, expression (1) under given conditions is simplified and takes the form λ i ≅ 5.5 × z. Therefore, if z≥1.27, then λ i = λ max .

На основе полученных данных для двоичных символов в блоке статистических решений 3, осуществляется интегрированная оценка надежности q-ичных символов кода PC. Для выполнения такой оценки в блоке статистических решений 3 решается задача поиска целевой функции для каждого q-ичного символа кода PC. Обозначим через (+pc) выполнение условия четности на приемной стороне для принятого кодового вектора внутреннего кода. В противном случае приемник фиксирует значение (-pc). Работу декодера с проверками на четность целесообразно описывать целевой функцией видаBased on the obtained data for binary symbols in the block of statistical decisions 3, an integrated reliability assessment of q-ary characters of the PC code is carried out. To perform such an assessment in the block of statistical decisions 3, the task of finding the objective function for each q-ary character of the PC code is solved. Denote by (+ pc) the fulfillment of the parity condition at the receiving side for the received code vector of the internal code. Otherwise, the receiver fixes the value (-pc). It is advisable to describe the operation of the decoder with parity checks as an objective function of the form

Figure 00000009
Figure 00000009

где S - значение четности по всем информационным разрядам принятого вектора; параметр |M(λ)| - среднее значение кортежа модулей мягких решений символов; параметр σ(λ) является показателем разброса мягких решений, вычисляемого по правилу:where S is the parity value for all information bits of the received vector; parameter | M (λ) | - the average value of the tuple of modules of soft symbol solutions; the parameter σ (λ) is an indicator of the spread of soft solutions, calculated by the rule:

Figure 00000010
Figure 00000010

По отдельности представленные параметры не являются информативными и не позволяют взвешенно оценить приоритеты очередности обработки нескольких кодовых символов комбинации кода PC. В соответствии с Q{•} блок 3 выполняет проверку четности, на втором шаге обработки данных оценивает среднее значение принятых индексов MPC и в последнюю очередь определяет дисперсию для MPC кодовой комбинации внутреннего кода. Максимальное значение параметра |M(λ)| соответствует высокой достоверности принятых символов, но на длине кодовой комбинации кода PC может быть получено несколько одинаковых значений |M(λ)|. В подобной ситуации блок 3 дополнительно оценивает параметр σ(λ). Если возникает ситуация неопределенности, когда |Mi(λ)|=|Mj(λ)| при i≠j, то приоритетной для последующей обработки данных является комбинация, у которой разброс оценок оказывается меньше, т.е. при σi(λ)<σj(λ) приоритет отдается комбинации с номером i. Для символов кода PC назначается всего три приоритета недвоичных символов (ПНС): низкий - 0; средний - 1 и высокий - 2.Separately, the parameters presented are not informative and do not allow a balanced assessment of the priorities of processing several code symbols for a combination of PC codes. In accordance with Q {•}, block 3 performs a parity check, in the second step of data processing, estimates the average value of the received MPC indices and lastly determines the variance for the MPC code combination of the internal code. The maximum value of the parameter | M (λ) | corresponds to the high reliability of the received symbols, but several identical values of | M (λ) | can be obtained along the length of the code combination of the PC code. In a similar situation, block 3 additionally estimates the parameter σ (λ). If a situation of uncertainty occurs when | M i (λ) | = | M j (λ) | for i ≠ j, then the priority for subsequent data processing is a combination in which the spread of the estimates turns out to be less, i.e. for σ i (λ) <σ j (λ), priority is given to combination with number i. For PC code symbols, only three non-binary symbol (PN) priorities are assigned: low - 0; medium - 1 and high - 2.

В случаях невыполнения условий четности в блоке итерации 4 осуществляется повышение значений MPC при условии, что проверочные символы комбинаций приняты надежно (см. Гладких, А.А. Основы теории мягкого декодирования избыточных кодов в стирающем канале связи. Ульяновск: УлГТУ, - 2010. - 379 на С. 334). Обработанная подобным образом комбинация внутреннего кода хранится в блоке внутреннего кода 5, а ее значение Q{•} хранится в блоке приоритетов 6. Комбинация кода PC накапливается в буфере внешнего кода 7, а оценки ПНС комбинации кода PC накапливаются в блоке номера кластера 8, который оценивает надежность номинальных символов кластера, и в случае выполнения условий по надежности для этих символов (нумераторы кластера имеют высокие приоритеты) объединенные данные блока 7 и блока 8 передаются в блок циклических сдвигов 9 с указанием: «Δ=0», при этом значения кодовой комбинации кода PC передаются в блок обрабатываемой комбинации 11, а команда «Δ=0» транслируется в блок обратных сдвигов 15. Параметр Δ - указывает число циклических сдвигов элементов кодовой комбинации влево.In cases of non-fulfillment of the parity conditions in iteration block 4, the MPC values are increased provided that the combination check symbols are received reliably (see A. Gladkikh, Fundamentals of the theory of soft decoding of redundant codes in an erasing communication channel. Ulyanovsk: UlSTU, 2010. - 379 p. 334). The internal code combination processed in this way is stored in the internal code block 5, and its value Q {•} is stored in the priority block 6. The PC code combination is accumulated in the external code buffer 7, and the PN estimates of the PC code combination are accumulated in the cluster number block 8, which evaluates the reliability of the nominal symbols of the cluster, and if the reliability conditions for these symbols are fulfilled (cluster numerators have high priorities), the combined data of block 7 and block 8 are transferred to the cyclic shift block 9 with the indication: Δ = 0, m values of the code combination of the PC code are transferred to the block of the processed combination 11, and the command Δ = 0 is translated to the block of reverse shifts 15. The parameter Δ indicates the number of cyclic shifts of the elements of the code combination to the left.

Пусть кодер канала связи сформировал векторLet the communication channel encoder form a vector

Vпер0 α3 α6 α6 α5 α3 α5,V per = α 0 α 3 α 6 α 6 α 5 α 3 α 5 ,

в котором для защиты номера кластера, содержащего первые два элемента α0 и α3, выполняется их поразрядное сложение по модулю два и результат сложения записывается на заранее обусловленное место в векторе Vпер (см. патент РФ №24444127).

Figure 00000011
. Если результат фиксируется на последней позиции передаваемой комбинации, то вектор Vпер принимает видin which, in order to protect the number of the cluster containing the first two elements α 0 and α 3 , they are bitwise added modulo two and the result of the addition is written to a predetermined place in the vector V per (see RF patent No. 24444127).
Figure 00000011
. If the result is fixed at the last position of the transmitted combination, then the vector V per takes the form

Figure 00000012
.
Figure 00000012
.

Пусть при передаче вектора

Figure 00000013
по каналу связи вектор помех имел видLet when transmitting a vector
Figure 00000013
over the communication channel, the interference vector had the form

Vпом=0 0 0 α3 α4 α5 0.V pom = 0 0 0 α 3 α 4 α 5 0.

В этом случае приемник получает векторIn this case, the receiver receives the vector

Figure 00000014
,
Figure 00000014
,

где нижние индексы степеней примитивного элемента поля показывают значения ПНС, по результатам анализа которых в соответствии с Q{•} первые три символа кода PC α0α3α6 оказываются с наибольшим приоритетом. В блоке номера кластера 8 проверяется четность элементов (α0 α3). Используя эту информацию, блок ключевой комбинации 10 путем кодирования первых трех надежных символов α0α30 формирует ключевую комбинацию по номеру кластера (α0 α3):where the subscripts of the degrees of the primitive element of the field show the PNS values, according to the analysis of which, in accordance with Q {•}, the first three characters of the code PC α 0 α 3 α 6 are with the highest priority. In the cluster number block 8, the parity of the elements (α 0 α 3 ) is checked. Using this information, the key combination block 10 by encoding the first three reliable characters α 0 α 3 0 generates the key combination by the cluster number (α 0 α 3 ):

Figure 00000015
.
Figure 00000015
.

В блоке обрабатываемой комбинации 11 выполняется сложение (по правилу недвоичного поля) найденной ключевой комбинации из блока 10 с вектором, полученным из буфера внешнего кода 7, что соответствует одной из комбинаций базового кластераIn the block of the processed combination 11, the key combination from the block 10 is added (according to the non-binary field rule) with the vector obtained from the external code buffer 7, which corresponds to one of the combinations of the base cluster

Figure 00000016
.
Figure 00000016
.

Результат сложения по надежно принятому элементу α6 сравнивается с подходящей комбинацией из блока базового кластера 13, в результате чего выделяется комбинация видаThe result of addition over a securely received element α 6 is compared with a suitable combination from the block of the base cluster 13, as a result of which a combination of the form

Figure 00000017
,
Figure 00000017
,

которая априори известна приемнику и является безошибочной. Сложение этой комбинации с принятым вектором в блоке обрабатываемой комбинации 11 формирует истинный вектор ошибок, который передается в блок выделения ошибок 14:which is a priori known to the receiver and is unmistakable. The addition of this combination with the received vector in the block of the processed combination 11 forms a true error vector, which is transmitted to the error allocation block 14:

Figure 00000018
Figure 00000018

Figure 00000019
Figure 00000019

Figure 00000020
Figure 00000020

Vпом=0 0 0 α3 α4 α5 0V pom = 0 0 0 α 3 α 4 α 5 0

Значение этого вектора через блок обратных сдвигов 15, который получил команду «Δ=0», без изменений поступает в блок исправления ошибок 16, в котором устраняется действие мешающих факторов.The value of this vector through the block of reverse shifts 15, which received the command "Δ = 0", goes without changes to the block error correction 16, which eliminates the effect of interfering factors.

В случае поражения помехой элементов кодовой комбинации, относящихся к номеру кластера, в блоке номера кластера 8 определяются наиболее надежные символы, которые не совпадают с номинальными символами кластера. Блок циклических сдвигов 9 определяет количество шагов, которые необходимо выполнить для установки на позиции символов кластера символов с наиболее высокими МРС.In the event of interference by the elements of the code combination related to the cluster number, the most reliable symbols are determined in the cluster number block 8, which do not coincide with the nominal symbols of the cluster. The block of cyclic shifts 9 determines the number of steps that must be performed to set at the position of the symbols of the cluster of characters with the highest MPC.

Пусть кодер канала связи сформировал векторLet the communication channel encoder form a vector

Vпер3 α3 α0 α6 α0 α5 α6,V per = α 3 α 3 α 0 α 6 α 0 α 5 α 6 ,

который по условию проверки номера кластера приводится к видуwhich by the condition of checking the cluster number is reduced to

Figure 00000021
Figure 00000021

Пусть при передаче вектора Vпер по каналу связи вектор помех имел видSuppose that when transmitting the vector V per through the communication channel, the interference vector had the form

Vпом1 α2 0 α4 0 0 0.V pom = α 1 α 2 0 α 4 0 0 0.

В результате принятый вектор

Figure 00000022
становится равнымAs a result, the accepted vector
Figure 00000022
becomes equal

Figure 00000023
.
Figure 00000023
.

Проверка четности элементов кластера в блоке номера кластера 8 дает отрицательный результата:

Figure 00000024
, но имеются надежные элементы
Figure 00000025
и
Figure 00000026
. На основе анализа ПНС блок циклических сдвигов 9 выполняет сдвиг элементов комбинации из буфера внешнего кода 7 влево на Δ=4 шага, при этом ПНС примитивных элементов поля синхронно сопровождают элементы кодовой комбинации из блока номера кластера 8. При условии Δ=4 на третьей позиции оказывается проверочный символ, который не может быть использован для идентификации комбинации базового кластера, поэтому блок циклических сдвигов 9 передает эту информацию блоку ключевой комбинации 10.Checking the parity of the cluster elements in the cluster number block 8 gives a negative result:
Figure 00000024
but there are reliable elements
Figure 00000025
and
Figure 00000026
. Based on the analysis of the PNS, the cyclic shift unit 9 shifts the combination elements from the external code buffer 7 to the left by Δ = 4 steps, while the PNS of the primitive field elements synchronously accompany the code combination elements from the cluster number block 8. Under the condition Δ = 4, the third position is a check symbol that cannot be used to identify the combination of the base cluster, therefore, the cyclic shift unit 9 transfers this information to the key combination unit 10.

Figure 00000027
.
Figure 00000027
.

Блок 10 путем кодирования комбинации вида (α0α50) формирует ключевую комбинацию по надежным символам номера кластера (α0 α5)Block 10 by encoding a combination of the form (α 0 α 5 0) generates a key combination of reliable symbols of the cluster number (α 0 α 5 )

Figure 00000028
.
Figure 00000028
.

Команда из блока циклических сдвигов 9 в блок 10 говорит о том, что стандартная схема декодирования путем выбора кодовой комбинации из списка комбинаций базового кластера неприемлема. Поэтому полученная ключевая комбинаций из блока 10 направляется в блок совпадений 12, который выбирает наиболее надежный символ из разряда не относящихся к первым трем позициям и сопоставляет эту позицию с соответствующей позициями комбинаций базового кластера. Получив ключевую комбинацию в блоке 10 и, выполняя операцию сложения векторовThe command from the block of cyclic shifts 9 to block 10 indicates that the standard decoding scheme by selecting a code combination from the list of combinations of the base cluster is unacceptable. Therefore, the received key combinations from block 10 are sent to coincidence block 12, which selects the most reliable character from the category not belonging to the first three positions and compares this position with the corresponding positions of the combinations of the base cluster. Having received the key combination in block 10 and performing the vector addition operation

Figure 00000029
,
Figure 00000029
,

по надежно принятому элементу

Figure 00000030
в базовом кластере отыскивается комбинация
Figure 00000031
, которая не содержит влияния мешающих факторов. Следовательно, выполняя в блоке выделения ошибок суммирование
Figure 00000032
, получают циклически сдвинутый вектор ошибок:
Figure 00000033
.by securely received item
Figure 00000030
a combination is found in the base cluster
Figure 00000031
, which does not contain the influence of interfering factors. Therefore, performing summation in the error allocation block
Figure 00000032
get a cyclically shifted error vector:
Figure 00000033
.

Вектор

Figure 00000034
нуждается только в обратных циклических перестановках, которые выполнятся в блоке 16.Vector
Figure 00000034
needs only inverse cyclic permutations, which will be performed in block 16.

В большинстве случаев конфигурация ошибок носит случайный характер, и вероятность того, что число непораженных помехой подряд идущих символов кодовой комбинации кода PC, оказывается достаточно низкой. Если блок номера кластера 8 выявляет отсутствие достаточного количества надежных и подряд идущих символов для реализации первого или второго варианта декодирования, то за счет проверочного символа восстанавливается номер кластера. Далее процесс декодирования осуществляется в соответствии со вторым вариантом с использованием блока совпадений 12.In most cases, the error configuration is random, and the likelihood that the number of consecutive characters of the PC code combination in sequence is not sufficiently affected. If the cluster number block 8 detects the absence of a sufficient number of reliable and consecutive characters for the implementation of the first or second decoding option, then the cluster number is restored due to the check symbol. Next, the decoding process is carried out in accordance with the second embodiment using block matches 12.

Таким образом, предложенный декодер обеспечивает исправление всех конфигураций ошибок, кратность которых не превосходит значения (n2-k2-1), кроме того, в декодере выполняется минимальное число операций умножения и полностью исключается процедура подбора порождающего полинома для выявления локаторов ошибок.Thus, the proposed decoder provides the correction of all error configurations, the multiplicity of which does not exceed the value (n 2 -k 2 -1), in addition, the decoder performs the minimum number of multiplication operations and completely eliminates the procedure for selecting the generating polynomial for identifying error locators.

Claims (1)

Лексикографический декодер каскадного кода, содержащий блок приема, выход которого через блок индексов подключен к входу блока статистических решений, первый выход которого подключен к одному входу блока итерации, а второй выход блока статистических решений подключен к первому входу блока приоритетов, при этом выход блока итерации подключен к входу блока внутреннего кода, первый выход которого соединен с другим входом блока итерации, а второй выход блока внутреннего кода подключен к второму входу блока приоритетов, тогда как третий выход блока внутреннего кода подключен к входу буфера внешнего кода, отличающийся тем, что дополнительно введены блок номера кластера, блок циклических сдвигов, блок ключевой комбинации, блок обрабатываемой комбинации, блок совпадений, блок базового кластера, блок выделения ошибок, блок обратных сдвигов, блок исправления ошибок, при этом первый выход блока буфера внешнего кода подключен к первому входу блока номера кластера, выход которого подключен к входу блока циклических сдвигов, первый выход которого через один выход блока ключевой комбинации подключен к первому входу блока обрабатываемой комбинации, один выход которого подключен к первому входу блока базового кластера, второй выход которого подключен ко второму входу блока обрабатываемой комбинации, другой выход которого через первый вход блока выделения ошибки подключен к одному входу блока обратных сдвигов, выход которого подключен к первому входу блока исправления ошибок, второй вход которого подключен к второму выходу буфера внешнего кода, при этом другой выход блока ключевой комбинации подключен к первому входу блока совпадений, один выход которого подключен к второму входу блока базового кластера, первый выход которого подключен к второму входу блока совпадений, другой выход которого подключен к второму входу блока выделения ошибки, а второй выход блока циклических сдвигов подключен к другому входу обратных сдвигов, при этом выход блока приоритетов подключен к второму входу блока номера кластера.The lexicographic decoder of the cascade code containing a receiving unit, the output of which through the index block is connected to the input of the statistical decision block, the first output of which is connected to one input of the iteration block, and the second output of the statistical decision block is connected to the first input of the priority block, while the output of the iteration block is connected to the input of the internal code block, the first output of which is connected to another input of the iteration block, and the second output of the internal code block is connected to the second input of the priority block, while the third output One block of the internal code is connected to the input of the buffer of the external code, characterized in that the cluster number block, the cyclic shift block, the key combination block, the processed combination block, the coincidence block, the base cluster block, the error highlighting block, the reverse shift block, and the correction block are additionally introduced errors, while the first output of the external code buffer block is connected to the first input of the cluster number block, the output of which is connected to the input of the cyclic shift block, the first output of which is through one output of the key bination is connected to the first input of the block of the processed combination, one output of which is connected to the first input of the block of the base cluster, the second output of which is connected to the second input of the block of the processed combination, the other output of which is connected to one input of the block of reverse shifts through the first input of the block of error, the output of which connected to the first input of the error correction block, the second input of which is connected to the second output of the external code buffer, while the other output of the key combination block is connected to the first input an ode to the coincidence unit, one output of which is connected to the second input of the base cluster unit, the first output of which is connected to the second input of the coincidence unit, the other output of which is connected to the second input of the error allocation unit, and the second output of the cyclic shift unit is connected to the other input of the reverse shifts, The output of the priority block is connected to the second input of the cluster number block.
RU2015146220A 2015-10-27 2015-10-27 Lexicographic decoder of concatenated code RU2619533C2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
RU2015146220A RU2619533C2 (en) 2015-10-27 2015-10-27 Lexicographic decoder of concatenated code

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2015146220A RU2619533C2 (en) 2015-10-27 2015-10-27 Lexicographic decoder of concatenated code

Publications (2)

Publication Number Publication Date
RU2015146220A RU2015146220A (en) 2017-05-03
RU2619533C2 true RU2619533C2 (en) 2017-05-16

Family

ID=58698258

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2015146220A RU2619533C2 (en) 2015-10-27 2015-10-27 Lexicographic decoder of concatenated code

Country Status (1)

Country Link
RU (1) RU2619533C2 (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1655845A1 (en) * 2004-11-04 2006-05-10 Agere Systems, Inc. Iterative decoding of serial concatenated codes with algebraic decoding of the outer code
RU2344556C1 (en) * 2007-06-07 2009-01-20 Государственное образовательное учреждение высшего профессионального образования "Ульяновский государственный технический университет" Decoder with correction of deletions
EP2169834A2 (en) * 2002-10-30 2010-03-31 Nxp B.V. Trellis-based receiver
RU2485683C1 (en) * 2012-04-02 2013-06-20 Открытое акционерное общество "Калужский научно-исследовательский институт телемеханических устройств" Decoding device with soft decisions for double-stage cascade code
US8924811B1 (en) * 2010-01-12 2014-12-30 Lockheed Martin Corporation Fast, efficient architectures for inner and outer decoders for serial concatenated convolutional codes
RU2538331C2 (en) * 2013-05-20 2015-01-10 Федеральный научно-производственный центр Открытое акционерное общество "Научно-производственное объединение "Марс" Serial turbo code soft decoder

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2169834A2 (en) * 2002-10-30 2010-03-31 Nxp B.V. Trellis-based receiver
EP1655845A1 (en) * 2004-11-04 2006-05-10 Agere Systems, Inc. Iterative decoding of serial concatenated codes with algebraic decoding of the outer code
RU2344556C1 (en) * 2007-06-07 2009-01-20 Государственное образовательное учреждение высшего профессионального образования "Ульяновский государственный технический университет" Decoder with correction of deletions
US8924811B1 (en) * 2010-01-12 2014-12-30 Lockheed Martin Corporation Fast, efficient architectures for inner and outer decoders for serial concatenated convolutional codes
RU2485683C1 (en) * 2012-04-02 2013-06-20 Открытое акционерное общество "Калужский научно-исследовательский институт телемеханических устройств" Decoding device with soft decisions for double-stage cascade code
RU2538331C2 (en) * 2013-05-20 2015-01-10 Федеральный научно-производственный центр Открытое акционерное общество "Научно-производственное объединение "Марс" Serial turbo code soft decoder

Also Published As

Publication number Publication date
RU2015146220A (en) 2017-05-03

Similar Documents

Publication Publication Date Title
CN110545160B (en) Polarization code encoding and decoding method, apparatus and storage medium
Trifonov et al. Generalized concatenated codes based on polar codes
RU2580797C1 (en) Method of soft decoding of block codes
US10218388B2 (en) Techniques for low complexity soft decoder for turbo product codes
Liu et al. A study on reconstruction of linear scrambler using dual words of channel encoder
US10153785B1 (en) Generalized low-density parity-check (GLDPC) code with variable length constituents
RU2344556C1 (en) Decoder with correction of deletions
EP3469714A1 (en) Polar code encoding with puncturing, shortening and extending
CN114556791A (en) Iterative bit flipping decoding based on symbol reliability
RU2538331C2 (en) Serial turbo code soft decoder
RU2379841C1 (en) Decoder with erasure correction
US9026881B2 (en) Soft input, soft output mappers and demappers for block codes
RU2327297C2 (en) Method of block codes decryption with elements deleting
RU2619533C2 (en) Lexicographic decoder of concatenated code
Isroil et al. Increasing the Reliability of Full Text Documents Based on the Use of Mechanisms for Extraction of Statistical and Semantic Links of Elements
KR20040044589A (en) A Soft-Input Decoding Method of Reed-Muller Codes Using Majority Logic and Apparatus thereof
RU2646372C1 (en) Method of soft cognitive decoding of systematic block codes
RU2485683C1 (en) Decoding device with soft decisions for double-stage cascade code
US11323139B2 (en) Apparatuses and methods for mapping frozen sets between polar codes and product codes
US9236890B1 (en) Decoding a super-code using joint decoding of underlying component codes
RU2702724C2 (en) Method of combined arithmetic and noise-immune encoding and decoding
US20210250052A1 (en) Decoding apparatus, decoding method, and non -transitory computer readable medium
Anisimov et al. Robust prefix encoding using lower (2, 3) number representation
RU2797444C1 (en) Method for stable code framing with hard and soft decisions
CN106134086B (en) Method and apparatus for controlling interleaving depth

Legal Events

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

Effective date: 20171028