RU2365034C2 - Method and device for data coding and decoding - Google Patents

Method and device for data coding and decoding Download PDF

Info

Publication number
RU2365034C2
RU2365034C2 RU2007108784/09A RU2007108784A RU2365034C2 RU 2365034 C2 RU2365034 C2 RU 2365034C2 RU 2007108784/09 A RU2007108784/09 A RU 2007108784/09A RU 2007108784 A RU2007108784 A RU 2007108784A RU 2365034 C2 RU2365034 C2 RU 2365034C2
Authority
RU
Russia
Prior art keywords
code
model matrix
code length
matrix
values
Prior art date
Application number
RU2007108784/09A
Other languages
Russian (ru)
Other versions
RU2007108784A (en
Inventor
Юфэй В. БЛАНКЕНШИП (US)
Юфэй В. БЛАНКЕНШИП
Т. Кит БЛАНКЕНШИП (US)
Т. Кит БЛАНКЕНШИП
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
Priority claimed from US11/070,129 external-priority patent/US7203897B2/en
Priority claimed from US11/078,817 external-priority patent/US7188297B2/en
Application filed by Моторола, Инк. filed Critical Моторола, Инк.
Publication of RU2007108784A publication Critical patent/RU2007108784A/en
Application granted granted Critical
Publication of RU2365034C2 publication Critical patent/RU2365034C2/en

Links

Images

Landscapes

  • Error Detection And Correction (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

FIELD: physics; computer technology.
SUBSTANCE: invention concerns data coding and decoding, in particular, the way device for data coding, using codes with the low-density parity-check (LDPC). For this purpose parity-check bits are calculated for the received information. A base model matrix is defined for the biggest length of a code of each code speed. A set of {p (i, j)} translations in a base model matrix is used for definition of sizes of translations for all other lengths of codes of the same code speed. Values {p (f, i, j)} of shifting for the code size corresponding to spreading factor zf, are deduced from {p (i, j)} using uniform scaling p (i, j), and a model matrix is used by means of {p (f, i, j)} for definition of parity-check bits for the f-ro code.
EFFECT: increase of data coding and decoding accuracy.
10 cl, 5 dwg

Description

ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕFIELD OF THE INVENTION

Настоящее изобретение в целом относится к кодированию и декодированию данных, а в частности к способу и устройству для кодирования данных, использующему коды с контролем по четности низкой плотности (LDPC).The present invention generally relates to encoding and decoding data, and in particular, to a method and apparatus for encoding data using low density parity check (LDPC) codes.

УРОВЕНЬ ТЕХНИКИBACKGROUND

Код с контролем по четности низкой плотности (LDPC) является кодом линейных блоков, заданным проверочной матрицей H. В общем случае LDPС-код определен на поле Галуа GF(q), q≥2. Если q=2, код является бинарным кодом. Все коды линейных блоков могут быть описаны как произведение k-битного информационного вектора The Low Density Parity Check (LDPC) code is a linear block code defined by the check matrix H. In the general case, the LDPC code is defined on the Galois field GF ( q ), q ≥2 . If q = 2, the code is a binary code. All linear block codes can be described as the product of a k- bit information vector

s 1×k на кодогенерирующую матрицу Gk×n для порождения n-битовой кодовой комбинации x 1×n, где кодовая скорость равна r=k/n. Кодовая комбинация x передается через канал с помехами, и принятый вектор y сигнала передается на декодер для оценки вектора s 1×k информации. s 1 × k per code-generating matrix G k × n to generate an n-bit code combination x 1 × n , where the code rate is r = k / n. The code pattern x is transmitted through the interference channel, and the received signal vector y is transmitted to the decoder to estimate the information vector s 1 × k .

При заданном n-мерном пространстве строки G охватывают k-мерное подпространство C кодовых комбинаций, а строки проверочной матрицы H m×n , охватывают m-мерное дуальное пространство C┴, где m=n-k. Поскольку x=sG и GH T =0, следует, что xH T =0 для всех кодовых комбинаций в подпространстве С, где “T” (или "T") обозначает транспонирование матрицы. При обсуждении LDPС-кодов в общем написано, чтоFor a given n-dimensional space, the rows comprise G k -dimensional subspace of C codewords and the rows of the check matrix H m × n, include m-dimensional dual space C ┴, where m = nk. Since x = sG and GH T = 0 , it follows that xH T = 0 for all code combinations in the subspace C , where “T” (or “ T ”) denotes the transposition of the matrix. When discussing LDPC codes, it is generally written that

Hx T =0 T (1), Hx T = 0 T (1),

где 0 - вектор-строка из нулей, и кодовая комбинация where 0 is a string vector of zeros and the code combination

x =[s р]=[s 0 , s 1 ,...s k-1 ,p 0 ,p 1 ,...,p m-1], где p 0 ,...,p m-1 являются контрольными битами; а s 0 ,..,s k-1 являются систематическими битами, равными информационным битам в информационном векторе. x = [ s p ] = [ s 0 , s 1 , ... s k-1 , p 0 , p 1 , ..., p m-1 ] , where p 0 , ..., p m-1 are control bits; and s 0 , .., s k-1 are systematic bits equal to the information bits in the information vector.

Для LDPС-кода плотность ненулевых позиций в H низкая, т.е. существует только маленькая доля 1 в H, позволяющая лучшую эффективность корректировки ошибок и более простое декодирование, чем использование плотного H. Проверочная матрица может быть также описана двудольным графом. Двудольный граф является не только графическим описанием кода, но также моделью декодера. В двудольном графе бит кодовой комбинации (следовательно, каждой колонки H) представлен переменной вершиной слева, и каждое проверочное уравнение (следовательно, каждая строка H) представлено проверочной вершиной справа. Каждая переменная вершина соответствует колонке H, и каждая проверочная вершина соответствует строке H, здесь “переменная вершина” и “колонка” H упоминаются взаимозаменяемо, как и “проверочная вершина” и “строка” H. Переменные вершины являются присоединенными только к проверочным вершинам, и проверочные вершины являются присоединенными только к переменным вершинам. Для кода с n битами кодовой комбинации и m битами четности переменная вершина v i присоединена к проверочной вершине d посредством ребра, если бит i кодовой комбинации участвует в проверочном уравнении j, i=0,1...,n-1, j=0,1,...,m-l. Другими словами, переменная вершина i присоединена к проверочной вершине j, если позиция h ji проверочной матрицы H равна 1. Отображающее уравнение (1), переменная вершина представляет допустимую кодовую комбинацию, если все проверочные вершины имеют равную четность. Ниже показан пример для иллюстрирования отношения между проверочной матрицей, проверочными уравнениями и двудольным графом. Пусть n=12, код Ѕ скорости будет определен посредствомFor the LDPC code, the density of nonzero positions in H is low, i.e. there is only a small fraction of 1 in H , allowing better error correction efficiency and easier decoding than using dense H. The verification matrix can also be described by a bipartite graph. A bipartite graph is not only a graphical description of the code, but also a decoder model. In the bipartite graph, the bits of the code combination (therefore, of each column H ) are represented by a variable vertex on the left, and each verification equation (therefore, each row of H ) is represented by a verification vertex on the right. Each variable vertex corresponds to column H, and each verification vertex corresponds to row H ; here, “variable vertex” and “column” H are referred to interchangeably, as are “verification vertex” and “row” H. Variable vertices are only attached to test vertices, and test vertices are attached only to variable vertices. For a code with n bits of a code combination and m parity bits, the variable vertex v i is attached to the verification vertex d by an edge if bit i of the code combination participates in the verification equation j, i = 0,1 ..., n- 1 , j = 0 , 1, ..., m -l. In other words, the variable vertex i is attached to the verification vertex j if the position h ji of the verification matrix H is 1. Displaying equation (1), the variable vertex represents a valid code combination if all the verification vertices have equal parity. An example is shown below to illustrate the relationship between a check matrix, test equations, and a bipartite graph. Let n = 12, the speed code Ѕ will be determined by

Figure 00000001
Figure 00000001

с левой частью, соответствующей k (=6) информационным битам s , левой частью соответствующей m (=6) битами p четности. Применяя (1), H в (2) определяет 6 проверочных уравнений следующим образом:with the left side corresponding to k (= 6) information bits s , the left side corresponding to m (= 6) parity bits p . Applying (1), H in (2) defines 6 verification equations as follows:

Figure 00000002
Figure 00000002

H также имеет соответствующий двудольный граф, показанный на фиг. 1. H also has a corresponding bipartite graph shown in FIG. one.

Двудольный граф LDPC кода подходящей конечной длины неизбежно имеет циклы. Цикл длины 2d (обозначенный как цикл-2d) является путем 2d ребер, который проходит через d переменных вершин и d проверочных вершин и соединяет каждую вершину с собой без повторения каждого ребра. Короткие циклы, особенно циклы 4, ухудшают производительность итеративного декодера и обычно избегаются в модели кода.A bipartite graph of LDPC code of suitable finite length inevitably has cycles. A cycle of length 2 d (designated as cycle-2 d ) is a path of 2 d edges that goes through d variable vertices and d test vertices and connects each vertex to itself without repeating each edge. Short loops, especially loops 4, degrade the performance of the iterative decoder and are usually avoided in the code model.

Когда размер кода становится большим, трудно закодировать и декодировать беспорядочно составленный LDPС-код. Вместо прямого построения большой m×n псевдослучайной матрицы H структурированная модель LDPC начинается с маленькой m b ×n b базовой матрицы Нb, делает z копий Нb и соединяет z копий для формирования большой m×n матрицы H, где m=m b ×z, n=n b ×z. Используя матричное представление, для построения H из Нb каждая 1 в Нb заменяется z×z подматрицей перестановок, и каждый 0 в Нb заменяется z×z подматрицей, состоящей из нулей. Показано, что перестановка может быть очень простой без риска для производительности. Например, простой циклический сдвиг вправо, где подматрица перестановок получается сдвигом циклически вправо колонок единичной матрицы на заданную величину, может быть использован без ухудшения производительности декодирования. Так как циклический сдвиг (x mod z) раз эквивалентен циклическому правому сдвигу ((z-х) mod z) раз, этот текст обсуждает только циклический сдвиг вправо и упоминает его как циклический сдвиг для краткости. С этим ограничением каждая матрица H может быть уникально представлена m b ×n b модельной матрицей When the code size becomes large, it is difficult to encode and decode randomly composed LDPC code. Instead of directly constructing a large m × n pseudo-random matrix H, the structured LDPC model starts with a small m b × n b base matrix H b , makes z copies of H b and connects z copies to form a large m × n matrix H , where m = m b × z , n = n b × z. Using the matrix representation, to construct H from H b, every 1 in H b is replaced by a z × z submatrix of permutations, and every 0 in H b is replaced by a z × z submatrix of zeros. It has been shown that permutation can be very simple without risking performance. For example, a simple cyclic shift to the right, where the permutation submatrix is obtained by shifting the columns of the unit matrix by the specified value cyclically to the right, can be used without sacrificing decoding performance. Since the cyclic shift (x mod z ) times is equivalent to the cyclic right shift (( z-x ) mod z ) times, this text only discusses the right cyclic shift and refers to it as a cyclic shift for short. With this limitation, each matrix H can be uniquely represented by an m b × n b model matrix

Нbm, которая получается заменой каждой h ij =0 в H b на p(i,j)=-1 для обозначения z×z матрицы из нулей и заменой каждой h ij=1 в Нb на циклический сдвиг величины p(i,j)≥0.H bm , which is obtained by replacing each h ij = 0 in H b with p (i, j) = -1 to denote the z × z matrix of zeros and replacing each h ij = 1 in H b with a cyclic shift of p (i, j) ≥0.

Следовательно, вместо использования расширенной матрицы H код уникально определяется модельной матрицей Нbm. Кодирование и декодирование может быть выполнено на основе много меньшей m b ×n b Нbm и векторов битов, с каждым вектором, имеющим размер z. Therefore, instead of using the extended matrix H, the code is uniquely determined by the model matrix H bm. Encoding and decoding can be performed based on a much smaller m b × n b H bm and bit vectors, with each vector having size z.

Эта процедура по существу отображает каждое ребро H bm в векторное ребро размера z в H (представленное p(i,j) H bm), каждую переменную вершину H bm в векторную переменную вершину длины z в H (соответствующую колонке Н bm) и каждую проверочную вершину Н bm в векторную вершину длины z в H (соответствующую строке H bm). В структурированной модели произвольность встроена в H вследствие двух этапов: (a) псевдослучайной базовой матрице H bm; (b) псевдослучайного сдвига ребер в каждом векторном ребре. Сложность хранения и обработки структурированной модели ниже, поскольку обе стадии рандомизации очень простые.This procedure essentially maps each edge H bm to a vector edge of size z in H (represented by p (i, j) H bm ), each variable vertex H bm to a vector variable vertex of length z in H (corresponding to column H bm ) and each test a vertex H bm to a vector vertex of length z in H (corresponding to the row H bm ). In a structured model, randomness is embedded in H due to two steps: (a) a pseudo-random base matrix H bm ; (b) pseudo-random shift of the edges in each vector edge. The complexity of storing and processing a structured model is lower, since both stages of randomization are very simple.

Часто требуются системы, такие как определенные в стандарте IEEE 802.16, для предоставления корректирующих ошибки кодов для семейства кодов размера (n f, k f ), где все коды в семействе имеют одинаковую кодовую скорость R=k f /n f и размер кода, увеличенный от базовой величины, n f = z f ×n b , k f =z f ×k b , f=0, 1,...,f max, где (f max+1) является общим количеством членов в семействе кодов, и zf является коэффициентом расширения для f-го кода в семействе. Для этих систем возможно получить коды для всех (nf, k f ) из одной базовой матрицы H b и набора подходящих z f. Пусть p(f,i,j) будет величиной сдвига векторного ребра, расположенного в позиции (i,j) в f-й модельной матрице H bm(f) коэффициента z f расширения. Соответственно, набор {p(f,i,j)} величин сдвигов и модельная матрица H bm (f) могут быть упоминаемы взаимозаменяемо.Often systems, such as those defined in the IEEE 802.16 standard, are required to provide error-correcting codes for a code family of size ( n f , k f ), where all codes in the family have the same code speed R = k f / n f and code size increased of the base value, n f = z f × n b , k f = z f × k b , f = 0, 1, ..., f max , where ( f max +1) is the total number of members in the code family, and z f is the expansion coefficient for the fth code in the family. For these systems, it is possible to obtain codes for all (n f , k f ) from one basic matrix H b and a set of suitable z f . Let p (f, i, j) is the magnitude of the shift vector edge located at a position (i, j) in the f th model matrix H bm (f) z f expansion coefficient. Accordingly, the set { p (f, i, j) } of shift values and the model matrix H bm (f) can be referred to interchangeably.

Тем не менее не понятно, как определять величины p(f,i,j) сдвигов для каждой H bm(f). Одним способом определения семейства кодов является поиск базовой матрицы H b и/или p(f,i,j), 0im-1, 0jn-1 независимо для всех заданных f. Тем не менее этот подход требует, чтобы H b и/или p(f,i,j), 0im-1, 0jn-1 были заданы и сохранены для всех f. Nevertheless, it is not clear how to determine the values of p (f, i, j) shifts for each H bm ( f ). One way to determine a family of codes is to search for the base matrix H b and / or p (f, i, j), 0im-1, 0jn-1 independently for all given f. However, this approach requires that H b and / or p (f, i, j), 0im-1, 0jn-1, be defined and stored for all f.

Поскольку H b определяет базовую структуру и взаимную связь сообщений LDPC декодера, будет предпочтительным повторно использовать H b для всех кодов семейства. Когда один и тот же H b совместно используется всеми кодами в семействе,Since H b determines the basic structure and interconnection of the LDPC decoder messages, it will be preferable to reuse H b for all family codes. When the same H b is shared by all codes in a family,

- Величина сдвига p(f,i,j)=-1, когда позиция (i,j) H b равна 0. Величина сдвига p(f,i,j)=-1 используется для обозначения z f ×z f полностью нулевой подматрицы, которая используется для замены позиции (i,j) модельной матрицы H bm(f), в расширении до двоичной проверочной матрицы H(f). Если позиция (i,j) H b равна 0, p(f,i,j) одинаково для любого f, т.е. p(f,i,j)≡-1. Заметим, что "-1" является только меткой для подматрицы из нулей, и может быть равнозначно использована любая другая метка, которая не является неотрицательным целым, например "-2" или "∞".- The magnitude of the shift p (f, i, j) = -1 when the position (i, j) H b is 0. The magnitude of the shift p (f, i, j) = -1 is used to denote z f × z f completely zero submatrix, which is used to replace the position (i, j ) of the model matrix H bm ( f ), in extension to the binary verification matrix H ( f ). If the position (i, j) H b is 0, p (f, i, j) is the same for any f , i.e. p (f, i, j) ≡-1. Note that “-1” is only a label for a submatrix of zeros, and any other label that is not a non-negative integer, such as “-2” or “∞”, can be used equally.

- Величина сдвига p(f,i,j)≥0, когда позиция (i,j) H b равна 1. Величина сдвига p(f,i,j)≥0 используется для отметки z j ×z f единичной подматрицы, циклически сдвинутой вправо на p(f,i,j) колонок. Подматрица используется для замены позиции (i,j) модельной матрицы H bm(f) в расширении до двоичной проверочной матрицы H(f). Значение p(f,i,j) может быть различным для разных f, например, позиция (i,j) H bm(f) может быть различной для разных f. - The magnitude of the shift p (f, i, j) ≥0 when the position (i, j) H b is 1. The magnitude of the shift p (f, i, j) ≥0 is used to mark z j × z f of the unit submatrix, cyclically shifted to the right by p (f, i, j) columns. The submatrix is used to replace the position (i, j) of the model matrix H bm ( f ) in the extension to the binary verification matrix H ( f ). The value of p (f, i, j) can be different for different f , for example, the position (i, j) H bm ( f ) can be different for different f.

В отношении значения неотрицательного p(f,i,j) предложено использовать для любого p(f,i,j)-p(i,j) mod z f для любого z f, где набор {p(i,j)} величин сдвигов является одинаковым для всех z f . Следовательно, только один набор {p(i,j)} требует определения, и это потенциально уменьшает сложность осуществления кодов различных z f . Тем не менее вследствие действия операции взятия модуля набор {p(i,j)}, предназначенный для того, чтобы избежать плохих моделей циклов для определенного z f, может служить причиной большого количества циклов и кодовых комбинаций с низким весом для другого z f, имеющих следствием ухудшение эффективности корректировки ошибок для некоторых (n f, k f). Regarding the value of non-negative p (f, i, j), it is proposed to use for any p (f, i, j) -p (i, j) mod z f for any z f , where the set { p (i, j) } of quantities shifts is the same for all z f . Therefore, only one set { p (i, j) } needs to be determined, and this potentially reduces the complexity of implementing codes of different z f . Nevertheless, due to the operation of taking the module, the set { p (i, j) }, designed to avoid bad cycle models for a particular z f , can cause a large number of cycles and low-weight code combinations for another z f having the consequence is a deterioration in the efficiency of error correction for some ( n f , k f ) .

Таким образом, существует потребность в способе получения величин сдвигов Thus, there is a need for a method for producing shift values

{p(f, i,j)} из определенного набора {p(i,j)}, в то же время поддерживая требуемые параметры кода для всех размеров кодов (n f, k j ). {p (f, i, j)} from a certain set { p (i, j) }, while at the same time supporting the required code parameters for all code sizes ( n f , k j ) .

КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙBRIEF DESCRIPTION OF THE DRAWINGS

Фиг. 1 иллюстрирует двудольный граф матрицы H (12, 6).FIG. 1 illustrates the bipartite graph of matrix H (12, 6).

Фиг. 2 - блок-схема кодера.FIG. 2 is a block diagram of an encoder.

Фиг. 3 - блок-схема декодера.FIG. 3 is a block diagram of a decoder.

Фиг. 4 - схема последовательности операций кодера на фиг. 2.FIG. 4 is a flowchart of the encoder of FIG. 2.

Фиг. 5 - схема последовательности операций декодера на фиг. 3.FIG. 5 is a flowchart of the decoder of FIG. 3.

Описание чертежейDescription of drawings

Чтобы направить усилия на вышеупомянутые потребности, базовая модельная матрица определена для наибольшей длины кода для каждой кодовой скорости. Набор сдвигов {p(i,j)} в базовой модельной матрице используется для определения величин сдвигов для всех остальных длин кодов той же кодовой скорости. Величины сдвигов {p(f,i,j)} для размера кода, соответствующего коэффициенту расширения z f выводятся из {p(i,j)} пропорциональным масштабированием p(i,j), и модельная матрица, определенная посредством {p(f,i,j)}, используется для определения битов контроля по четности для f-го кода.In order to direct efforts to the aforementioned needs, a basic model matrix is defined for the largest code length for each code rate. The set of shifts { p (i, j) } in the base model matrix is used to determine the values of shifts for all other code lengths of the same code rate. The values of the shifts { p (f, i, j) } for the code size corresponding to the expansion coefficient z f are derived from { p (i, j) } by proportional scaling p (i, j), and the model matrix defined by { p (f , i, j) }, is used to determine the parity bits for the f-th code.

Настоящее изобретение предлагает способ управления передатчиком, который генерирует биты контроля по четности на основе блока информации. Способ содержит этапы, на которых определяют базовую модельную матрицу, имеющую набор величин сдвигов p(i,j) для наибольшей длины кода, и определяют величины сдвигов p(f,i,j) для всех остальных длин кодов на основе набора величин сдвигов p(i,j), где f - индекс длин кодов, p(f,i,j)=F(p(i,j),z 0 /z f ), z 0 - коэффициент расширения наибольшей длины кода, z f - коэффициент расширения f-й длины кода. Блок информации принимают и модельную матрицу используют для определения битов контроля по четности. Модельную матрицу определяют посредством p(f,i,j). The present invention provides a transmitter control method that generates parity bits based on a block of information. The method comprises the steps of determining a basic model matrix having a set of shift values p (i, j) for the largest code length, and determining the shift values p (f, i, j) for all other code lengths based on a set of shift values p ( i, j) , where f is the code length index, p (f, i, j ) = F ( p ( i, j), z 0 / z f ), z 0 is the expansion coefficient of the longest code length, z f is the coefficient extensions of the fth code length. An information block is received and a model matrix is used to determine the parity bits. The model matrix is determined by p (f, i, j).

Настоящее изобретение дополнительно предлагает устройство, содержащее средства хранения для хранения базовой модельной матрицы, имеющей набор величин сдвигов p(i,j) для наибольшей длины кода. Устройство дополнительно содержит микропроцессор, принимающий блок информации s=(s 0,...,s kf-1 ) и базовую модельную матрицу. Микропроцессор определяет величины сдвигов p(f,i,j) для всех других длин кода на основе набора величин сдвигов p(i,j), где f - индекс длин кодов, The present invention further provides a device comprising storage means for storing a base model matrix having a set of shift values p (i, j) for the largest code length. The device further comprises a microprocessor receiving a block of information s = (s 0 , ..., s kf-1 ) and a basic model matrix. The microprocessor determines the shift values p (f, i, j) for all other code lengths based on the set of shift values p (i, j) , where f is the code length index,

p(f,i,j)=F(p(i,j),z 0 /z f ), z 0 - коэффициент расширения наибольшей длины кода, z f - коэффициент расширения f-й длины кода. Микропроцессор выводит биты контроля по четности на основе модельной матрицы, определенной посредством p(f,i,j) и блока информации p (f, i, j ) = F ( p ( i, j), z 0 / z f ), z 0 is the expansion coefficient of the longest code length, z f is the expansion coefficient of the fth code length. The microprocessor outputs parity bits based on a model matrix defined by p (f, i, j) and an information block

s=(s 0,..., s kf-1). s = ( s 0 , ..., s kf-1 ).

Настоящее изобретение дополнительно предлагает способ управления приемником, который оценивает блок информации s=(s 0 ,...,s k-1). Способ содержит этапы, на которых принимают вектор сигнала, определяют базовую модельную матрицу, имеющую набор величин сдвигов p(i,j) для наибольшей длины кода, и определяют величины сдвигов p(f,i,j) для всех остальных длин кода на основе набора величин сдвигов p(i,j), где f - индекс длин кодов, p(f,i,j) = F(p(i, j),z 0 /z f ), z 0 - коэффициент расширения наибольшей длины кода, z f - коэффициент расширения f-й длины кода. Блок информации s=(s 0,..., s kf-1) затем оценивают на основе модельной матрицы, определенной посредством p(f,i,j) и принятого вектора сигнала.The present invention further provides a receiver control method that evaluates an information block s = ( s 0 , ..., s k-1 ). The method comprises the steps of receiving a signal vector, determining a basic model matrix having a set of shift values p (i, j) for the largest code length, and determining shift values p (f, i, j) for all other code lengths based on the set shift values p (i, j) , where f is the code length index, p (f, i, j ) = F ( p ( i, j), z 0 / z f ), z 0 is the expansion coefficient of the longest code length, z f is the coefficient of expansion of the fth code length. The information block s = ( s 0 , ..., s kf-1 ) is then estimated based on the model matrix determined by p (f, i, j) and the received signal vector.

В заключение, настоящее изобретение предлагает устройство, содержащее средства хранения для хранения базовой модельной матрицы, имеющей набор величин сдвигов p(i,j) для наибольшей длины кода. Устройство дополнительно содержит декодер, принимающий вектор сигнала и определяющий величины сдвигов p(f,i,j) для всех других длин кода на основе набора величин сдвигов p(i,j), где f - индекс длин кодов, p(f,i,j)=F(p(i,j),z 0 /z f), z 0 - коэффициент расширения наибольшей длины кода, z f - коэффициент расширения f-й длины кода. Декодер выводит оценку для блока информации s=(s 0 ,..., s kf-1 ) на основе модельной матрицы, определенной p(f,i,j) и принятым вектором сигнала.In conclusion, the present invention provides a device comprising storage means for storing a basic model matrix having a set of shift values p (i, j) for the largest code length. The device further comprises a decoder that receives a signal vector and determines the values of the shifts p (f, i, j) for all other code lengths based on the set of values of the shifts p (i, j) , where f is the code length index, p (f, i, j ) = F ( p ( i, j), z 0 / z f ) , z 0 is the expansion coefficient of the longest code length, z f is the expansion coefficient of the fth code length. The decoder derives an estimate for the information block s = (s 0 , ..., s kf-1 ) based on the model matrix defined by p (f, i, j) and the received signal vector.

Показано, что свойства расширенной матрицы H тесно связаны со свойствами базовой матрицы Нb и величинами сдвигов p(i,j). Определенные нежелательные шаблоны величин сдвигов p(i,j) будут сохранять циклы и шаблоны Нb кодовых комбинаций и повторять их многократно в расширенной матрице H вследствие квазициклической природы модели кода, приводя к неприемлемой эффективности корректировки ошибок.It is shown that the properties of the extended matrix H are closely related to the properties of the base matrix H b and the values of the shifts p (i, j) . Certain unwanted shift patterns p (i, j) will save the patterns and patterns H b of code combinations and repeat them repeatedly in the expanded matrix H due to the quasi-cyclic nature of the code model, resulting in unacceptable error correction efficiency.

Так как кодовые комбинации с низким весом содержат короткие циклы, если Нb не имеет ни одной колонки с весом 1, достаточно убедиться, что короткие циклы разорваны для всех интересующих размеров кодов (n f , k j ) для того, чтобы получить хорошую эффективность декодирования.Since low weight codewords contain short loops, if H b does not have any columns with a weight of 1, it is enough to make sure that short loops are broken for all codes of interest (n f , k j ) in order to obtain good decoding efficiency .

Обнаружено, что цикл Нb дублируется в расширенной матрице, если удовлетворяется следующее условие.It was found that the cycle H b is duplicated in the expanded matrix if the following condition is satisfied.

Если в базовой матрице H b 2c ребер из цикла длины 2c, тогда в расширенной матрице H соответствующие 2c векторных ребер из z циклов длины 2c тогда и только тогда, еслиIf in the base matrix H b 2c edges from a cycle of length 2c, then in the extended matrix H the corresponding 2c vector edges from z cycles of length 2c if and only if

Figure 00000003
Figure 00000003

где z - коэффициент расширения, p(i) - величина циклического сдвига ребра i в модельной матрице H where z is the expansion coefficient, p (i) is the cyclic shift of the edge i in the model matrix H bmbm , и ребра 0, 1, 2,..., 2c-l (в этом порядке) формируют цикл в H , and the edges 0, 1, 2, ..., 2c-l (in this order) form a cycle in H bb ..

Тогда как фиксированный набор величин {p(i,j)} сдвигов, который не удовлетворяет уравнению (4) для одного значения z f может фактически удовлетворять уравнению (4) для другого значения z f, линейность уравнения (4) показывает, что уравнение может не удовлетворять ему для всех z f, если {p(i,j)} масштабируется пропорционально z f.Whereas a fixed set of { p (i, j) } shift values that does not satisfy equation (4) for one value of z f can actually satisfy equation (4) for another value of z f , the linearity of equation (4) shows that the equation can do not satisfy it for all z f if { p (i, j) } is scaled proportionally to z f .

Допустим, что один набор величин {p(i,f)} сдвигов должен использоваться для расширения данной базовой матрицы Нb для двух коэффициентов расширения z 0 и z 1, α=Z 0 /Z 1>1. Допустим, что набор величин сдвигов {p(i,j)} = {р(0,i,j)} освобожден от циклов длины 2c для коэффициента Z0 расширения,Suppose that one set of values { p (i, f) } of shifts should be used to expand a given base matrix H b for two expansion coefficients z 0 and z 1 , α = Z 0 / Z 1 > 1. Assume that the set of shift values { p (i, j) } = { p (0, i, j) } is exempt from cycles of length 2c for the coefficient Z 0 of the extension,

Figure 00000004
Figure 00000004

тогдаthen

Figure 00000005
Figure 00000005

где p(i) - величина циклического сдвига ребра i в модельной матрице H bm(0), и ребра 0, 1, 2,..., 2c-l (в этом порядке) формируют цикл в H b. Уравнение (6) показывает, что если набор масштабированных величин {p(i,j)/α} сдвигов используется для коэффициента расширения z 1, тогда матрица H, расширенная от z 1, будет также освобождена от циклов длины 2с. Так как 2c может быть любой длиной цикла, использование отмасштабированных величин {p(i,j)/α} будет аннулировать все типы циклов для z 1, которые аннулированы набором {p(i,j)} для z0.where p (i) is the cyclic shift of the edge i in the model matrix H bm (0), and the edges 0, 1, 2, ..., 2c-l (in this order) form a cycle in H b . Equation (6) shows that if a set of scaled {p (i, j) / α} shifts is used for the expansion coefficient z 1 , then the matrix H expanded from z 1 will also be freed from cycles of length 2c. Since 2c can be any cycle length, using the scaled values { p (i, j) / α } will invalidate all types of cycles for z 1 that are canceled by the set { p (i, j) } for z 0 .

Обсуждение выше пренебрегает ограничением, таким что величины сдвигов после масштабирования по-прежнему должны быть целыми. Например, должна быть выполнена функция пола └x┘ (которая является наибольшим целым числом, меньшим или равным x), функция потолка ┌x┐ (которая является наименьшим целым числом, большим или равным x) или функция округления [x](которая является целым числом, которое менее всего отличается от x) над всеми p(i,j)/α для получения целого числа. В общем, при заданных величинах сдвигов p(i,j)=p(0,i,j) для Z 0 величины сдвигов для z 1 могут быть получены как функция F(.) от p(i,f) и α.The discussion above neglects the restriction, such that the magnitudes of the shifts after scaling should still be integer. For example, the floor function └x┘ (which is the largest integer less than or equal to x), the ceiling function ┌x┐ (which is the smallest integer greater than or equal to x) or the rounding function [x] (which is an integer the number that is least different from x) over all p (i, j) / α to get an integer. In general, for given values of the shifts p (i, j) = p ( 0 , i, j) for Z 0, the values of the shifts for z 1 can be obtained as a function of F (.) On p (i, f) and α.

Figure 00000006
Figure 00000006

Например, если функция округления используется на верхнем уровне (6) и величинами сдвигов, предназначенных для z 0, являются p(i,j), тогда набором величин сдвигов, применяемых к z 1, являетсяFor example, if the rounding function is used at the upper level (6) and the shift values intended for z 0 are p (i, j) , then the set of shift values applied to z 1 is

Figure 00000007
Figure 00000007

Хотя обычно все положительные p(i,j) будут отмасштабированы, масштабирование, такое как (8), может быть применено к единственному поднабору {p(i,j)}. Например, те, которые не затронуты никакими циклами, не должны быть отмасштабированы, например ребра колонок Нb веса 1, если они существуют. В зависимости от определения функции F(.) и если масштабирование применяется только всем неотрицательным p(i,j), базовые матрицы H bm(0) и H bm(1) могут быть или не быть одинаковыми.Although usually all positive p (i, j) will be scaled, scaling such as (8) can be applied to a single subset { p (i, j) } . For example, those that are not affected by any cycles should not be scaled, for example, the edges of columns H b of weight 1, if they exist. Depending on the definition of the function F (.) And if scaling is applied only to all non-negative p (i, j), the base matrices H bm (0) and H bm (1) may or may not be the same.

Вышеприведенный анализ без труда применен для нахождения p(f,i,j), если система требует более двух коэффициентов расширения. В этом случае определяется материнская модельная матрица (также называемая базовой модельной матрицей) H bm(0), имеющая набор величин сдвигов p(0,i,j) для наибольшей длины кода, из которой получается модельная матрица H bm(f), имеющая величины сдвигов p(f,i,j) для f-го семейства кодов, f=1,...,f max. При условии z 0=max(z f) и p(0,i,j)=p(i,f), α f =z 0 /z f должно быть использовано в выражениях, аналогичных (8) в получении p(f,i,j) из p(i,j), так что одинаковые циклы базовой матрицы исключаются для всего диапазона z f. В частности, при условии того, что все p(i,j) найдены,The above analysis was easily applied to find p (f, i, j) if the system requires more than two expansion coefficients. In this case, the parent model matrix (also called the base model matrix) H bm (0) is determined, which has a set of shift values p (0, i, j) for the longest code length, from which the model matrix H bm ( f ) is obtained, which has the values shift p (f, i, j) for the family of codes f-, f = 1, ..., f max. Under the condition z 0 = max ( z f ) and p (0, i, j) = p (i, f), α f = z 0 / z f should be used in expressions similar to (8) in obtaining p (f , i, j) from p (i, j) , so that identical cycles of the base matrix are excluded for the entire range z f . In particular, provided that all p (i, j) are found,

Figure 00000008
Figure 00000008

в общем используется для получения p(f,i,j) из p(i,j). Более того, в качестве примера, функция F(.) может быть определена какgenerally used to get p (f, i, j) from p (i, j). Moreover, as an example, the function F (.) Can be defined as

Figure 00000009
Figure 00000009

при условии z 0 = max(z f) и используя функцию округления, соответствующую (8). Сходным образом, может быть использована функция пола └x┘ или функция потолка ┌x┐ вместо функции округления [x].provided z 0 = max ( z f ) and using the rounding function corresponding to (8). Similarly, the floor function └x┘ or the ceiling function ┌x┐ can be used instead of the rounding function [x].

Заметим, что вышеупомянутая методика расчета применяется к любой базовой матрице Н b. Например, она может применяться к Н b, состоящим из двух частей,Note that the above calculation methodology applies to any base matrix H b . For example, it can be applied to H b , consisting of two parts,

Figure 00000010
Figure 00000010

чья детерминированная часть Н b2 может быть дополнительно разделена на две части, где hb имеет нечетный вес w h>2 и H'b2 имеет детерминированную ступенчатую структуру:whose deterministic part H b2 can be further divided into two parts, where h b has an odd weight w h > 2 and H ' b2 has a deterministic step structure:

Figure 00000011
Figure 00000011

Другими словами, Н'b2 содержат матричные элементы для строки i, столбца j, равные:In other words, H ' b2 contain matrix elements for row i , column j , equal to:

Figure 00000012
Figure 00000012

Реализация кодера для семейства кодовEncoder implementation for code family

Поскольку все члены семейства, соответствующего вышеприведенному плану, получаются из материнской модельной матрицы H bm=H bm(0), таким образом все имеющие одинаковую структуру, процесс кодировки для каждого члена семейства является аналогичным. Часть или целая модельная матрица может быть сохранена и интерпретироваться в качестве инструкций для многорегистровой схемы циклического сдвига для выполнения циклических сдвигов сгруппированной информационной последовательности.Since all members of the family corresponding to the above plan are obtained from the parent model matrix H bm = H bm (0), thus all having the same structure, the encoding process for each family member is similar. A part or the whole model matrix can be stored and interpreted as instructions for a multi-register cyclic shift scheme for performing cyclic shifts of a grouped information sequence.

Так как все члены семейства получаются из материнской модельной матрицы H bm=H bm(0), реализация кодера для семейства требует только, что материнская матрица была сохранена. При условии, что используется функция [x] округления, для f-го члена семейства циклические сдвиги p(i,j) материнской модельной матрицы заменяются циклическими сдвигами [p(i,j)/(z 0 /z f )] для p(i,j)>0, где z f обозначает коэффициент расширения f-го члена семейства, которое кодируется. Непосредственной реализацией этого является хранение значений α f-1=(z 0 /z f ) -1 (или α f=z 0 /z f ) для каждого члена семейства в постоянной памяти и вычисление значений [p(i,j)/(z 0 /z f )], p(i,j)>0 "на лету" с использованием умножителя. В качестве альтернативы наборы {p(f,i,f)}, f=0, 1,...,f max величин сдвигов для каждого члена семейства могут быть заранее рассчитаны, используя (8) (или в более общем смысле, (7)), и сохранены в постоянной памяти.Since all members of the family are obtained from the parent model matrix H bm = H bm (0), the implementation of the encoder for the family only requires that the parent matrix has been saved. Provided that the function is used [x] Rounding for f th member of the family of cyclic shifts of p (i, j) of the parent model matrix are replaced by cyclic shifts [p (i, j) / (z 0 / z f)] for p ( i, j)> 0, where z f denotes the coefficient of expansion of f th family member that is encoded. The immediate implementation of this is to store the values α f -1 = (z 0 / z f ) -1 (or α f = z 0 / z f ) for each member of the family in constant memory and calculate the values [ p (i, j) / ( z 0 / z f ) ] , p (i, j) > 0 "on the fly" using a multiplier. Alternatively, the sets { p (f, i, f)}, f = 0, 1 , ..., f max of the shift values for each family member can be pre-calculated using (8) (or in a more general sense, ( 7)), and stored in permanent memory.

Многорегистровая схема циклического сдвига может быть модифицирована для обеспечения циклических сдвигов для всех длин слов z f, соответствующих членам семейства. Несмотря на то, что модификация многорегистровой схемы циклического сдвига будет усложнять логику многорегистровой схемы циклического сдвига и неизбежно влечь за собой более медленные тактовые частоты, альтернативой, требующей дополнительных логических ресурсов, является осуществление различных многорегистровых схем циклического сдвига для каждого размера z f слова.The multi-register cyclic shift pattern can be modified to provide cyclic shifts for all word lengths z f corresponding to family members. Despite the fact that the modification of the multi-register cyclic shift scheme will complicate the logic of the multi-register cyclic shift scheme and inevitably entail slower clock frequencies, an alternative requiring additional logical resources is the implementation of various multi-register cyclic shift schemes for each word size z f .

Фиг. 2 - блок-схема кодера 200. Как показано, кодер 200 содержит микропроцессор 201, таблицу 203 поиска и логическую схему 205 для определения коэффициента z f расширения. Хотя и показаны существующие внешне по отношению друг к другу, рядовой специалист в данной области техники будет давать себе отчет, что функциональные возможности логической схемы 205 могут быть осуществлены в микропроцессоре 201.FIG. 2 is a block diagram of an encoder 200. As shown, the encoder 200 comprises a microprocessor 201, a lookup table 203, and a logic circuit 205 for determining an expansion coefficient z f . Although shown externally relative to each other, an ordinary person skilled in the art will be aware that the functionality of logic circuitry 205 can be implemented in microprocessor 201.

Микропроцессор 201 предпочтительно содержит цифровой процессор сигналов (DSP), такой как, но не ограниченный DSP MSC8300 и DSP56300. Дополнительно таблица 203 поиска служит в качестве средств хранения для хранения матрицы и содержит постоянную память; тем не менее рядовой специалист в данной области техники будет отдавать себе отчет, что другие виды памяти (например, память с произвольной выборкой, магнитная запоминающая память и т.д.) могут быть также использованы. Во втором варианте осуществления функциональные возможности микропроцессора 201 и таблицы 203 поиска и логической схемы 205 могут быть включены в специализированную интегральную схему (ASIC) или программируемую вентильную матрицу (FPGA). В частности, таблица 203 поиска может быть реализована в виде памяти, соответствующей наличию или отсутствию путей сигнала в схеме.The microprocessor 201 preferably comprises a digital signal processor (DSP), such as, but not limited to, the DSC MSC8300 and DSP56300. Additionally, the search table 203 serves as storage means for storing the matrix and comprises read-only memory; however, an ordinary person skilled in the art will be aware that other types of memory (e.g., random-access memory, magnetic storage memory, etc.) can also be used. In a second embodiment, the functionality of the microprocessor 201 and the lookup table 203 and logic circuit 205 may be included in a dedicated integrated circuit (ASIC) or programmable gate array (FPGA). In particular, the search table 203 may be implemented as a memory corresponding to the presence or absence of signal paths in the circuit.

Как обсуждалось выше, закодированные данные обычно принимают вид множества битов контроля по четности в дополнение к систематическим битам, где вместе биты контроля по четности и систематические биты формируют кодовую комбинацию x. В первом варианте осуществления настоящего изобретения базовая модельная матрица H bm хранится в таблице 203 поиска и выбирается микропроцессором 201 для нахождения битов контроля по четности. В частности, микропроцессор 201 определяет соответствующие значения для битов p=(p 0 ,...,p mf-1) контроля по четности на основе блока информации s=(s 0,...,s kf-1 ), коэффициента z f расширения и базовой модельной матрицы Нbm. Коэффициент z f расширения определяется логикой 205, использующей z f =k f /k b =n f /n b , и использованием групповых битов в векторы длины z f так же, как нахождение α f =z 0 /z f. После того как биты контроля по четности найдены, они и набор систематических битов затем переправляется передатчику и передается в приемник.As discussed above, encoded data typically takes the form of a plurality of parity bits in addition to systematic bits, where together the parity bits and systematic bits form the code pattern x . In a first embodiment of the present invention, the base model matrix H bm is stored in a lookup table 203 and is selected by microprocessor 201 to find the parity bits. In particular, the microprocessor 201 determines the corresponding values for the parity bits p = ( p 0 , ..., p mf-1 ) based on the information block s = (s 0 , ..., s kf-1 ) , coefficient z f extensions and the base model matrix H bm . The expansion coefficient z f is determined by logic 205, using z f = k f / k b = n f / n b , and using group bits in vectors of length z f in the same way as finding α f = z 0 / z f . After the parity bits are found, they and a set of systematic bits are then forwarded to the transmitter and transmitted to the receiver.

Фиг. 3 - блок-схема декодера 300 согласно одному варианту осуществления настоящего изобретения. Как показано, декодер 300 содержит микропроцессор 301, таблицу 303 поиска и логическую схему 305 для определения коэффициента расширения z f . В первом варианте осуществления настоящего изобретения микропроцессор 301 содержит цифровой процессор сигналов (DSP), такой как, но не ограниченный DSP MSC8300 и DSP56300. Дополнительно таблица 303 поиска действует как средства хранения для хранения базовой модельной матрицы H bm и содержит постоянную память. Тем не менее рядовой специалист в данной области техники будет отдавать себе отчет, что другие виды памяти (например, память с произвольной выборкой, магнитная запоминающая память и т.д.) могут быть также использованы. Во втором варианте осуществления функциональность микропроцессора 301 и таблицы 303 поиска может быть включена в специализированную интегральную схему (ASIC) или программируемую вентильную матрицу (FPGA). В частности, таблица 303 поиска может быть реализована в виде памяти, соответствующей наличию или отсутствию путей сигнала в схеме.FIG. 3 is a block diagram of a decoder 300 according to one embodiment of the present invention. As shown, the decoder 300 comprises a microprocessor 301, a lookup table 303, and a logic circuit 305 for determining an expansion coefficient z f . In a first embodiment of the present invention, the microprocessor 301 comprises a digital signal processor (DSP), such as, but not limited to, the DSC MSC8300 and DSP56300. Additionally, the search table 303 acts as a storage medium for storing the base model matrix H bm and contains read-only memory. Nevertheless, an ordinary person skilled in the art will be aware that other types of memory (for example, random-access memory, magnetic storage memory, etc.) can also be used. In a second embodiment, the functionality of the microprocessor 301 and the lookup table 303 may be included in a dedicated integrated circuit (ASIC) or programmable gate array (FPGA). In particular, the search table 303 may be implemented as a memory corresponding to the presence or absence of signal paths in the circuit.

Принятый вектор y =(y 0 ,...,y n-1) сигнала (принятый посредством приемника) соответствует кодовой комбинации x, переданной через канал с шумом, где закодированные данные x, как обсуждалось выше, являются вектором f-го члена семейства кодов. В первом варианте осуществления настоящего изобретения базовая модельная матрица Нbm хранится в таблице 303 поиска и выбирается микропроцессором 301 для декодирования y и оценки блока информации S=(s 0,...,s kf-1). В частности, микропроцессор 301 оценивает блок информации (s 0 ,...,s kf-1 ) на основе принятого вектора y= 0 ,...,y kf-1 ) сигнала и базовой модельной матрицы Нbm. Коэффициент z f расширения определяется логикой 305, использующей z f =k f /k b =n f /n b , и используется для группировки принятых сигналов и битов в векторы длины z f так же, как нахождения α f =z 0 /z f.The received vector y = (y 0, ..., y n-1) of the signal (received by receiver) corresponds to the codeword x, transmitted through a channel with noise, where the encoded data x, as discussed above, are vector f th family member codes. In the first embodiment of the present invention, the base model matrix H bm is stored in the search table 303 and selected by the microprocessor 301 to decode y and evaluate the information block S = ( s 0 , ..., s kf-1 ). In particular, the microprocessor 301 evaluates an information block (s 0 , ..., s kf-1 ) based on the received vector y = (y 0 , ..., y kf-1 ) of the signal and the base model matrix H bm . The expansion coefficient z f is determined by logic 305, using z f = k f / k b = n f / n b , and is used to group the received signals and bits into vectors of length z f as well as finding α f = z 0 / z f .

Фиг. 4 - схема последовательности операций кодера 200 и, в частности, микропроцессора 201. Поток начинается на этапе 401, где текущий блок (s 0 ,...,s k-1 ) информации принимается микропроцессором 201. На этапе 403 значения битов контроля по четности определяются на основе блока информации и H bm(f), где H bm(f) уникально определяется {p(f,i,j)}. В частности, набор {p(i,j)} величин сдвигов базовой модельной матрицы H bm считывается из памяти. Микропроцессор использует {p(i,j)} и α f для определения {p(f,i,j)}. Биты (p 0 ,...,p mf-1 ) контроля по четности определяются посредством решения уравнения (1). На этапе 405 информационный блок и биты контроля по четности передаются по каналу.FIG. 4 is a flowchart of an encoder 200 and, in particular, a microprocessor 201. The flow begins at step 401, where the current block of information (s 0 , ..., s k-1 ) is received by the microprocessor 201. At step 403, the values of the parity bits are determined based on a block of information and H bm ( f ), where H bm ( f ) is uniquely determined by { p (f, i, j) } . In particular, the set { p (i, j) } of shifts of the base model matrix H bm is read from memory. The microprocessor uses { p (i, j) } and α f to determine { p (f, i, j) } . The parity bits (p 0 , ..., p mf-1 ) of the parity check are determined by solving equation (1). At step 405, an information block and parity bits are transmitted over the channel.

Фиг. 5 - схема последовательности операций кодера 300 и, в частности, микропроцессора 301. Поток логики начинается на этапе 501, где принятый вектор FIG. 5 is a flow diagram of an encoder 300 and, in particular, a microprocessor 301. The logic flow begins at step 501, where the received vector

y=(y 0,...,y n-1) сигнала принимается. На этапе 503 оценки блока информации s=(s 0 ,...,s kf-1 ) определяются на основе H bm(f), где H bm(f) уникально определена посредством {p(f,i,j)}. В частности, набор {p(i,j)} величин сдвигов базовой модельной матрицы H bm считывается из памяти. Микропроцессор использует {p(i,j)} и α f для определения {p(f,i,j)}. Как обсуждалось, микропроцессор обрабатывает принятый вектор сигнала в соответствии с величинами сдвигов {p(f,i,j)} (или эквивалентно, Нbm(f)) для получения оценок блока информации. В предпочтительном варианте осуществления микропроцессор выполняет обработку согласно алгоритму пересылки сообщений, используя двудольный граф кода. y = ( y 0 , ... , y n-1 ) of the signal is received. At step 503, estimates of the information block s = ( s 0 , ..., s kf − 1 ) are determined based on H bm ( f ), where H bm ( f ) is uniquely determined by { p (f, i , j) }. In particular, the set { p (i, j) } of shifts of the base model matrix H bm is read from memory. The microprocessor uses { p (i, j) } and α f to determine { p (f, i, j) } . As discussed, the microprocessor processes the received signal vector in accordance with the values of the shifts { p (f, i, j) } (or equivalently, H bm ( f )) to obtain information block estimates. In a preferred embodiment, the microprocessor performs processing according to a message forwarding algorithm using a bipartite code graph.

ПримерыExamples

В качестве примера описывается модель кода для 19 размеров кода n f в диапазоне от 576 до 2304 битов. Каждая базовая модельная матрица предназначена для величины сдвига Z0 =96. Набор величин сдвигов {p(i,j)} определен для базовой модельной матрицы и используется для других размеров кодов той же скорости. Для других размеров кодов величины сдвигов получаются из базовой модельной матрицы следующим образом.As an example, a code model is described for 19 n f code sizes ranging from 576 to 2304 bits. Each base model matrix is designed for a shift value Z 0 = 96. A set of shift values { p (i, j) } is defined for the base model matrix and is used for other sizes of codes of the same speed. For other code sizes, the shift values are obtained from the base model matrix as follows.

Для размера кода, соответствующего коэффициенту расширения z f, его величины {p(f,i,j)} сдвига получаются из {p(i,j)} пропорциональным масштабированием p(i,j) For the code size corresponding to the expansion coefficient z f , its shift values { p (f, i, j) } are obtained from { p (i, j)} by proportional scaling p (i, j)

Figure 00000013
Figure 00000013

Заметим, что α f=z 0 /z f и └x┘ обозначает функцию пола, которая дает ближайшее целое число в направлении -∞.Note that α f = z 0 / z f and └x┘ denotes the gender function, which gives the nearest integer in the -∞ direction.

Базовые модельные матрицы сведены в таблицы внизу для трех кодовых скоростей 1/2, 2/2 и 3/4. Здесь f является индексом длин кодов для данной кодовой скорости, f = 0,1,2,... 18.The basic model matrices are summarized in the tables below for the three code rates 1/2, 2/2 and 3/4. Here f is the code length index for a given code rate, f = 0,1,2, ... 18.

Скорость 1/2:1/2 speed:

Базовая модельная матрица имеет размер nb=24, m b =12 и коэффициент расширения The base model matrix has a size n b = 24, m b = 12 and an expansion coefficient

z 0=96 (т.е., n0=24*96=2304). Для получения других размеров кодов n f коэффициент расширения z f равен nf/24. z 0 = 96 (i.e., n 0 = 24 * 96 = 2304). To obtain other code sizes n f, the expansion coefficient z f is n f / 24.

Figure 00000014
Figure 00000014

Скорость 2/3:Speed 2/3:

Базовая модельная матрица имеет размер nb=24, m b =8 и коэффициент расширения z 0=96 (т.е. n0=24*96=2304). Для получения других размеров кодов n f коэффициент расширения z f равен nf/24.The base model matrix has a size n b = 24, m b = 8 and an expansion coefficient z 0 = 96 (i.e., n 0 = 24 * 96 = 2304). To obtain other code sizes n f, the expansion coefficient z f is n f / 24.

Figure 00000015
Figure 00000016
Figure 00000015
Figure 00000016

Скорость 3/4:3/4 speed:

Базовая модельная матрица имеет размер nb=24, m b =6 и коэффициент расширения z 0=96 (т.е. n0=24*96=2304).The base model matrix has a size n b = 24, m b = 6 and an expansion coefficient z 0 = 96 (i.e., n 0 = 24 * 96 = 2304).

Figure 00000017
Figure 00000017

Для получения других размеров кодов n f коэффициент расширения z f равен nf/24.To obtain other code sizes n f, the expansion coefficient z f is n f / 24.

Несмотря на то, что изобретение было подробно показано и описано со ссылкой на определенный предпочтительный вариант осуществления, специалистами в данной области техники будет понято, что в нем могут быть сделаны различные изменения по форме и содержанию, не выходя из сущности и объема изобретения. Например, когда диапазон размеров кодов очень большой, например α приближается к z/2, становится очень трудно найти подходящий набор {p(i,j)} величин сдвигов. Следовательно, если диапазон размеров кодов очень велик, т.е. α велико, могут использовать различные наборы {p{i,f)}, каждый из которых покрывает диапазон z f для семейства кодов. В другом примере, хотя обсуждение допускало, что используются материнская модельная матрица Нbm(0), z0=max(z f), и p(0,i,j)=p(i,j) используются для 0-го члена семейства кодов, специалисты в данной области техники будут понимать, что Нbm(0), Although the invention has been shown and described in detail with reference to a certain preferred embodiment, those skilled in the art will understand that various changes in form and content can be made therein without departing from the spirit and scope of the invention. For example, when the range of code sizes is very large, for example, α approaches z / 2 , it becomes very difficult to find a suitable set of { p (i, j) } shift values. Therefore, if the range of code sizes is very large, i.e. α is large, can use different sets { p {i, f) }, each of which covers the range z f for a family of codes. In another example, although the discussion assumed that the mother model matrix H bm (0), z 0 = max ( z f ), and p (0, i, j) = p (i, j) are used for the 0th term family of codes, those skilled in the art will understand that H bm (0),

z 0 и p(i,j) могут быть определены для размера кода не в семействе кодов, но использоваться для получения величин p(f,i,j) сдвигов интересующего семейства кодов. В другом примере, хотя обсуждение допускало, что z 0 = max(z f), специалисты в данной области техники будут понимать, что значение z 0, не равное max(z f), может быть использовано в выводе величины сдвига. Подразумевается, что такие изменения появляются в объеме последующей формулы изобретения. z 0 and p (i, j) can be determined for the code size not in the code family, but used to obtain the p (f, i, j) values of the shifts of the code family of interest. In another example, although the discussion assumed that z 0 = max ( z f ), those skilled in the art will understand that a value of z 0 not equal to max ( z f ) can be used to derive the shift value. It is understood that such changes appear within the scope of the following claims.

Claims (10)

1. Способ управления передатчиком, который генерирует биты контроля по четности на основе блока информации, заключающийся в том, что
определяют базовую модельную матрицу, имеющую набор величин сдвигов p(i,j) для наибольшей длины кода;
определяют величины сдвигов p(f,i,j) для всех других длин кода на основе набора величин сдвигов p(i,j), где f - индекс длин кодов, p(f,i,j)=F(p(i,j),z0/zf), z0 - коэффициент расширения наибольшей длины кода, zf - коэффициент расширения f-й длины кода;
принимают блок информации s=(s0, …, skf-1);
используют модельную матрицу, определенную посредством p(f,i,j) для определения битов контроля по четности; и
передают биты контроля по четности вместе с блоком информации, где {p{i,j)}=
-1 94 73 -1 -1 -1 -1 -1 55 83 -1 -1 7 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 27 -1 -1 -1 22 79 9 -1 -1 -1 12 -1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 24 22 81 -1 33 -1 -1 -1 0 -1 -1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 61 -1 47 -1 -1 -1 -1 -1 65 25 -1 -1 -1 -1 -1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 39 -1 -1 -1 84 -1 -1 41 72 -1 -1 -1 -1 -1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 46 40 -1 82 -1 -1 -1 79 0 -1 -1 -1 -1 0 0 -1 -1 -1 -1 -1 -1 -1 95 53 -1 -1 -1 -1 -1 14 18 -1 -1 -1 -1 -1 -1 -1 0 0 -1 -1 -1 -1 -1 11 73 -1 -1 -1 2 -1 -1 47 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 0 -1 -1 -1 12 -1 -1 -1 83 24 -1 43 -1 -1 -1 51 -1 -1 -1 -1 -1 -1 -1 -1 0 0 -1 -1 -1 -1 -1 -1 -1 94 -1 59 -1 -1 70 72 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 0 -1 -1 -1 7 65 -1 -1 -1 -1 39 49 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 0 43 -1 -1 -1 -1 66 -1 41 -1 -1 -1 26 7 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 0
1. A method for controlling a transmitter that generates parity bits based on a block of information, which is that
determining a basic model matrix having a set of shift values p (i, j) for the largest code length;
determine the shift values p (f, i, j) for all other code lengths based on the set of shift values p (i, j), where f is the code length index, p (f, i, j) = F (p (i, j), z 0 / z f ), z 0 is the expansion coefficient of the longest code length, z f is the expansion coefficient of the fth code length;
receive a block of information s = (s 0 , ..., s kf-1 );
using the model matrix defined by p (f, i, j) to determine the parity bits; and
transmit the parity bits together with the information block, where {p {i, j)} =
-one 94 73 -one -one -one -one -one 55 83 -one -one 7 0 -one -one -one -one -one -one -one -one -one -one -one 27 -one -one -one 22 79 9 -one -one -one 12 -one 0 0 -one -one -one -one -one -one -one -one -one -one -one -one 24 22 81 -one 33 -one -one -one 0 -one -one 0 0 -one -one -one -one -one -one -one -one 61 -one 47 -one -one -one -one -one 65 25 -one -one -one -one -one 0 0 -one -one -one -one -one -one -one -one -one 39 -one -one -one 84 -one -one 41 72 -one -one -one -one -one 0 0 -one -one -one -one -one -one -one -one -one -one 46 40 -one 82 -one -one -one 79 0 -one -one -one -one 0 0 -one -one -one -one -one -one -one 95 53 -one -one -one -one -one fourteen eighteen -one -one -one -one -one -one -one 0 0 -one -one -one -one -one eleven 73 -one -one -one 2 -one -one 47 -one -one -one -one -one -one -one -one -one 0 0 -one -one -one 12 -one -one -one 83 24 -one 43 -one -one -one 51 -one -one -one -one -one -one -one -one 0 0 -one -one -one -one -one -one -one 94 -one 59 -one -one 70 72 -one -one -one -one -one -one -one -one -one 0 0 -one -one -one 7 65 -one -one -one -one 39 49 -one -one -one -one -one -one -one -one -one -one -one -one 0 0 43 -one -one -one -one 66 -one 41 -one -one -one 26 7 -one -one -one -one -one -one -one -one -one -one 0
2. Способ по п.1, в котором
Figure 00000018
Figure 00000019

a
Figure 00000020
обозначает функцию пола.
2. The method according to claim 1, in which
Figure 00000018
Figure 00000019

a
Figure 00000020
denotes gender function.
3. Способ по п.1, в котором
Figure 00000021
Figure 00000022

а [x] обозначает функцию округления.
3. The method according to claim 1, in which
Figure 00000021
Figure 00000022

and [x] denotes the rounding function.
4. Способ по п.1, в котором
Figure 00000023
Figure 00000024

а
Figure 00000025
обозначает функцию потолка.
4. The method according to claim 1, in which
Figure 00000023
Figure 00000024

but
Figure 00000025
indicates the function of the ceiling.
5. Способ по п.1, в котором биты контроля по четности находят на основе проверочной матрицы H(f), которую расширяют из модельной матрицы Нbm(f), определенной посредством p(f,i,j) с коэффициентом Zf расширения.5. The method according to claim 1, in which the parity bits are found on the basis of the verification matrix H (f), which is expanded from the model matrix H bm (f) determined by p (f, i, j) with an expansion coefficient Z f . 6. Устройство связи, включающее в себя передатчик, который генерирует биты контроля по четности на основе блока информации, и содержащее
средство хранения для хранения базовой модельной матрицы, имеющей набор величин сдвигов p(i,j) для наибольшей длины кода;
и
микропроцессор, принимающий блок информации s=(s0, …, skf-1) и базовую модельную матрицу и определяющий величины сдвигов p(f,i,j) для всех других длин кода на основе набора величин сдвигов p(i,j), где f - индекс длин кодов, p(f,i,j)=F(p(i,j,z0/zf), z0 - коэффициент расширения наибольшей длины кода, zf - коэффициент расширения f-й длины кода; причем микропроцессор выводит биты контроля по четности на основе модельной матрицы, определенной посредством p(f,i,j) и блока информации s=(s0, …, skf-1); где {p(i,j)}=
-1 94 73 -1 -1 -1 -1 -1 55 83 -1 -1 7 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 27 -1 -1 -1 22 79 9 -1 -1 -1 12 -1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 24 22 81 -1 33 -1 -1 -1 0 -1 -1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 61 -1 47 -1 -1 -1 -1 -1 65 25 -1 -1 -1 -1 -1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 39 -1 -1 -1 84 -1 -1 41 72 -1 -1 -1 -1 -1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 46 40 -1 82 -1 -1 -1 79 0 -1 -1 -1 -1 0 0 -1 -1 -1 -1 -1 -1 -1 95 53 -1 -1 -1 -1 -1 14 18 -1 -1 -1 -1 -1 -1 -1 0 0 -1 -1 -1 -1 -1 11 73 -1 -1 -1 2 -1 -1 47 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 0 -1 -1 -1 12 -1 -1 -1 83 24 -1 43 -1 -1 -1 51 -1 -1 -1 -1 -1 -1 -1 -1 0 0 -1 -1 -1 -1 -1 -1 -1 94 -1 59 -1 -1 70 72 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 0 -1 -1 -1 7 65 -1 -1 -1 -1 39 49 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 0 43 -1 -1 -1 -1 66 -1 41 -1 -1 -1 26 7 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 0
6. A communication device including a transmitter that generates parity bits based on an information block, and comprising
storage means for storing a base model matrix having a set of shift values p (i, j) for the largest code length;
and
a microprocessor receiving an information block s = (s 0 , ..., s kf-1 ) and a basic model matrix and determining the values of the shifts p (f, i, j) for all other code lengths based on the set of values of the shifts p (i, j) , where f is the code length index, p (f, i, j) = F (p (i, j, z 0 / z f ), z 0 is the expansion coefficient of the longest code length, z f is the expansion coefficient of the fth length code; moreover, the microprocessor outputs parity bits based on the model matrix determined by p (f, i, j) and the information block s = (s 0 , ..., s kf-1 ); where {p (i, j)} =
-one 94 73 -one -one -one -one -one 55 83 -one -one 7 0 -one -one -one -one -one -one -one -one -one -one -one 27 -one -one -one 22 79 9 -one -one -one 12 -one 0 0 -one -one -one -one -one -one -one -one -one -one -one -one 24 22 81 -one 33 -one -one -one 0 -one -one 0 0 -one -one -one -one -one -one -one -one 61 -one 47 -one -one -one -one -one 65 25 -one -one -one -one -one 0 0 -one -one -one -one -one -one -one -one -one 39 -one -one -one 84 -one -one 41 72 -one -one -one -one -one 0 0 -one -one -one -one -one -one -one -one -one -one 46 40 -one 82 -one -one -one 79 0 -one -one -one -one 0 0 -one -one -one -one -one -one -one 95 53 -one -one -one -one -one fourteen eighteen -one -one -one -one -one -one -one 0 0 -one -one -one -one -one eleven 73 -one -one -one 2 -one -one 47 -one -one -one -one -one -one -one -one -one 0 0 -one -one -one 12 -one -one -one 83 24 -one 43 -one -one -one 51 -one -one -one -one -one -one -one -one 0 0 -one -one -one -one -one -one -one 94 -one 59 -one -one 70 72 -one -one -one -one -one -one -one -one -one 0 0 -one -one -one 7 65 -one -one -one -one 39 49 -one -one -one -one -one -one -one -one -one -one -one -one 0 0 43 -one -one -one -one 66 -one 41 -one -one -one 26 7 -one -one -one -one -one -one -one -one -one -one 0
7. Устройство по п.6, в котором
Figure 00000026
Figure 00000027

где
Figure 00000020
обозначает функцию пола.
7. The device according to claim 6, in which
Figure 00000026
Figure 00000027

Where
Figure 00000020
denotes gender function.
8. Устройство по п.6, дополнительно содержащее постоянную память, имеющую значения для p(f,i,j)=F(p(i,j),z0/zf).8. The device according to claim 6, further comprising a read-only memory having values for p (f, i, j) = F (p (i, j), z 0 / z f ). 9. Устройство по п.6 дополнительно содержащее постоянную память, имеющую значения для z0/zf.9. The device according to claim 6, further comprising a read-only memory having values for z 0 / z f . 10. Способ управления приемником, который оценивает блок информации
s=(s0, …, skf-1), заключающийся в том, что
принимают вектор сигнала;
определяют базовую модельную матрицу, имеющую набор величин сдвигов p(i,j) для наибольшей длины кода;
определяют величины сдвигов p(f,i,j) для всех других длин кода на основе набора величин сдвигов p(i,j), где f - индекс длин кодов, p(f,i,j)=F(p(i,j,z0/zf), z0 - коэффициент расширения наибольшей длины кода, zf - коэффициент расширения f-й длины кода;
оценивают блок информации s=(s0, …, skf-1) на основе модельной матрицы, определенной посредством p(f,i,j) и принятого вектора сигнала, где {p(i,j)=
-1 94 73 -1 -1 -1 -1 -1 55 83 -1 -1 7 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 27 -1 -1 -1 22 79 9 -1 -1 -1 12 -1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 24 22 81 -1 33 -1 -1 -1 0 -1 -1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 61 -1 47 -1 -1 -1 -1 -1 65 25 -1 -1 -1 -1 -1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 39 -1 -1 -1 84 -1 -1 41 72 -1 -1 -1 -1 -1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 46 40 -1 82 -1 -1 -1 79 0 -1 -1 -1 -1 0 0 -1 -1 -1 -1 -1 -1 -1 95 53 -1 -1 -1 -1 -1 14 18 -1 -1 -1 -1 -1 -1 -1 0 0 -1 -1 -1 -1 -1 11 73 -1 -1 -1 2 -1 -1 47 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 0 -1 -1 -1 12 -1 -1 -1 83 24 -1 43 -1 -1 -1 51 -1 -1 -1 -1 -1 -1 -1 -1 0 0 -1 -1 -1 -1 -1 -1 -1 94 -1 59 -1 -1 70 72 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 0 -1 -1 -1 7 65 -1 -1 -1 -1 39 49 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 0 43 -1 -1 -1 -1 66 -1 41 -1 -1 -1 26 7 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 0
10. A receiver control method that evaluates an information block
s = (s 0 , ..., s kf-1 ), which consists in the fact that
receive a signal vector;
determining a basic model matrix having a set of shift values p (i, j) for the largest code length;
determine the shift values p (f, i, j) for all other code lengths based on the set of shift values p (i, j), where f is the code length index, p (f, i, j) = F (p (i, j, z 0 / z f ), z 0 is the expansion coefficient of the longest code length, z f is the expansion coefficient of the fth code length;
evaluate the information block s = (s 0 , ..., s kf-1 ) based on the model matrix determined by p (f, i, j) and the received signal vector, where {p (i, j) =
-one 94 73 -one -one -one -one -one 55 83 -one -one 7 0 -one -one -one -one -one -one -one -one -one -one -one 27 -one -one -one 22 79 9 -one -one -one 12 -one 0 0 -one -one -one -one -one -one -one -one -one -one -one -one 24 22 81 -one 33 -one -one -one 0 -one -one 0 0 -one -one -one -one -one -one -one -one 61 -one 47 -one -one -one -one -one 65 25 -one -one -one -one -one 0 0 -one -one -one -one -one -one -one -one -one 39 -one -one -one 84 -one -one 41 72 -one -one -one -one -one 0 0 -one -one -one -one -one -one -one -one -one -one 46 40 -one 82 -one -one -one 79 0 -one -one -one -one 0 0 -one -one -one -one -one -one -one 95 53 -one -one -one -one -one fourteen eighteen -one -one -one -one -one -one -one 0 0 -one -one -one -one -one eleven 73 -one -one -one 2 -one -one 47 -one -one -one -one -one -one -one -one -one 0 0 -one -one -one 12 -one -one -one 83 24 -one 43 -one -one -one 51 -one -one -one -one -one -one -one -one 0 0 -one -one -one -one -one -one -one 94 -one 59 -one -one 70 72 -one -one -one -one -one -one -one -one -one 0 0 -one -one -one 7 65 -one -one -one -one 39 49 -one -one -one -one -one -one -one -one -one -one -one -one 0 0 43 -one -one -one -one 66 -one 41 -one -one -one 26 7 -one -one -one -one -one -one -one -one -one -one 0
RU2007108784/09A 2004-08-12 2005-08-03 Method and device for data coding and decoding RU2365034C2 (en)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US6005304P 2004-08-12 2004-08-12
US60/600,53 2004-08-12
US11/070,129 2005-03-01
US11/070,129 US7203897B2 (en) 2004-08-12 2005-03-01 Method and apparatus for encoding and decoding data
US11/078,817 2005-03-11
US11/078,817 US7188297B2 (en) 2004-08-12 2005-03-11 Method and apparatus for encoding and decoding data

Publications (2)

Publication Number Publication Date
RU2007108784A RU2007108784A (en) 2008-09-20
RU2365034C2 true RU2365034C2 (en) 2009-08-20

Family

ID=39867503

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2007108784/09A RU2365034C2 (en) 2004-08-12 2005-08-03 Method and device for data coding and decoding

Country Status (1)

Country Link
RU (1) RU2365034C2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2658791C2 (en) * 2013-05-02 2018-06-22 Сони Корпорейшн Data processing device and data processing method

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2658791C2 (en) * 2013-05-02 2018-06-22 Сони Корпорейшн Data processing device and data processing method

Also Published As

Publication number Publication date
RU2007108784A (en) 2008-09-20

Similar Documents

Publication Publication Date Title
JP4602406B2 (en) Method and apparatus for encoding and decoding data
US7203897B2 (en) Method and apparatus for encoding and decoding data
JP5116735B2 (en) How to construct a code
KR100861674B1 (en) A method for operating a transmitter and receiver, and an apparatus for encoding and decoding data
KR101405962B1 (en) Method of performing decoding using LDPC code
KR101227264B1 (en) Method and apparatus for block and rate independent decoding of ldpc codes
JP4516602B2 (en) Data encoding and decoding method and apparatus
KR100849044B1 (en) Inspection matrix generation method, data transmission system, encoding device, decoding device, and inspection matrix generation program
JP5551209B2 (en) LDPC encoding and decoding of variable size packets
US7395494B2 (en) Apparatus for encoding and decoding of low-density parity-check codes, and method thereof
WO2004027616A1 (en) Method and apparatus for encoding data
WO2014122772A1 (en) Data structure for check matrix of error correction code, and coding-rate adjustment device and method for error correction code
KR20080048988A (en) Clash-free irregular-repeat-accumulate code
JP4005084B2 (en) Parity check matrix generation method and parity check matrix generation apparatus
JP2010532129A (en) Generate parity check matrix
KR20130038184A (en) Quasi-cyclic ldpc encoding and decoding for non-integer multiples of circulant size
KR20070063851A (en) Parity check matrix, method for generating parity check matrix, encoding method and error correction apparatus
JP4832447B2 (en) Decoding apparatus and method using channel code
KR100918741B1 (en) Apparatus and method for channel coding in mobile communication system
KR100550101B1 (en) An apparatus for encoding and decoding of Low-Density Parity-Check Codes, and methods thereof
RU2365034C2 (en) Method and device for data coding and decoding
KR100800775B1 (en) A Channel coding method and apparatus in mobile communication system
JP2010041628A (en) Encoder, encoding method, and encoding program

Legal Events

Date Code Title Description
PC41 Official registration of the transfer of exclusive right

Effective date: 20120626

PC43 Official registration of the transfer of the exclusive right without contract for inventions

Effective date: 20170302

PC41 Official registration of the transfer of exclusive right

Effective date: 20180111