RU2340091C2 - Method of decoding serial cascade code (versions) - Google Patents

Method of decoding serial cascade code (versions) Download PDF

Info

Publication number
RU2340091C2
RU2340091C2 RU2006141315/09A RU2006141315A RU2340091C2 RU 2340091 C2 RU2340091 C2 RU 2340091C2 RU 2006141315/09 A RU2006141315/09 A RU 2006141315/09A RU 2006141315 A RU2006141315 A RU 2006141315A RU 2340091 C2 RU2340091 C2 RU 2340091C2
Authority
RU
Russia
Prior art keywords
code
errors
decoding
component
codes
Prior art date
Application number
RU2006141315/09A
Other languages
Russian (ru)
Other versions
RU2006141315A (en
Inventor
Андрей Николаевич Хмельков (RU)
Андрей Николаевич Хмельков
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 RU2006141315/09A priority Critical patent/RU2340091C2/en
Publication of RU2006141315A publication Critical patent/RU2006141315A/en
Application granted granted Critical
Publication of RU2340091C2 publication Critical patent/RU2340091C2/en

Links

Images

Landscapes

  • Error Detection And Correction (AREA)

Abstract

FIELD: information technology.
SUBSTANCE: for the received code implementation, extended syndromes are calculated for each code word of the component code of the cascade code, and, using an extended test matrix, the sets of lines which take part in the generation of any nonzero element of the extended syndrome (the number of lines of the extended test matrix, included in the set of lines, corresponds to the positions of single and two-fold errors of the distorted code word) are determined. Further successively inspecting extended syndromes of one of the code components, arrays of isolated errors are defined, which are joined in alternative groups of isolated errors, and during decoding with a "solid" solution, the most probable correction vector chosen is that alternative group, which has the least weight and all syndromes of component codes are nullified. During decoding with a "soft" solution, that alternative group with maximum modified metric is chosen, and those elements of the systematic part of the code word of the cascade code are inverted, the number of which corresponds to the positions of nonzero elements in the correction vector.
EFFECT: realisation of an optimum decoding procedure, increased authenticity of decoding and reduced device and computational complexity and provision for decoding turbo-codes with component cyclic linear block codes.
4 cl, 2 dwg

Description

Изобретение относится к области техники связи, в частности к системам передачи информации, в которых для ее защиты от искажений в канале связи применяются каскадные коды с последовательным соединением через перемежитель циклических линейных блочных кодов, или турбо-коды с компонентными циклическими линейными блочными кодами. Изобретение может быть использовано в кодеках (кодер-декодер) систем передачи данных, а также в устройствах помехоустойчивого кодирования при передаче и хранении дискретной информации.The invention relates to the field of communication technology, in particular to information transmission systems in which cascading codes with serial connection through an interleaver of cyclic linear block codes or turbo codes with component cyclic linear block codes are used to protect it from distortion in the communication channel. The invention can be used in codecs (encoder-decoder) of data transmission systems, as well as in error-correcting coding devices for transmitting and storing discrete information.

Известен способ декодирования каскадных кодов с последовательным соединением через перемежитель компонентных циклических линейных блочных кодов [1, 3-5], который включает в себя для двухкомпонентного каскадного кода две процедуры декодирования, представляющие собой модули SISO («мягкий» вход, «мягкий» выход), и две процедуры перемежения для перемешивания «мягкой» информации, которой обмениваются процедуры декодирования. На вход первого SISO модуля поступают две последовательности: априорные сведения о последовательности информационных символов и «мягкий» выход канала связи (демодулятора), а на выходе формируются «мягкие» решения, которые является отношением апостериорных вероятностей информационных элементов кода и которые после перемежения служат априорными сведениями об информационных элементах для второго SISO модуля. Второй SISO модуль уточняет значения анализируемых информационных элементов и вычисляет свои «мягкие» оценки информационных элементов, которые после деперемежения поступают на вход первого SISO модуля, и итерационный процесс продолжается. После каждой итерации увеличивается априорная информация о каждом информационном элементе. Процесс декодирования заканчивается либо после выполнения заданного количества итераций, либо после того, как величина поправки результата декодирования достигнет определенного порогового значения.There is a method of decoding cascade codes with serial connection through an interleaver of component cyclic linear block block codes [1, 3-5], which includes two decoding procedures for a two-component cascade code, which are SISO modules (“soft” input, “soft” output) , and two interleaving procedures for mixing “soft” information exchanged by decoding procedures. The input of the first SISO module receives two sequences: a priori information about the sequence of information symbols and a “soft” output of the communication channel (demodulator), and “soft” solutions are formed at the output, which are the ratio of posterior probabilities of the information elements of the code and which, after interleaving, serve as a priori information about information elements for the second SISO module. The second SISO module refines the values of the analyzed information elements and calculates its “soft” estimates of the information elements, which, after deinterleaving, enter the input of the first SISO module, and the iterative process continues. After each iteration, a priori information about each information element is increased. The decoding process ends either after performing a given number of iterations, or after the correction value of the decoding result reaches a certain threshold value.

Основными недостатками данного способа декодирования являются его большая вычислительная сложность и большое время задержки декодирования, так как декодируется кодовое слово большой длины (несколько десятков тысяч элементов), причем для обработки искаженного кодового слова необходимо выполнить несколько итераций. Кроме того, данный способ декодирования относится к квазиоптимальным способам декодирования.The main disadvantages of this decoding method are its great computational complexity and long decoding delay time, since a long codeword is decoded (several tens of thousands of elements), and several iterations are necessary to process the distorted codeword. In addition, this decoding method relates to quasi-optimal decoding methods.

Целью предлагаемого изобретения является повышение достоверности (качества) декодирования, понижение аппаратной и вычислительной сложности декодирования, уменьшение времени задержки, и, в частности, реализация оптимальной процедуры декодирования как с «мягким», так и с «жестким» решениями.The aim of the invention is to increase the reliability (quality) of decoding, reduce the hardware and computational complexity of decoding, reduce the delay time, and, in particular, implement the optimal decoding procedure with both “soft” and “hard” solutions.

Для достижения цели предложен способ синдромного декодирования каскадного кода с последовательным соединением через перемежитель циклических линейных блочных кодов, в которых наиболее вероятное значение систематической части кодового слова формируется не в результате итеративной процедуры, включающей в себя циклическую обработку кодового слова с помощью SISO модулей, а в результате поиска оптимального вектора коррекции, который основан на представлении n-разрядного расширенного синдрома s компонентного кода в виде линейных комбинаций строк расширенной проверочной матрицы Нn,n, и представлении вектора ошибки екс, исказившей кодовое слово, в виде совокупности примитивных (неразложимых) векторов коррекции.To achieve the goal, a method is proposed for the coding of a cascade code syndrome with serial connection through an interleaver of cyclic linear block codes, in which the most probable value of the systematic part of the code word is formed not as a result of an iterative procedure involving cyclic processing of the code word using SISO modules, but as a result search for the optimal correction vector, which is based on the representation of the n-bit extended syndrome s of the component code in the form of linear combinations th rows extended check matrix H n, n, and representation of the error vector e kc distort codeword in a set of primitive (indecomposable) correction vectors.

Расширенная проверочная матрица Нn,n является транспонированной проверочной матрицей [1], у которой j-я строка состоит из коэффициентов при неизвестном полинома hj(x)=xjh(x)mod(xn+1) (где h(x)=(xn+1)/p(x) - проверочный многочлен циклического (n,k)-кода, р(х) - порождающий многочлен кода, а j=0,1, ... n-1). Транспонированная расширенная проверочная матрица Нn,n отличается от проверочной матрицы Hn,n-k [1] только тем, что в ней добавлено еще k строк, каждая из которых также является циклическим сдвигом предшествующей строки на один разряд направо. Номер строки расширенной проверочной матрицы указывает на номер искаженной позиции принятого искаженного кодового слова.The expanded verification matrix H n, n is the transposed verification matrix [1], in which the jth row consists of coefficients for the unknown polynomial h j (x) = x j h (x) mod (x n +1) (where h ( x) = (x n +1) / p (x) is the verification polynomial of the cyclic (n, k) code, p (x) is the generating polynomial of the code, and j = 0,1, ... n-1). The transposed extended verification matrix H n, n differs from the verification matrix H n, nk [1] only in that it adds k more rows, each of which is also a cyclic shift of the previous row by one digit to the right. The line number of the extended check matrix indicates the number of the distorted position of the received distorted codeword.

Примитивные векторы коррекции имеют конфигурацию однократных локализованных ошибок, цепочек локализованных ошибок, а также локализованных ошибок, имеющих конфигурацию кодовых слов компонентных кодов. Однократная локализованная ошибка это такая ошибка в кодовом слове каскадного кода, которая является единственной во всех кодовых словах компонентных кодов, которые она исказила. Цепочка локализованных ошибок - это такая последовательность ошибок в кодовом слове каскадного кода, которая имеет вес не менее двух и которая однозначно определена синдромами тех кодовых слов компонентных кодов, которые она искажает.Primitive correction vectors have a configuration of single localized errors, chains of localized errors, as well as localized errors having a configuration of code words of component codes. A single localized error is such an error in the code word of the cascading code, which is the only one in all the code words of the component codes that it has distorted. A chain of localized errors is a sequence of errors in a code word of a cascading code that has a weight of at least two and which is uniquely determined by the syndromes of those code words of component codes that it distorts.

Для декодирования каскадного кода с последовательным соединением через перемежитель циклических линейных блочных кодов предлагается способ, заключающийся в следующем.To decode a cascade code with a serial connection through an interleaver of cyclic linear block codes, a method is proposed, which consists in the following.

Для принятой возможно искаженной кодовой реализации каскадного кода (b⊕eкс), кодовое слово которого для двухкомпонентного кода представлено на фиг.1, вычисляют расширенные синдромы для каждого кодового слова компонентных кодов

Figure 00000002
(где: sj(i) - расширенный синдром j-го кодового слова i-го компонентного кода, bl(i) - j-е кодовое слово i-го компонентного кода, еj(i) - вектор ошибки, исказивший в канале связи - j-е кодовое слово i-го компонентного кода,
Figure 00000003
- расширенная проверочная матрица i-го компонентного кода), которые заносятся в таблицу (см. фиг.1). Кроме того, для каждого расширенного синдрома вычисляют вектор HNj(i), элементами которого являются номера строк расширенной проверочной матрицы, которые могли участвовать в формировании одного из (например, крайнего слева) ненулевого элемента расширенного синдрома. В векторе HNj(i) особо помечают номер строки, который соответствует номеру строки расширенного синдрома sj(i) (см. фиг.1). Номер особо помеченной строки указывает на позицию возможной однократной ошибки в bj(i)-м кодовом слове компонентного кода, а каждый непомеченный номер строки указывает на позицию одного из искаженных элементов возможной двукратной ошибки в том же bj(i)-м кодовом слове компонентного кода.For adopted possibly distorted code implementing the concatenated code (b⊕e CS) codeword for which the bicomponent code presented in Figure 1, extended calculated syndromes for each codeword component codes
Figure 00000002
(where: s j (i) is the extended syndrome of the j-th codeword of the i-th component code, b l (i) is the j-th code word of the i-th component code, e j (i) is the error vector distorted in communication channel - the j-th code word of the i-th component code,
Figure 00000003
- extended verification matrix of the i-th component code), which are entered in the table (see figure 1). In addition, for each extended syndrome, the vector HN j (i) is calculated, the elements of which are the line numbers of the extended check matrix that could participate in the formation of one of (for example, the leftmost) non-zero element of the extended syndrome. The vector HN j (i) a particularly marked line number that corresponds to the line number of extended syndrome s j (i) (see FIG. 1). The number of the especially marked line indicates the position of a possible one-time error in the b j (i) -th codeword of the component code, and each unmarked line number indicates the position of one of the distorted elements of the possible two-time error in the same b j (i) -m codeword component code.

Далее поиск вектора коррекции кодового слова каскадного кода выполняется поэтапно.Further, the search for the correction vector of the code word of the cascading code is performed in stages.

На первом этапе выполняется поиск локализованных ошибок в кодовом слове каскадного кода, которые начинаются с однократной ошибки в кодовых словах одного из компонентных кодов.At the first stage, a search is performed for localized errors in the code word of the cascading code, which begin with a single error in the code words of one of the component codes.

Для этого выбирают любой i-й компонентный код, и для каждого искаженного кодового слова (sj(i)≠0) в векторе HNj(i) находят номер особо помеченной строки, который указывает на позицию однократной ошибки в j-м кодовом слове i-го компонентного кода. После чего для всех кодовых слов компонентных кодов, которые исказила данная ошибка, сравнивают особо помеченные номера строк вектора HNg(q) с номером позиции рассматриваемой ошибки.To do this, choose any ith component code, and for each distorted codeword (s j (i) ≠ 0) in the vector HN j (i) find the number of the especially marked line, which indicates the position of a single error in the jth codeword i-th component code. Then, for all codewords of the component codes that this error has distorted, the specially marked line numbers of the vector HN g (q) are compared with the position number of the error in question.

Если номера совпали для всех компонентных кодов, то данная ошибка считается однократной локализованной ошибкой каскадного кода. Она запоминается вместе с номерами кодовых слов компонентных кодов, которые она исказила, а расширенные синдромы этих кодовых слов считаются условно нулевыми (нулевыми только для данной локализованной ошибки).If the numbers match for all component codes, then this error is considered a one-time localized error of the cascading code. It is remembered along with the codeword numbers of the component codes that it has distorted, and the extended syndromes of these codewords are considered conditionally zero (zero only for this localized error).

Если номера не совпали, например, для кодового слова bg(q) q-го компонентного кода, то переходим к поиску цепочек локализованных ошибок, которые возможно имеют двукратную ошибку в данном кодовом слове. Следует учесть, что позиция r первой ошибки двукратной ошибки в кодовом слове bg(q) известна. Она задана позицией однократной ошибки в j-м кодовом слове i-го компонентного кода. Комбинацию двукратной ошибки формируют следующим образом. Для искаженного кодового слова компонентного кода вычисляют текущий расширенный синдром sg(q)=sg(q)⊕hr и соответствующий ему вектор HNg(q), в котором номер особо помеченной строки m расширенной проверочной матрицы указывает на вторую искаженную позицию двукратной ошибки в bg(q) кодовом слове. Таким образом, построена комбинация двукратной ошибки er,g↔em,g в g-том кодовом слове q-го компонентного кода. Причем расширенный синдром sg(q) для искомой цепочки ошибок считается условно нулевым.If the numbers do not coincide, for example, for the codeword b g (q) of the qth component code, then we proceed to search for chains of localized errors that may have a double error in this codeword. It should be noted that the position r of the first double-error error in the codeword b g (q) is known. It is given by the position of a single error in the jth codeword of the ith component code. The combination of double errors is formed as follows. For the distorted codeword of the component code, the current expanded syndrome s g (q) = s g (q) ⊕h r and the corresponding vector HN g (q) are calculated in which the number of the especially marked row m of the extended verification matrix indicates the second distorted position of the double errors in the b g (q) codeword. Thus, a combination of the double error e r, g ↔ e m, g in the gth codeword of the qth component code is constructed. Moreover, the extended syndrome s g (q) for the desired chain of errors is considered conditionally zero.

Двукратная ошибка er,g↔em,g считается завершенной по m-тому направлению, если расширенные синдромы всех кодовых слов компонентных кодов, откорректированных ошибкой em,g, становятся нулевыми. Цепочку локализованных ошибок формируют до тех пор, пока не будут завершены все направления. После чего цепочка локализованных ошибок запоминается вместе с номерами кодовых слов компонентных кодов, которые она исказила, а расширенные синдромы этих кодовых слов для данной цепочки ошибок считаются условно нулевыми.A double error e r, g ↔ e m, g is considered completed in the mth direction if the extended syndromes of all codewords of component codes corrected by the error e m, g become zero. A chain of localized errors is formed until all directions are completed. After that, the chain of localized errors is stored along with the codeword numbers of the component codes that it has distorted, and the extended syndromes of these codewords for this chain of errors are considered conditionally zero.

Поиск локализованной цепочки ошибок прекращают в том случае, когда вторая ошибка em,g двукратной ошибки попадает в одно из кодовых слов компонентных кодов, которое уже имеет условно нулевой синдром для строящейся цепочки локализованных ошибок.The search for a localized error chain is terminated when the second error e m, g of a double error falls into one of the code words of the component codes, which already has a conditionally zero syndrome for the constructed chain of localized errors.

Если вторая ошибка em,g двукратной ошибки попадает в кодовое слово компонентного кода с нулевым синдромом sf(u)=0, то это кодовое слово возможно искажено ошибкой, которая имеет конфигурацию кодового слова (для циклических кодов Хемминга минимальный вес кодового слова равен трем). В этом случае вектор HNf(u) содержит позиции вторых ошибок искомых трехкратных ошибок, если исключить из рассмотрения особо помеченный номер строки. Следовательно, необходимо рассмотреть w-1 возможных комбинаций трехкратных ошибок (где w - количество ненулевых коэффициентов при неизвестном проверочного многочлена кода), у которых две позиции уже известны. Третью последнюю позицию трехкратной ошибки определяют аналогично рассмотренному выше поиску второй последней позиции двукратной ошибки.If the second error e m, g of the double error falls into the codeword of the component code with zero syndrome s f (u) = 0, then this codeword is possibly distorted by an error that has the configuration of the codeword (for cyclic Hamming codes, the minimum weight of the codeword is three ) In this case, the vector HN f (u) contains the positions of the second errors of the desired triple errors, if we exclude from the consideration the specially marked line number. Therefore, it is necessary to consider w-1 possible combinations of triplicate errors (where w is the number of nonzero coefficients with an unknown code verification polynomial), for which two positions are already known. The third last position of the triple error is determined similarly to the search above for the second last position of the double error.

После рассмотрения всех кодовых слов i-го компонентного кода с ненулевыми расширенными синдромами переходим ко второму этапу поиска локализованных ошибок.After considering all the code words of the i-th component code with non-zero extended syndromes, we proceed to the second stage of the search for localized errors.

На втором этапе выполняется поиск локализованных ошибок в кодовом слове каскадного кода, которые начинаются с двукратной ошибки в кодовых словах i-го компонентного кода. Перед выполнением поиска цепочек локализованных ошибок из векторов HNj(i) всех кодовых слов с sj(i)≠0 исключают особо помеченные номера строк. Таким образом, в векторах HNj(i) остаются только те номера строк расширенной проверочной матрицы, которые указывают на позицию одного из искаженных элементов предполагаемой двукратной ошибки кодового слова. Далее для каждого кодового слова с s(i)j≠0 формируют w-1 возможных пар комбинаций двукратных ошибок, которые могут являться началом предполагаемых цепочек локализованных ошибок. Вторую ошибку находят в соответствии с рассмотренным выше способом. После того, когда определены пары ошибок er,j↔em,j, выполняют поиск цепочек ошибок аналогично поиску локализованных ошибок в кодовом слове каскадного кода на первом этапе. Причем поиск проводят параллельно для ошибок er,j и em,j.At the second stage, a search is performed for localized errors in the code word of the cascading code, which begin with a twofold error in the code words of the ith component code. Before performing a search for chains of localized errors from vectors HN j (i) of all codewords with s j (i) ≠ 0, especially marked line numbers are excluded. Thus, in the vectors HN j (i) , only those line numbers of the extended check matrix remain that indicate the position of one of the distorted elements of the alleged two-time codeword error. Then, for each codeword with s (i) j ≠ 0, w-1 of possible pairs of double error combinations are generated, which may be the beginning of the alleged chains of localized errors. The second error is found in accordance with the above method. After the pairs of errors e r, j ↔ e m, j are determined, the search for error chains is performed similarly to the search for localized errors in the code word of the cascade code at the first stage. Moreover, the search is carried out in parallel for errors e r, j and e m, j .

После рассмотрения всех кодовых слов с ненулевым синдромом i-го компонентного кода необходимо среди найденных локализованных ошибок выделить повторяющиеся ep=em и пересекающиеся (один или несколько элементов в выбранной паре локализованных ошибок совпадают) пары локализованных ошибок.After considering all codewords with nonzero syndrome of the ith component code, it is necessary to identify repeating e p = e m and intersecting (one or more elements in the selected pair of localized errors coincide) pairs of localized errors among the found localized errors.

Для определения повторяющихся пар локализованных ошибок ep=em достаточно вычислить NK:To determine the repeated pairs of localized errors e p = e m, it suffices to calculate NK:

Figure 00000004
Figure 00000004

где

Figure 00000005
- сумма суммы по mod 2 элементов векторов А и В с одинаковыми индексами i;Where
Figure 00000005
- the sum of the sum over mod 2 of elements of vectors A and B with the same indices i;

Figure 00000006
- вектор позиций условно нулевых синдромов r-того компонентного кода для j-ой локализованной ошибки (где j=(p,m)), причем:
Figure 00000006
is the position vector of conditionally zero syndromes of the r-th component code for the j-th localized error (where j = (p, m)), and:

Figure 00000007
Figure 00000007

Если NK=0, то локализованные ошибки ep=em, а если NK≠0, то локализованные ошибки еp≠em.If NK = 0, then the localized errors are e p = e m , and if NK ≠ 0, then the localized errors are e p ≠ e m .

Для определения пересекающихся локализованных ошибок еp и em достаточно вычислить NN:To determine the overlapping localized errors e p and e m it is enough to calculate NN:

Figure 00000008
Figure 00000008

илиor

Figure 00000009
.
Figure 00000009
.

Если NN=0, то локализованные ошибки ep и em не пересекаются, а если NN≠0, то локализованные ошибки eр и em пересекаются. Позиции пересечения в r-м компонентном коде обозначены в векторе

Figure 00000010
или
Figure 00000011
ненулевыми элементами (где (А∧В) - логическое умножение элементов векторов А и В с одинаковыми индексами i).If NN = 0, then the localized errors e p and e m do not intersect, and if NN ≠ 0, then the localized errors e p and e m intersect. Intersection positions in the rth component code are indicated in vector
Figure 00000010
or
Figure 00000011
nonzero elements (where (А∧В) is the logical multiplication of elements of the vectors A and B with the same indices i).

Затем среди повторяющихся ошибок оставляем одну из них, а остальные исключаем из рассмотрения.Then, among the repeated errors, we leave one of them, and exclude the rest from consideration.

После чего определяют альтернативные группы локализованных ошибок, в которых пересекающиеся ошибки разнесены в различные группы.After that, alternative groups of localized errors are determined in which intersecting errors are spaced into different groups.

На третьем этапе выполняют поиск локализованных ошибок, имеющих конфигурацию кодовых слов i-го компонентного кода, для каждой альтернативной группы локализованных ошибок. Необходимость выполнения 3-го этапа возникает после завершения 1-го и 2-го этапов, когда все расширенные синдромы i-го компонентного кода каскадного кода становятся нулевыми (как исходно нулевые, так и условно нулевые). В этом случае особо помеченные номера строк векторов HNr(u) ненулевых расширенных синдромов других компонентных кодов либо все, либо группами указывают на одно, либо на группу кодовых слов i-го компонентного кода. Причем позиции, на которые указывают особо помеченные номера строк, образуют цепочки ошибок, имеющие конфигурацию кодового слова. Их и следует выбирать в качестве наиболее вероятных цепочек локализованных ошибок.At the third stage, they search for localized errors having the configuration of the code words of the ith component code for each alternative group of localized errors. The need to complete the 3rd stage arises after the completion of the 1st and 2nd stages, when all the extended syndromes of the i-th component code of the cascading code become zero (both initially zero and conditionally zero). In this case, the specially marked line numbers of the vectors HN r (u) of nonzero extended syndromes of other component codes either all or in groups indicate one or a group of code words of the ith component code. Moreover, the positions indicated by specially marked line numbers form error chains having a codeword configuration. They should be chosen as the most probable chains of localized errors.

В качестве оптимального вектора коррекции выбирают ту группу локализованных ошибок, которая имеет нулевые и условно нулевые синдромы для всех кодовых слов компонентных кодов и имеет наименьший вес.The group of localized errors that has zero and conditionally zero syndromes for all codewords of component codes and has the smallest weight is chosen as the optimal correction vector.

И в завершении процесса декодирования кодового слова каскадного кода инвертируются те элементы его систематической части, номера которых соответствуют позициям ненулевых элементов в векторе коррекции.And at the end of the decoding process of the cascading codeword, those elements of its systematic part are inverted whose numbers correspond to the positions of nonzero elements in the correction vector.

В том случае, когда в качестве компонентных кодов каскадного кода используют «расширенные» циклические коды для декодирования с «жестким» решением, предлагается вариант способа, описанного выше, в котором перед вычислением расширенных синдромов в кодовых словах компонентных кодов удаляют элемент расширения.In the case when “extended” cyclic codes for decoding with a “hard” solution are used as component codes of the cascade code, a variant of the method described above is proposed in which the extension element is removed in the code words of the component codes before calculating the extended syndromes.

В том случае, когда в качестве компонентных кодов каскадного кода используют «укороченные» циклические коды для декодирования с «жестким» решением предлагаются варианты способов, описанные выше, в которых перед декодированием в начало каждого кодового слова «укороченного» компонентного кода добавляют нулевые элементы, количество которых равно величине укорочения. Причем, очевидно, что добавленные в начало нулевые позиции не могут быть искажены в канале связи, так как они по нему не передавались. Этот факт позволяет сократить количество локализованных ошибок, что приводит к уменьшению вычислительной сложности декодирования.In the case when “shortened” cyclic codes are used as component codes of the cascade code for decoding with a “hard” solution, the methods described above are proposed in which zero elements are added to the beginning of each code word of the “shortened” component code, number which is equal to the value of shortening. Moreover, it is obvious that the zero positions added to the beginning cannot be distorted in the communication channel, since they were not transmitted through it. This fact reduces the number of localized errors, which leads to a decrease in the computational complexity of decoding.

В том случае, когда каскадный код декодируется с «мягким» решением предлагаются варианты способов, описанных выше, в которых для локализованной ошибки еm вычисляют модифицированную метрику vm для всех кодовых слов компонентных кодов, в которые попадают элементы локализованной ошибки em:In the case when the cascade code is decoded with a “soft” solution, variants of the methods described above are proposed in which, for the localized error e m, the modified metric v m is calculated for all codewords of the component codes into which the elements of the localized error e m fall:

Figure 00000012
Figure 00000012

илиor

Figure 00000013
Figure 00000013

где p(yj/bj,c) - условная вероятность того, что на выходе демодулятора получена величина yj при передаче по каналу связи на j-ой позиции кодового слова компонентного кода элемента с, который для двоичного кода может принимать значение 0 или 1,where p (y j / b j, c ) is the conditional probability that the value y j is obtained at the output of the demodulator when transmitting through the communication channel at the jth position the code word of the component code of element c, which for the binary code can take the value 0 or one,

еi,j - элемент локализованной ошибки, исказивший j-тый элемент кодового слова i-го компонентного кода.e i, j is a localized error element that has distorted the j-th element of the codeword of the i-th component code.

Модифицированная метрика является отношением общепринятой метрики [1-3] i-го кодового слова к метрике принятого из канала связи с «жестким» решением искаженного кодового слова. Корректируются те элементы принятого с «жестким» решением искаженного кодового слова каскадного кода, которые заданы альтернативной группой локализованных ошибок с максимальной метрикой vm и которая обнуляет все компонентные коды каскадного кода.The modified metric is the ratio of the generally accepted metric [1-3] of the i-th code word to the metric received from the communication channel with the “hard” solution of the distorted code word. Those elements of the cascaded code received with a “hard” solution are corrected that are specified by an alternative group of localized errors with a maximum metric v m and which resets all component codes of the cascade code.

В том случае, когда декодируется с «мягким» решением каскадный код с «укороченными» компонентными кодами, предлагается вариант способа, описанного выше, в котором перед декодированием в начало «укороченных» кодовых слов компонентных кодов добавляют нулевые элементы, количество которых равно величине укорочения, с условными вероятностями p(yj/bj,0)=1 и p(yj/bj,1)=0.In the case when a cascade code with “shortened” component codes is decoded with a “soft” solution, a variant of the method described above is proposed, in which, before decoding to the beginning of the “shortened” code words of the component codes, zero elements are added, the number of which is equal to the shortening value, with conditional probabilities p (y j / b j, 0 ) = 1 and p (y j / b j, 1 ) = 0.

Предлагаемые технические решения позволяют решить задачу оптимального синдромного декодирования каскадного кода с последовательным соединением через перемежитель циклических линейных блочных кодов как с «жестким», так и с «мягким» решениями с меньшей вычислительной и аппаратной сложностью, чем известные декодеры [1-5]. Кроме того, предлагаемый способ может быть применен также при синдромном декодировании как с «жестким», так и с «мягким» решением турбо-кодов с компонентными циклическими линейными блочными кодами.The proposed technical solutions allow us to solve the problem of optimal syndromic decoding of a cascade code with serial connection through an interleaver of cyclic linear block codes with both hard and soft solutions with less computational and hardware complexity than known decoders [1-5]. In addition, the proposed method can also be applied in syndromic decoding with both “hard” and “soft” solutions of turbo codes with component cyclic linear block block codes.

Изобретение поясняется чертежом (фиг.2), на котором изображена структурная схема оптимального синдромного декодера каскадного кода с последовательным соединением через перемежитель циклических линейных блочных кодов.The invention is illustrated in the drawing (figure 2), which shows a structural diagram of an optimal syndromic decoder cascade code with a serial connection through an interleaver of cyclic linear block codes.

Синдромный декодер каскадного кода с последовательным соединением через перемежитель циклических линейных блочных кодов содержит: блок вычисления расширенного синдрома 20, блок поиска ненулевого элемента 40, блок формирования номеров строк 60, блок хранения таблицы 80, 1-й блок поиска цепочек локализованных ошибок 100, 2-й блок поиска цепочек локализованных ошибок 120, блок хранения локализованных ошибок 140, блок формирования альтернативных групп локализованных ошибок 160, 3-й блок поиска цепочек локализованных ошибок 180, блок выбора вектора коррекции 200, блок формирования декодированной информации 220.A cascade code syndromic decoder with serial connection through an interleaver of cyclic linear block codes contains: an extended syndrome calculation unit 20, a non-zero element search unit 40, a line number generation unit 60, a table storage unit 80, a first localized error chain search unit 100, 2- the first block of searching for chains of localized errors 120, the block for storing localized errors of 140, the block for generating alternative groups of localized errors 160, the third block for searching for chains of localized errors 180, the block for selecting the vector of correl section 200, a unit for generating decoded information 220.

Блок вычисления расширенного синдрома 20 предназначен для вычисления расширенных синдромов кодовых слов компонентных кодов каскадного кода sr(u) по формуле sr(u)=(br(u)⊕er(u))×Нn,n.The extended syndrome calculation unit 20 is designed to calculate the extended syndromes of the code words of the cascade code component codes s r (u) by the formula s r (u) = (b r (u) ⊕e r (u) ) × H n, n .

Блок поиска ненулевого элемента 40 предназначен для определения позиции N любого ненулевого элемента расширенного синдрома sr(u). Он может быть реализован в виде сдвигового регистра, у которого анализируется старший разряд на наличие 0. В этом случае в сдвиговый регистр заносится текущий синдром sr(u) и выполняются его сдвиги в сторону старшего разряда до тех пор, пока в нем не появится ненулевой элемент. Количество сдвигов является номером позиции одного из ненулевых элементов N, которое фиксируется счетчиком.The non-zero element search block 40 is designed to determine the position N of any non-zero element of the expanded syndrome s r (u) . It can be implemented in the form of a shift register, in which the leading digit for the presence of 0 is analyzed. In this case, the current syndrome s r (u) is entered into the shift register and its shifts are performed towards the senior bit until a nonzero one appears in it element. The number of shifts is the position number of one of the nonzero elements N, which is fixed by the counter.

Блок формирования номеров строк 60 предназначен для определения номеров строк расширенной проверочной матрицы Нn,n, у которых один из ненулевых элементов расположен на позиции N. Блок 60 может быть выполнен в виде сдвигового регистра, у которого анализируется старший разряд на наличие 0, и счетчиков номеров строк, количество которых равно w (количество ненулевых коэффициентов проверочного многочлена h(x)). В сдвиговый регистр заносится N-й столбец расширенной проверочной матрицы Нn,n, который сдвигается в сторону старшего разряда до тех пор, пока он не обнулится. Счетчики номеров строк подсчитывают количество сдвигов и при появлении ненулевого элемента в старшем разряде регистра сдвига последовательно отключаются. При обнулении регистра сдвига номера искомых строк расширенной проверочной матрицы соответствуют состояниям счетчиков.The block for generating line numbers 60 is used to determine the line numbers of the extended check matrix H n, n , for which one of the nonzero elements is located at position N. Block 60 can be made in the form of a shift register, in which the highest order for the presence of 0 is analyzed, and counters line numbers, the number of which is equal to w (the number of nonzero coefficients of the verification polynomial h (x)). The Nth column of the expanded verification matrix H n, n is entered into the shift register, which is shifted towards the high order until it is reset to zero. Line number counters count the number of shifts and when a nonzero element appears in the high order of the shift register, they are sequentially disabled. When the shift register is reset to zero, the numbers of the required rows of the extended verification matrix correspond to the counters.

Блок хранения таблицы 80 предназначен для хранения расширенных синдромов sr(u) и соответствующих им векторов HNr(u), в которых указаны номера строк расширенной проверочной матрицы Нn,n, принимавших участие в формировании синдрома sr(u), а при декодировании с «мягким» решением и метрик vr,u. Блок 80 представляет собой оперативное запоминающее устройство, у которого каждая строка состоит из двух (трех) полей для хранения текущих векторов sr(u), HNr(u), а при декодировании с «мягким» решением и метрики vr,u.The storage unit of table 80 is designed to store the expanded syndromes s r (u) and the corresponding vectors HN r (u) , which indicate the row numbers of the extended check matrix H n, n that took part in the formation of the syndrome s r (u) , and when soft decision decoding and metrics v r, u . Block 80 is a random access memory device, in which each row consists of two (three) fields for storing the current vectors s r (u) , HN r (u) , and when decoding with a “soft” solution, the metrics v r, u .

1-й блок поиска цепочек локализованных ошибок 100 предназначен для поиска локализованных ошибок в кодовом слове каскадного кода, которые начинаются с однократной ошибки в кодовых словах i-го компонентного кода, в соответствии с действиями, которые предусмотрены для 1 этапа поиска локализованных ошибок предложенного способа.The 1st block of searching for chains of localized errors 100 is designed to search for localized errors in the code word of a cascading code that begin with a single error in the code words of the i-th component code, in accordance with the steps that are provided for stage 1 of searching for localized errors of the proposed method.

2-й блок поиска цепочек локализованных ошибок 120 предназначен для поиска локализованных ошибок в кодовом слове каскадного кода, которые начинаются с двукратной ошибки в кодовых словах i-го компонентного кода, в соответствии с действиями, которые предусмотрены для 2 этапа поиска локализованных ошибок предложенного способа.The 2nd block of searching for chains of localized errors 120 is designed to search for localized errors in the code word of the cascading code that begin with a double error in the code words of the i-th component code, in accordance with the steps that are provided for the 2 stages of searching for localized errors of the proposed method.

Блок хранения локализованных ошибок 140 предназначен для хранения локализованных ошибок em и соответствующих им векторов позиций условно нулевых синдромов Nm. Блок 160 может быть реализован в виде оперативного запоминающего устройства, у которого каждая строка состоит из двух (трех) полей для хранения локализованных ошибок em и векторов Nm, а при декодировании с «мягким» решением и метрики vm.The localized error storage unit 140 is designed to store localized errors e m and their corresponding position vectors of conditionally zero syndromes N m . Block 160 can be implemented in the form of random access memory, in which each line consists of two (three) fields for storing localized errors e m and vectors N m , and, when decoding with a “soft” solution, the metric v m .

Блок формирования альтернативных групп локализованных ошибок 160 предназначен для выявления и удаления повторяющихся ошибок, выявления пересекающихся локализованных ошибок и формирования альтернативных групп локализованных ошибок, в которых пересекающиеся ошибки разносятся в различные группы. Блок 160 может быть реализован в виде спецвычислителя для определения повторяющихся и пересекающихся локализованных ошибок, содержащего оперативное запоминающее устройство, у которого каждая строка состоит из двух (трех) полей для хранения групп локализованных ошибок, количества условно нулевых расширенных синдромов, соответствующих каждой группе, а при декодировании с «мягким» решением и метрики для каждой из групп.The block for generating alternative groups of localized errors 160 is designed to detect and remove duplicate errors, identify overlapping localized errors, and generate alternative groups of localized errors in which intersecting errors are distributed in different groups. Block 160 can be implemented as a special calculator for determining repeated and intersecting localized errors, containing random access memory, in which each line consists of two (three) fields for storing groups of localized errors, the number of conditionally zero extended syndromes corresponding to each group, and when soft decision decoding and metrics for each group.

3-й блок поиска цепочек локализованных ошибок 180 предназначен для поиска локализованных ошибок, имеющих конфигурацию кодовых слов i-го компонентного кода, для каждой альтернативной группы локализованных ошибок, сформированных на втором этапе, в соответствии с действиями, которые предусмотрены для 3 этапа поиска локализованных ошибок предложенного способа.The 3rd block of searching for localized error chains 180 is designed to search for localized errors having the configuration of the code words of the i-th component code for each alternative group of localized errors generated in the second stage, in accordance with the steps that are provided for the 3 stages of searching for localized errors the proposed method.

Блок выбора вектора коррекции 200 предназначен для определения оптимального вектора коррекции искаженного каскадного кода.The correction vector selection block 200 is designed to determine the optimal correction vector of the distorted cascading code.

Блок формирования декодированной информации 220 предназначен для инвертирования элементов в систематической части кодового слова каскадного кода, которые указаны в векторе коррекции, и передачи на выход декодера откорректированной систематической части кодового слова каскадного кода.The unit for generating decoded information 220 is designed to invert the elements in the systematic part of the cascade code word, which are indicated in the correction vector, and transmit to the decoder output the corrected systematic part of the cascade code word.

Предлагаемое устройство работает следующим образом.The proposed device operates as follows.

Принятое, возможно искаженное в канале связи, кодовое слово (b⊕eкс) поступает с выхода канала связи (демодулятора) по шине 10 на блок вычисления расширенного синдрома 20, а по шине 11 на блок формирования декодированной информации 220.The received, possibly distorted in the communication channel, code word (b⊕e ks ) is received from the output of the communication channel (demodulator) via bus 10 to the extended syndrome calculation unit 20, and via bus 11 to the decoded information generation unit 220.

Если все вычисленные синдромы в блоке вычисления расширенного синдрома кодовых слов компонентных кодов 20 равны нулю, то кодовое слово каскадного кода не искажено и информация об этом передается по шине 32 в блок формирования декодированной информации 220, в котором выделяется систематическая часть кодового слова и по шине 230 поступает на выход декодера. На этом процесс декодирования кодового слова заканчивается.If all the syndromes calculated in the extended codeword syndrome calculation unit for component codes 20 are equal to zero, then the cascading codeword is not distorted and information about this is transmitted via bus 32 to the decoded information generation unit 220, in which the systematic part of the codeword is allocated and via bus 230 arrives at the output of the decoder. This completes the process of decoding the code word.

Если же хотя бы один из расширенных синдромов кодовых слов компонентных кодов не является нулевым вектором, то по шине 31 он поступает в блок хранения таблицы 80, а по шине 30 в блок поиска ненулевого элемента 40, в котором определяется любая ненулевая позиция расширенного синдрома и по шине 50 передается в блок формирования номеров строк 60.If at least one of the extended syndromes of the code words of the component codes is not a zero vector, then via bus 31 it enters the storage unit of table 80, and through bus 30 to the search unit of a nonzero element 40, in which any nonzero position of the extended syndrome is determined by the bus 50 is transmitted to the line number generating unit 60.

Блок формирования номеров строк 60 находит номера тех строк расширенной проверочной матрицы, которые содержат ненулевой элемент в позиции, полученной по шине 50. Сформированный вектор с номерами строк расширенной проверочной матрицы передается по шине 70 в блок хранения таблицы 80.The line number generation unit 60 finds the numbers of those lines of the extended check matrix that contain a nonzero element at the position obtained via bus 50. The generated vector with the line numbers of the extended check matrix is transmitted via bus 70 to the storage unit of table 80.

По завершении вычисления расширенных синдромов для всех кодовых слов компонентных кодов и занесения их вместе со своими векторами с номерами строк расширенной проверочной матрицы в блок хранения таблицы 80 запускается 1-ый блок поиска цепочек локализованных ошибок 100.Upon completion of the calculation of extended syndromes for all codewords of component codes and entering them together with their vectors with row numbers of the extended verification matrix in the storage unit of table 80, the first block for searching for chains of localized errors 100 is launched.

1-й блок поиска цепочек локализованных ошибок 100 последовательно считывает по шине 90 расширенные синдромы кодовых слов одного из компонентных кодов и выполняет последовательность действий, которые предусматривает 1 этап поиска локализованных ошибок, изложенный в предложенном выше способе. В результате выявляются локализованные ошибки в кодовом слове каскадного кода, которые начинаются с однократной ошибки в кодовых словах выбранного компонентного кода, которые с вектором позиций условно нулевых расширенных синдромов данной локализованной ошибки передаются по шине 110 в блок хранения локализованных ошибок 140. После того как будет завершен просмотр всех расширенных синдромов кодовых слов выбранного компонентного кода, запускается 2-ой блок поиска цепочек локализованных ошибок 120.The 1st block of searching for chains of localized errors 100 sequentially reads along the bus 90 extended codeword syndromes of one of the component codes and performs a sequence of actions that involves the 1st stage of searching for localized errors described in the above method. As a result, localized errors are detected in the codeword of the cascading code, which begin with a one-time error in the codewords of the selected component code, which with the position vector of conditionally zero extended syndromes of this localized error are transmitted via bus 110 to the localized error storage unit 140. After it is completed viewing all extended codeword syndromes of the selected component code, the second block of searching for chains of localized errors 120 starts.

2-й блок поиска цепочек локализованных ошибок 120 последовательно считывает по шине 91 расширенные синдромы кодовых слов выбранного компонентного кода и выполняет последовательность действий, которые предусматривает 2-ой этап поиска локализованных ошибок, изложенный в предложенном выше способе. В результате выявляются локализованные ошибки в кодовом слове каскадного кода, которые начинаются с двукратной ошибки в кодовых словах выбранного компонентного кода. Локализованные ошибки вместе с вектором позиций условно нулевых расширенных синдромов передаются по шине 130 в блок хранения локализованных ошибок 140. После того как будет завершен просмотр всех расширенных синдромов кодовых слов выбранного компонентного кода, запускается блок формирования альтернативных групп локализованных ошибок 160.The 2nd block of searching for chains of localized errors 120 sequentially reads through the bus 91 extended codeword syndromes of the selected component code and performs a sequence of actions that involves the 2nd stage of searching for localized errors described in the above method. As a result, localized errors in the code word of the cascading code are detected, which begin with a twofold error in the code words of the selected component code. Localized errors along with the position vector of conditionally zero extended syndromes are transmitted via bus 130 to the localized error storage unit 140. After the viewing of all extended codeword syndromes of the selected component code is completed, the block for generating alternative groups of localized errors 160 is launched.

Блок формирования альтернативных групп локализованных ошибок 160 по шине 150 последовательно просматривает локализованные ошибки, хранящиеся в блоке хранения локализованных ошибок 140, удаляет повторяющиеся локализованные ошибки и формирует альтернативные группы локализованных ошибок с учетом того, что найденные пересекающиеся ошибки должны входить в различные группы. Для каждой группы локализованных ошибок в блоке 160 вычисляется количество условно нулевых синдромов и их позиции, которые вместе со своей группой локализованных ошибок сохраняются в запоминающем устройстве блока 160..The block for generating alternative groups of localized errors 160 via bus 150 sequentially scans for localized errors stored in the block for storing localized errors 140, removes repeated localized errors and generates alternative groups of localized errors, taking into account the fact that the found intersecting errors must be included in different groups. For each group of localized errors in block 160, the number of conditionally zero syndromes and their positions are calculated, which, together with their group of localized errors, are stored in the storage device of block 160 ..

По завершении формирования альтернативных групп локализованных ошибок запускается 3-ий блок поиска цепочек локализованных ошибок 180. 3-ий блок поиска цепочек локализованных ошибок 180 последовательно считывает по шине 170 из блока формирования альтернативных групп локализованных ошибок 160 группы локализованных ошибок. Для каждой группы локализованных ошибок модифицируется таблица синдромов, поступающая по шине 92 из блока хранения таблицы 80, с учетом условно нулевых синдромов и выполняет последовательность действий, которую предусматривает 3-ий этап поиска локализованных ошибок, изложенный в предложенном выше способе. В результате выявляются локализованные ошибки, которые имеют конфигурацию кодовых слов, в кодовых словах выбранного компонентного кода. Вновь полученные локализованные ошибки включаются в группу и вместе с количеством условно нулевых синдромов по шине 190 возвращаются в блок формирования альтернативных групп локализованных ошибок 160.Upon completion of the formation of alternative groups of localized errors, the third block for searching for chains of localized errors 180 is launched. The third block for searching for chains of localized errors 180 sequentially reads 160 groups of localized errors from the block for generating alternative groups of localized errors 160. For each group of localized errors, the syndrome table is modified, coming on the bus 92 from the storage unit of table 80, taking into account conditionally zero syndromes and performs the sequence of actions that involves the 3rd stage of the search for localized errors described in the above method. As a result, localized errors that have a codeword configuration in the codewords of the selected component code are detected. The newly received localized errors are included in the group and, together with the number of conditionally zero syndromes via bus 190, are returned to the block for generating alternative groups of localized errors 160.

После того как будет завершен просмотр всех групп локализованных ошибок, запускается блок выбора вектора коррекции 200, который по шине 171 последовательно считывает группы локализованных ошибок и выбирает при декодировании с «жестким» решением ту, которая содержит все нулевые и условно нулевые синдромы кодовых слов компонентных кодов и имеет наименьший вес. Далее выбранная группа локализованных ошибок по шине 210 поступает в блок формирования декодированной информации 220, в котором инвертируются те элементы в систематической части кодового слова каскадного кода, которые указаны в локализованной группе ошибок. Откорректированная систематическая часть кодового слова каскадного кода по шине 230 поступает на выход декодера.After the viewing of all groups of localized errors has been completed, a block for selecting a correction vector 200 is started, which, on the bus 171, sequentially reads groups of localized errors and selects, when decoding with a “hard” solution, one that contains all zero and conditionally zero codeword syndromes of component codes and has the smallest weight. Next, the selected group of localized errors via bus 210 enters the block for generating decoded information 220, in which those elements in the systematic part of the code word of the cascade code that are indicated in the localized group of errors are inverted. The adjusted systematic part of the cascading codeword is sent to the decoder via bus 230.

Для декодирования каскадного кода с «укороченными» кодовыми словами компонентных кодов другим конструктивным вариантом является модификация блока вычисления расширенного синдрома 20, в котором перед вычислением расширенных синдромов «укороченных» кодовых слов компонентных кодов sr(u) в начало каждого кодового слова добавляют нулевые элементы (при декодировании с «мягким» решением с условными вероятностями p(yj/bj,0)=1 и р(yj/bj,1)=0), количество которых равно величине укорочения кода. Кроме того, в 1-м блоке поиска цепочек локализованных ошибок 100, во 2-м блоке поиска цепочек локализованных ошибок 120 и в 3-м блоке поиска цепочек локализованных ошибок 180, учитывается тот факт, что локализованная ошибка не может содержать позиции элементов, добавленных в блоке 20. Данное конструктивное решение позволяет не только декодировать каскадные коды с «укороченными» компонентными кодами, но и повысить быстродействие декодера.For decoding a cascade code with "shortened" code words of component codes, another design option is to modify the extended syndrome 20 calculation unit, in which zero elements are added to the beginning of each code word before calculating the extended syndromes of "shortened" code words of component codes s r (u) ( when decoding with a “soft” solution with conditional probabilities p (y j / b j, 0 ) = 1 and p (y j / b j, 1 ) = 0), the number of which is equal to the amount of code shortening. In addition, in the 1st block of searching for chains of localized errors 100, in the 2nd block of searching for chains of localized errors 120 and in the 3rd block of searching for chains of localized errors 180, the fact that a localized error cannot contain the positions of elements added in block 20. This design solution allows not only to decode cascading codes with "shortened" component codes, but also to increase the speed of the decoder.

Для декодирования каскадного кода с «расширенными» кодовыми словами компонентных кодов другим конструктивным вариантом является модификация блока вычисления расширенного синдрома 20, в котором перед вычислением расширенных синдромов кодовых слов компонентных кодов sr(u) удаляют последний элемент (элемент расширения или элемент четности кодового слова) в кодовых словах «расширенных» компонентных кодах. При декодировании с «жестким» решение данный элемент более ни в одном из блоков не учитывается. При декодировании с «мягким» решением условные вероятности элемента расширения используются при вычислении метрик в блок формирования альтернативных групп локализованных ошибок 160. Данное конструктивное решение позволяет декодировать каскадные коды с «расширенными» компонентными кодами.To decode a cascade code with “extended” code words for component codes, another design option is to modify the extended syndrome calculation unit 20, in which the last element (extension element or codeword parity element ) is deleted before computing the extended syndromes of component code words s r (u ) in the code words for “advanced” component codes. When decoding with a “hard” solution, this element is not taken into account in any of the blocks. When decoding with a “soft” solution, the conditional probabilities of the extension element are used in calculating the metrics in the block for generating alternative groups of localized errors 160. This constructive solution allows decoding cascading codes with “extended” component codes.

Для декодирования каскадного кода с «мягким» решением другим конструктивным вариантом является модификация блока вычисления расширенного синдрома 20, который перед вычислением расширенных синдромов компонентных кодов формирует кодовое слово каскадного кода с «жестким» решением. В 1-м блоке поиска цепочек локализованных ошибок 100, во 2-м блоке поиска цепочек локализованных ошибок 120 и в 3-м блоке поиска цепочек локализованных ошибок 180, в первую очередь рассматривают наименее достоверные позиции кодовых слов компонентных кодов, что приведет к повышению быстродействия декодера. В блоке формирования альтернативных групп локализованных ошибок 160 вычисляют метрику для каждой альтернативной группы локализованных ошибок, которая является суммой метрик кодовых слов компонентных кодов, искаженных данной группой локализованных ошибок. В блоке выбора вектора коррекции 200 в качестве оптимального вектора ошибки выбирается та группа локализованных ошибок, которая имеет максимальную метрику и имеет все нулевые или условно нулевые синдромы.For decoding a cascade code with a “soft” solution, another constructive option is to modify the extended syndrome calculation unit 20, which, before computing the extended syndromes of component codes, generates a cascade code code word with a “hard” solution. In the 1st block of searching for chains of localized errors 100, in the 2nd block of searching for chains of localized errors 120 and in the 3rd block of searching for chains of localized errors 180, the least reliable positions of the code words of component codes are considered, which will lead to higher performance decoder. In the block for generating alternative groups of localized errors 160, a metric is calculated for each alternative group of localized errors, which is the sum of the metrics of the code words of the component codes distorted by this group of localized errors. In the block of selection of the correction vector 200, the group of localized errors that has the maximum metric and has all zero or conditionally zero syndromes is selected as the optimal error vector.

Реализация описанного устройства может быть аппаратной, программной или аппаратно-программной и использоваться как для двоичных, так и q-ичных кодов.The implementation of the described device can be hardware, software or hardware-software and can be used for both binary and q-ary codes.

Достигаемым техническим результатом предлагаемого способа декодирования каскадного кода с последовательным соединением через перемежитель циклических линейных блочных кодов является повышение достоверности (качества) декодирования с «мягким» решением, повышение его быстродействия, уменьшения аппаратной сложности и уменьшения времени задержки декодирования по сравнению с известными декодерами [1-3], кроме того, он является оптимальным способом декодирования как с «жестким», так и с и «мягким» решением. Предлагаемый синдромный декодер как с «жестким», так и с «мягким» решением может быть с успехом применен для декодирования турбо-кодов с компонентными циклическими линейными блочными кодами.Achievable technical result of the proposed method for decoding a cascade code with serial connection through an interleaver of cyclic linear block codes is to increase the reliability (quality) of decoding with a “soft” solution, increase its speed, reduce hardware complexity and reduce decoding delay time compared to known decoders [1- 3], in addition, it is an optimal decoding method with both a “hard” and a “soft” solution. The proposed syndromic decoder with both a “hard” and a “soft” solution can be successfully applied for decoding turbo codes with component cyclic linear block block codes.

Список литературыBibliography

1. Морелос-Сарагоса Р. Искусство помехоустойчивого кодирования. Методы, алгоритмы, применение: Пер. с англ. В.Б.Афанасьева. - М.: Техносфера, 2005. - 320 с.1. Morelos-Zaragoza R. The art of error-correcting coding. Methods, Algorithms, Application: Per. from English V.B.Afanasyeva. - M .: Technosphere, 2005 .-- 320 p.

2. Витерби А.Д., Омура Дж.К. Принципы цифровой связи и кодирования: Пер. с англ. - М.: Радио и связь, 1982.2. Viterbi A.D., Omura J.K. The principles of digital communication and coding: Per. from English - M.: Radio and Communications, 1982.

3. Мак-Вильямс Ф.Дж., Слоэн Н.Дж.А. Теория кодов, исправляющих ошибки: Пер. с англ. - М.: Связь, 1979.3. Mc-Williams F.J., Sloan N.J.A. Theory of error correction codes: Per. from English - M.: Communication, 1979.

4. Карташевский В.Г., Мишин Д.В. Прием кодированных сигналов в каналах с памятью. - М.: Радио и связь, 2004.4. Kartashevsky V.G., Mishin D.V. Reception of encoded signals in channels with memory. - M .: Radio and communications, 2004.

5. Золотарев В.В., Овечкин Г.В. Помехоустойчивое кодирование. Методы и алгоритмы: Справочник./Под ред. чл. кор. РАН Ю.Б.Зубарева. - М.: Горячая линия. - Телеком, 2004.5. Zolotarev VV, Ovechkin G.V. Robust coding. Methods and Algorithms: Reference. / Ed. tsp box RAS Yu.B. Zubarev. - M .: Hot line. - Telecom, 2004.

Claims (4)

1. Способ декодирования каскадного кода с последовательным соединением через перемежитель циклических линейных блочных кодов, заключающийся в том, что принятую кодовую последовательность разделяют на компонентные коды и выполняют итерационное декодирование каждого компонентного кода с помощью декодера с «мягким» входом и «мягким» выходом, отличающийся тем, что принятую кодовую последовательность разделяют на компонентные коды, вычисляют расширенные синдромы для каждого кодового слова компонентных кодов, находят локализованные ошибки, из которых формируют альтернативные группы локализованных ошибок, причем для каждой группы локализованных ошибок вычисляют метрику, которая при декодировании с "жестким" решением является ее весом, далее для коррекции наиболее вероятной ошибки каскадного кода выбирают альтернативную группу локализованных ошибок, которая обнуляет все синдромы компонентных кодов и имеет минимальную метрику, затем инвертируют элементы систематической части кодового слова каскадного кода, номера которых соответствуют позициям ненулевых элементов альтернативной группы локализованных ошибок.1. The method of decoding a cascade code with a serial connection through an interleaver of cyclic linear block codes, namely, that the received code sequence is divided into component codes and iteratively decodes each component code using a decoder with a “soft” input and a “soft” output, characterized the fact that the received code sequence is divided into component codes, extended syndromes are calculated for each codeword of the component codes, and localized errors are found bqs from which alternative groups of localized errors are formed, moreover, for each group of localized errors, a metric is calculated, which, when decoding with a “hard” solution, is its weight, then, to correct the most probable cascade code error, an alternative group of localized errors is selected that resets all component codes and has a minimum metric, then invert the elements of the systematic part of the code word of the cascading code, the numbers of which correspond to the positions of nonzero elements an alternative group of localized errors. 2. Способ по п.1, отличающийся тем, что при декодировании с «жестким» решением каскадного кода с "укороченными" компонентными кодами в начало каждого кодового слова добавляются нулевые элементы, количество которых равно величине укорочения.2. The method according to claim 1, characterized in that when decoding with a “hard” solution of a cascade code with "shortened" component codes, zero elements are added to the beginning of each code word, the number of which is equal to the shortening value. 3. Способ декодирования каскадного кода с последовательным соединением через перемежитель циклических линейных блочных кодов, заключающийся в том, что принятую кодовую последовательность разделяют на компонентные коды и выполняют итерационное декодирование каждого компонентного кода с помощью декодера с «мягким» входом и «мягким» выходом, отличающийся тем, что принятую кодовую последовательность разделяют на компонентные коды, вычисляют расширенные синдромы для каждого кодового слова компонентных кодов, находят цепочки локализованных ошибок, из которых формируют альтернативные группы локализованных ошибок, причем для каждой группы локализованных ошибок вычисляют метрику, которая при декодировании с "мягким" решением является модифицированной метрикой, далее для коррекции наиболее вероятной ошибки каскадного кода выбирают альтернативную группу локализованных ошибок, которая обнуляет все синдромы компонентных кодов и имеет максимальную метрику, затем инвертируют элементы систематической части кодового слова каскадного кода, номера которых соответствуют позициям ненулевых элементов альтернативной группы локализованных ошибок.3. A method for decoding a cascade code with a serial connection through an interleaver of cyclic linear block codes, namely, that the received code sequence is divided into component codes and iteratively decodes each component code using a decoder with a “soft” input and a “soft” output, characterized the fact that the received code sequence is divided into component codes, extended syndromes are calculated for each codeword of the component codes, and localization chains are found errors, from which alternative groups of localized errors are formed, moreover, for each group of localized errors, a metric is calculated, which, when decoding with a “soft” solution, is a modified metric, then, to correct the most probable cascade code error, an alternative group of localized errors is selected, which resets all syndromes component codes and has a maximum metric, then invert the elements of the systematic part of the code word of the cascading code, the numbers of which correspond to nitions of nonzero elements of an alternative group of localized errors. 4. Способ по п.3, отличающийся тем, что при декодировании с «мягким» решением каскадного кода с "укороченными" компонентными кодами в начало каждого кодового слова добавляют нулевые элементы, количество которых равно величине укорочения, с условными вероятностями, равными единице.4. The method according to claim 3, characterized in that when decoding with a “soft” solution of a cascade code with “shortened” component codes, zero elements are added to the beginning of each codeword, the number of which is equal to the value of shortening, with conditional probabilities equal to one.
RU2006141315/09A 2006-11-23 2006-11-23 Method of decoding serial cascade code (versions) RU2340091C2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
RU2006141315/09A RU2340091C2 (en) 2006-11-23 2006-11-23 Method of decoding serial cascade code (versions)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2006141315/09A RU2340091C2 (en) 2006-11-23 2006-11-23 Method of decoding serial cascade code (versions)

Publications (2)

Publication Number Publication Date
RU2006141315A RU2006141315A (en) 2008-06-10
RU2340091C2 true RU2340091C2 (en) 2008-11-27

Family

ID=39580863

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2006141315/09A RU2340091C2 (en) 2006-11-23 2006-11-23 Method of decoding serial cascade code (versions)

Country Status (1)

Country Link
RU (1) RU2340091C2 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2485683C1 (en) * 2012-04-02 2013-06-20 Открытое акционерное общество "Калужский научно-исследовательский институт телемеханических устройств" Decoding device with soft decisions for double-stage cascade code
RU2541844C1 (en) * 2013-10-28 2015-02-20 Федеральное Государственное Унитарное Предприятие Ордена Трудового Красного Знамени Научно-Исследовательский Институт Радио (Фгуп Ниир) Method of decoding production code using weight ordered adjacent class of error vectors and apparatus therefor
RU2575394C1 (en) * 2014-07-22 2016-02-20 Федеральное Государственное Унитарное Предприятие Ордена Трудового Красного Знамени Научно-Исследовательский Институт Радио (Фгуп Ниир) Method of decoding cyclic codes with "hard" pointer vector solution and device therefor

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2485683C1 (en) * 2012-04-02 2013-06-20 Открытое акционерное общество "Калужский научно-исследовательский институт телемеханических устройств" Decoding device with soft decisions for double-stage cascade code
RU2541844C1 (en) * 2013-10-28 2015-02-20 Федеральное Государственное Унитарное Предприятие Ордена Трудового Красного Знамени Научно-Исследовательский Институт Радио (Фгуп Ниир) Method of decoding production code using weight ordered adjacent class of error vectors and apparatus therefor
RU2575394C1 (en) * 2014-07-22 2016-02-20 Федеральное Государственное Унитарное Предприятие Ордена Трудового Красного Знамени Научно-Исследовательский Институт Радио (Фгуп Ниир) Method of decoding cyclic codes with "hard" pointer vector solution and device therefor

Also Published As

Publication number Publication date
RU2006141315A (en) 2008-06-10

Similar Documents

Publication Publication Date Title
US4868828A (en) Architecture for time or transform domain decoding of reed-solomon codes
US6751770B2 (en) Decoder for iterative decoding of binary cyclic codes
US9214958B2 (en) Method and decoder for processing decoding
US5440570A (en) Real-time binary BCH decoder
US8458560B2 (en) Systems and methods for efficient parallel implementation of burst error correction codes
US5657331A (en) Method and apparatus for the generation of simple burst error correcting cyclic codes for use in burst error trapping decoders
US5430739A (en) Real-time Reed-Solomon decoder
JP2002526965A (en) Turbo product code decoder
US20030188253A1 (en) Method for iterative hard-decision forward error correction decoding
KR20040101743A (en) Apparatus and method for decoding of ldpc in a communication system
WO2007034870A1 (en) Decoding device, and receiving device
US10439643B2 (en) Reed-Solomon decoders and decoding methods
US8631307B2 (en) Method for encoding and/or decoding multimensional and a system comprising such method
RU2340091C2 (en) Method of decoding serial cascade code (versions)
Yathiraj et al. Implementation of BCH code (n, k) encoder and decoder for multiple error correction control
RU2340088C2 (en) Syndrome decoding method of decoding recurrent code (versions)
US20150007000A1 (en) Additional Error Correction Apparatus and Method
EP0329775B1 (en) High bandwidth reed-solomon encoding, decoding and error correcting circuit and method
RU2485683C1 (en) Decoding device with soft decisions for double-stage cascade code
RU2450464C1 (en) Code frame synchronisation apparatus with integrated soft and hard decisions
RU2340090C2 (en) Method of decoding turbo-code (versions)
US9236890B1 (en) Decoding a super-code using joint decoding of underlying component codes
EP4205284A1 (en) Staircase polar encoding and decoding
RU2428801C1 (en) Device of code cycle synchronisation with soft decisions
Farrell Code structure and decoding complexity

Legal Events

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

Effective date: 20091124