RU2337478C2 - Decoding of highly excessive code with parity check, using multithreshold message transfer - Google Patents

Decoding of highly excessive code with parity check, using multithreshold message transfer Download PDF

Info

Publication number
RU2337478C2
RU2337478C2 RU2006138223/09A RU2006138223A RU2337478C2 RU 2337478 C2 RU2337478 C2 RU 2337478C2 RU 2006138223/09 A RU2006138223/09 A RU 2006138223/09A RU 2006138223 A RU2006138223 A RU 2006138223A RU 2337478 C2 RU2337478 C2 RU 2337478C2
Authority
RU
Russia
Prior art keywords
codeword
reliability
threshold
bit
parity
Prior art date
Application number
RU2006138223/09A
Other languages
Russian (ru)
Other versions
RU2006138223A (en
Inventor
Андрей Владимирович БЕЛОГОЛОВЫЙ (RU)
Андрей Владимирович БЕЛОГОЛОВЫЙ
Евгений Аврамович КРУК (RU)
Евгений Аврамович КРУК
Петр Владимирович ТРИФОНОВ (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 RU2006138223/09A priority Critical patent/RU2337478C2/en
Publication of RU2006138223A publication Critical patent/RU2006138223A/en
Application granted granted Critical
Publication of RU2337478C2 publication Critical patent/RU2337478C2/en

Links

Images

Landscapes

  • Error Detection And Correction (AREA)

Abstract

FIELD: physics, communications.
SUBSTANCE: multithreshold circuit for iterative decoding of accepted highly-excessive code word with parity check includes comparison of updated bit safety to threshold of accepted code word recovery. In each iteration, bit safety and recovered code word based on comparison involving threshold updated for this iteration are updated. Invention embodiment versions involve methods of decoding and/or relevant coding and device using threshold taking two or more values during iterative coding.
EFFECT: accuracy and good response at lower iteration number.
46 cl, 6 dwg

Description

Область техникиTechnical field

Варианты изобретения относятся в общем случае к исправлению ошибок в сигналах связи.Embodiments of the invention relate generally to error correction in communication signals.

Уровень техникиState of the art

Канал связи, будь то волоконно-оптический канал, коаксиальный канал, проводной канал, беспроводный канал или шина, соединяющая элементы системы, по которой пересылаются большие объемы данных, может внести шум и ошибки в информацию, передаваемую по такому каналу. Для исправления ошибок, добавленных каналом связи, информацию можно посылать в виде кодовых слов, где каждое кодовое слово содержит одинаковое общее количество битов и в котором некоторое количество битов являются информационными битами (биты сообщения), а несколько битов используются для исправления ошибок. Кодовое слово длиной n битов включает в себя k битов для длины кода сообщения и r=n-k избыточных битов. r битов предназначены для исправления ошибок и могут представлять собой r битов контроля четности. Матрица H контроля четности содержит набор уравнений контроля четности, которые определяют кодовое слово согласно соотношению:A communication channel, whether it is a fiber-optic channel, a coaxial channel, a wired channel, a wireless channel or a bus connecting system elements through which large amounts of data are sent, can introduce noise and errors into the information transmitted through such a channel. To correct errors added by the communication channel, information can be sent in the form of code words, where each code word contains the same total number of bits and in which a certain number of bits are information bits (message bits), and several bits are used to correct errors. A codeword of length n bits includes k bits for the length of the message code and r = n-k redundant bits. r bits are for error correction and may be r parity bits. The parity check matrix H contains a set of parity control equations that define a codeword according to the relation:

HCT=0,HC T = 0,

где C - n-мерный вектор битов кодового слова. Если это соотношение в приемнике не удовлетворяется, то принятое кодовое слово является недостоверным и должно быть либо исправлено, либо повторно передано.where C is the n-dimensional vector of bits of the codeword. If this ratio is not satisfied at the receiver, then the received codeword is invalid and must either be corrected or retransmitted.

Существует множество различных схем для декодирования кодового слова, которое прошло через канал связи. Некоторые схемы могут обеспечить точность, а другие схемы способны обеспечить быстрое декодирование. При высокоскоростной передаче данных необходима схема декодирования, обеспечивающая точность и быстроту действия, но в то же время ее реализация не должна отличаться большой сложностью.There are many different schemes for decoding a codeword that has passed through a communication channel. Some circuits can provide accuracy, while other circuits can provide fast decoding. For high-speed data transmission, a decoding scheme is needed to ensure accuracy and speed of operation, but at the same time, its implementation should not be very complex.

Краткое описание чертежейBrief Description of the Drawings

Фиг.1 - блок-схема варианта способа для итеративного декодирования информации, полученной из канала связи, согласно настоящему изобретению;Figure 1 - block diagram of a variant of the method for iteratively decoding information obtained from a communication channel, according to the present invention;

Фиг.2 - вариант устройства для итеративного декодирования информации, полученной из канала связи, согласно настоящему изобретению;FIG. 2 is an embodiment of an apparatus for iteratively decoding information obtained from a communication channel according to the present invention; FIG.

Фиг.3 - блок-схема варианта способа для кодирования информации для передачи кодового слова, представляющего информацию, в канал связи согласно настоящему изобретению;Figure 3 is a flowchart of an embodiment of a method for encoding information for transmitting a codeword representing information to a communication channel according to the present invention;

Фиг.4 - вариант устройства для кодирования информации, которая итеративно декодируется на приемном конце канала связи с использованием множества значений для порога согласно настоящему изобретению;FIG. 4 is an embodiment of an apparatus for encoding information that is iteratively decoded at a receiving end of a communication channel using a plurality of threshold values according to the present invention; FIG.

Фиг.5 - блок-схема варианта сети связи, имеющей систему для кодирования высоко-избыточного кодового слова с контролем четности и систему для декодирования версии закодированного высоко-избыточного кодового слова с контролем четности, полученного из канала связи между двумя системами согласно настоящему изобретению;5 is a block diagram of an embodiment of a communication network having a system for encoding a high redundancy codeword with parity and a system for decoding a version of a coded high excess codeword with parity obtained from a communication channel between two systems according to the present invention;

Фиг.6 - блок-схема варианта способа для итеративного декодирования высоко-избыточного кодового слова с контролем четности с использованием декодера, который может быть сконфигурирован, как показано на фиг.5, согласно настоящему изобретению.FIG. 6 is a flowchart of an embodiment of a method for iteratively decoding a high-redundancy parity codeword using a decoder that can be configured as shown in FIG. 5 according to the present invention.

Подробное описание изобретенияDETAILED DESCRIPTION OF THE INVENTION

В последующем подробном описании делаются ссылки на чертежи, где в качестве иллюстрации показаны возможные конкретные детали и варианты практической реализации изобретения. Эти варианты описаны достаточно подробно, чтобы дать возможность специалистам в данной области техники реализовать на практике настоящее изобретение. Можно использовать другие варианты и внести структурные и логические изменения, а также изменения в электрических схемах, без изменения объема изобретения. Раскрытые варианты осуществления не обязательно взаимно исключают друг друга, напротив, некоторые раскрытые варианты могут объединяться с одним или более другими раскрытыми вариантами для создания новых вариантов. Таким образом, последующее подробное описание не следует трактовать как ограничение, а объем вариантов осуществления настоящего изобретения определяется только прилагаемой формулой изобретения вместе с полным объемом эквивалентов, на которые указанная формула изобретения дает право.In the following detailed description, reference is made to the drawings, where, as an illustration, possible specific details and embodiments of the invention are shown. These options are described in sufficient detail to enable those skilled in the art to practice the present invention. You can use other options and make structural and logical changes, as well as changes in electrical circuits, without changing the scope of the invention. The disclosed embodiments are not necessarily mutually exclusive; on the contrary, some disclosed embodiments may be combined with one or more other disclosed embodiments to create new variations. Thus, the following detailed description should not be construed as limiting, and the scope of embodiments of the present invention is determined only by the attached claims, together with the full scope of equivalents to which the claims claim.

Высокоизбыточные коды с контролем четности (LDPC) обеспечивают эффективный инструмент прямого исправления ошибок в высокоскоростных системах связи благодаря невысокой сложности декодирования и низкой частоте ошибок по битам (BER), достигаемой в канале с аддитивным белым гауссовым шумом (AWGN). Стандартные декодеры LDPC работают, используя схему однопорогового декодирования. Примеры известных декодеров LDPC включают в себя, среди прочих, алгоритм минимальных сумм, алгоритм декодирования на основе апостериорных вероятностей (APP) и равномерно наиболее мощный (UMP) декодер.High redundancy parity check (LDPC) codes provide an efficient direct error correction tool in high-speed communication systems due to the low decoding complexity and low bit error rate (BER) achieved in an additive white Gaussian noise (AWGN) channel. Standard LDPC decoders operate using a single-threshold decoding scheme. Examples of well-known LDPC decoders include, among others, a minimum sum algorithm, a posteriori probability decoding (APP) algorithm, and a uniformly most powerful (UMP) decoder.

Коды LDPC используют матрицу контроля четности, содержащую большинство нулей и ограниченное количество единиц. Двоичный (n, γ, ρ) код LDPC имеет длину кодового слова или длину блока, равную n битов, и матрицу контроля четности, содержащую ровно γ единиц в каждом столбце и ровно ρ единиц в каждой строке. В коде LDPC каждый кодовый бит проверяется с помощью γ проверок четности, а каждая проверка четности использует ρ кодовых битов. Кроме того, у кода имеется скорость R, определяемая как R=k/n, где k - количество битов сообщения (информационных битов) в кодовом слове, имеющем n битов.LDPC codes use a parity matrix that contains most zeros and a limited number of units. The binary (n, γ, ρ) LDPC code has a codeword or block length of n bits and a parity matrix that contains exactly γ units in each column and exactly ρ units in each row. In the LDPC code, each code bit is checked with γ parity checks, and each parity check uses ρ code bits. In addition, the code has a speed R, defined as R = k / n, where k is the number of message bits (information bits) in the codeword that has n bits.

Процесс итеративного декодирования может включать в себя проверку того, удовлетворяется или нет уравнение контроля четности для каждого бита, принятого из канала. Если все уравнения контроля четности удовлетворяются, то считается, что принятые биты являются переданным кодовым словом. Если большинство уравнений контроля четности для данного принятого бита не удовлетворяются, то значение данного принятого бита может быть изменено на противоположное; в противном случае, значение данного принятого бита сохраняется. Изменение значения бита на противоположное означает изменение нуля на единицу или единицы на ноль. После восстановления кодового слова с изменением значения бита на противоположное уравнения контроля четности проверяются вновь. Если все уравнения контроля четности удовлетворяются, то считают, что принятые биты являются переданным кодовым словом; в противном случае, итеративная процедура продолжается, пока не будет достигнуто максимальное количество допустимых итераций.The iterative decoding process may include checking whether or not the parity equation is satisfied for each bit received from the channel. If all the parity equations are satisfied, then the received bits are considered to be the transmitted codeword. If most parity equations for a given received bit are not satisfied, then the value of this received bit can be reversed; otherwise, the value of this received bit is stored. Changing the value of a bit to the opposite means changing the zero by one or units by zero. After recovering the codeword with changing the bit value to the opposite, the parity equations are checked again. If all the parity equations are satisfied, then it is considered that the received bits are the transmitted codeword; otherwise, the iterative procedure continues until the maximum number of valid iterations is reached.

При декодировании LDPC может быть применен алгоритм декодирования с доверительным распространением на основе использования вероятностных значений. Как правило, итеративное декодирование кода LDPC связано с определением вектора x с максимальной вероятностью, где HxT mod 2 = 0. Вероятность x может быть задана произведением вероятностей того, что для каждой битовой позиции n, Xn=x. Для двоичного кодового слова x принимает значение 0 и 1, так что вероятность того, что x=1, равна единице минус вероятность того, что x=0. Кроме того, вероятностные значения могут быть представлены логарифмическими отношениями правдоподобия. Для двоичного сигнала с вероятностью p, заданной в качестве вероятности 1, логарифмическое отношение правдоподобия (LLR) может быть задано в видеFor LDPC decoding, a confidence distribution decoding algorithm based on the use of probabilistic values can be applied. As a rule, iterative decoding of the LDPC code is associated with the determination of the vector x with the maximum probability, where Hx T mod 2 = 0. The probability x can be given by the product of the probabilities that for each bit position n, X n = x. For a binary codeword, x takes the values 0 and 1, so the probability that x = 1 is equal to one minus the probability that x = 0. In addition, probabilistic values can be represented by logarithmic likelihood ratios. For a binary signal with probability p defined as probability 1, the log-likelihood ratio (LLR) can be given as

LLR(p) = loge((1-p)/p).LLR (p) = log e ((1-p) / p).

При декодировании сумм-произведений выполняется декодирование с использованием значений LLR.When decoding sum-products, decoding is performed using LLR values.

Что касается процесса, связанного с описанным выше изменением значения принятого бита на противоположное, то по сигналу, полученному из канала связи, было принято начальное жесткое решение. Жесткое решение принимается для бита путем отдельной оценки этого бита. При жестком решении для двоичного бита декодер присваивает биту значение 1 или 0, если этот бит меньше или больше фиксированного значения, установленного декодером. Если декодер устанавливает фиксированное значение равным нулю, при жестком решении бит устанавливается равным 1, если принятый сигнал для этого бита является положительным, и устанавливается равным 0, если принятый сигнал отрицательный. В альтернативном варианте при жестком решении бит может устанавливаться равным 1, если принятый сигнал для этого бита отрицательный, и устанавливаться равным 0, если принятый сигнал положительный.As for the process associated with the opposite change in the value of the received bit, the initial hard decision was made based on the signal received from the communication channel. A tough decision is made for a bit by separately evaluating that bit. With a tough decision for a binary bit, the decoder sets the bit to 1 or 0 if that bit is less than or greater than the fixed value set by the decoder. If the decoder sets the fixed value to zero, with a hard decision, the bit is set to 1 if the received signal for this bit is positive, and set to 0 if the received signal is negative. Alternatively, with a hard decision, the bit can be set to 1 if the received signal for this bit is negative, and set to 0 if the received signal is positive.

Мягкое решение - это решение, при котором вероятность того, что бит будет представлять единицу или ноль, учитывается при определении значения бита исходя из принятого сигнала. В декодерах с мягким решением может использоваться информация, относящаяся к степени доверия к принятому сигналу («мягкая» принятая информация), и сведения о свойствах канала для обеспечения вероятностных выражений для принятого сигнала, связанного с переданным сигналом. В то время как жесткое решение для двоичного процесса обеспечивает вектор жесткого решения, где векторные позиции или векторные биты равны единице или нулю, мягкое решение может обеспечить вектор жесткого решения и вектор надежностей или битовых надежностей. Двоичный вектор жесткого решения, обеспечиваемый мягким решением, это вектор, состоящий из единиц и нулей, где каждый бит вектора создается индивидуально в соответствии с фиксированным критерием. Вектор надежностей включает в себя набор битовых надежностей, причем каждая битовая надежность соответствует биту соответствующего вектора жесткого решения. Битовая надежность обеспечивает меру доверия к соответствующему биту в векторе жесткого решения. Битовая надежность может быть выражена в виде вероятности, логарифмического отношения правдоподобия или другого взвешенного коэффициента, коррелированного с каналом связи, по которому передается принимаемое кодовое слово. Битовая надежность может быть непосредственно коррелированна с величиной сигнала, представляющего принятый бит.A soft decision is a decision in which the probability that a bit will represent one or zero is taken into account when determining the value of a bit based on the received signal. Soft decision decoders can use information related to the degree of confidence in the received signal (“soft” received information) and channel property information to provide probabilistic expressions for the received signal associated with the transmitted signal. While a hard decision for a binary process provides a hard decision vector where the vector positions or vector bits are equal to one or zero, a soft decision can provide a hard decision vector and a vector of reliability or bit reliability. The binary vector of a hard decision provided by the soft decision is a vector consisting of ones and zeros, where each bit of the vector is created individually in accordance with a fixed criterion. The reliability vector includes a set of bit reliability, with each bit reliability corresponding to a bit of the corresponding hard decision vector. Bit reliability provides a measure of confidence in the corresponding bit in the hard decision vector. Bit reliability can be expressed as probability, a logarithmic likelihood ratio, or other weighted coefficient correlated with the communication channel over which the received codeword is transmitted. Bit reliability can be directly correlated with the magnitude of the signal representing the received bit.

Как известно специалистам в данной области техники, различные схемы декодирования реализуют схемы мягкого декодирования с использованием вероятностей. По одной схеме в процессах мягкого решения вычисляется апостериорная вероятность для каждого бита кодового слова, которая представляет собой вероятность того, что данный бит равен единице при условии, что все ограничения для контроля четности удовлетворяются. Собственная или априорная вероятность - это битовая вероятность, не зависящая от кодовых ограничений, а «несобственная» вероятность учитывает то, что стало известно. Например, в алгоритме сумм-произведений для декодирования логарифмическое отношение правдоподобия (LLR) принятого сигнала, представляющего один бит, устанавливается на основе сведений о канале. Для канала с шумом типа AWGN и отношением сигнал-шум SNR начальное отношение LLR для этого бита может быть установлено какAs is known to those skilled in the art, various decoding schemes implement soft decoding schemes using probabilities. According to one scheme, a posterior probability is calculated for each bit of a code word in soft decision processes, which is the probability that a given bit is equal to one, provided that all restrictions for parity are satisfied. The intrinsic or a priori probability is a bit probability that does not depend on code constraints, and the "improper" probability takes into account what has become known. For example, in the sum-product algorithm for decoding, the logarithmic likelihood ratio (LLR) of a received signal representing one bit is set based on the channel information. For a channel with AWGN type noise and SNR, the initial LLR for this bit can be set as

Figure 00000002
Figure 00000002

где Yi - принятый сигнал, а σ - стандартное отклонение AWGN. Стандартное отклонение может быть определено через SNR для AWGN как

Figure 00000003
, где n - длина кода, k - длина сообщения, а SNR - это SNR на один бит сообщения. LLRi функционально относится к надежности Ri бита i. Надежность - это мера доверия к значению бита. Итеративное декодирование в различных схемах включает в себя обновление надежности, соответствующей принятым битам, и/или обновление надежности, соответствующей ненулевым элементам матрицы H контроля четности. Указанные итеративные процессы включают в себя проверку достоверности обновленного тестового кодового слова посредством соотношения HxT = 0. Если тест не дает достоверное кодовое слово, то итеративный процесс продолжается, пока не будет получено достоверное кодовое слово или пока не будет выполнено максимальное количество итераций.where Y i is the received signal and σ is the standard deviation of AWGN. The standard deviation can be defined through the SNR for AWGN as
Figure 00000003
where n is the code length, k is the message length, and SNR is the SNR per bit of the message. LLR i functionally refers to the reliability of R i bits i. Reliability is a measure of confidence in the value of a bit. Iterative decoding in various schemes includes updating the reliability corresponding to the received bits, and / or updating the reliability corresponding to non-zero elements of the parity check matrix H. These iterative processes include verifying the validity of the updated test codeword using the relation Hx T = 0. If the test does not give a valid codeword, then the iterative process continues until a valid codeword is received or until the maximum number of iterations has been completed.

В одном варианте многопороговый декодер сконструирован для обеспечения алгоритма итеративного декодирования с пониженной сложностью и хорошими характеристиками исправления ошибок для декодирования кодов LDPC из канала с «мягким» выходным результатом. Этот вариант для многопорогового декодера с вычислением надежностей для быстрого декодирования LDPC работает с использованием канала с «мягким» выходным результатом (мягкого решения) для создания вектора жесткого решения и вектора надежностей принятых битов. Битовые надежности используются для вычисления надежностей для контроля четности, а общая надежность контроля четности устанавливается равной минимальному значению битовой надежности для всех битов, которые включены в данную проверку четности. Для повторного вычисления битовых надежностей используется процедура взвешенного голосования для контроля четности, где весами являются надежности контроля четности. В указанных вариантах, если значение веса контроля четности уменьшается, качество декодирования возрастает. Вначале битовой надежности присваивается значение битовой надежности, коррелированной со значением принятого бита. Голосование для контроля четности применяется к текущему вектору жесткого решения. На основе голосования для контроля четности в сравнении с пороговым значением в данной итерации, битовая надежность устанавливается равной вновь вычисленной битовой надежности, которая увеличивается на значение надежности контроля четности; в противном случае, повторно вычисленная битовая надежность уменьшается на значение надежности контроля четности.In one embodiment, a multi-threshold decoder is designed to provide an iterative decoding algorithm with reduced complexity and good error correction characteristics for decoding LDPC codes from a channel with a soft output. This option for a multi-threshold decoder with reliability calculation for fast LDPC decoding works using a channel with a “soft” output (soft decision) to create a hard decision vector and a reliability vector of received bits. Bit reliability is used to calculate the reliability for parity, and the overall reliability of the parity is set to the minimum value of bit reliability for all bits that are included in this parity. To recalculate bit reliability, a weighted voting procedure is used for parity, where the weights are the reliability of the parity. In these options, if the value of the weight of the parity is reduced, the quality of decoding increases. Initially, bit reliability is assigned a value of bit reliability correlated with the value of the received bit. Parity voting applies to the current hard decision vector. Based on the voting for parity compared to the threshold value in this iteration, the bit reliability is set equal to the newly calculated bit reliability, which is increased by the value of the parity reliability; otherwise, the recalculated bit reliability is reduced by the parity reliability value.

Для каждой итерации обеспечиваются пороговые значения, причем эти пороговые значения могут вычисляться в течение одной или более итераций. Пороговые значения используются для получения решений о том, следует ли обновить бит и связанную с ним надежность. Если конкретная надежность меньше порогового значения, то тогда бит жесткого решения, связанный с этой надежностью, изменяет свое значение на противоположное, и абсолютному значению вновь вычисленной надежности присваивается это новое значение. Данная схема декодирования является итеративной, а пороги могут различаться от одной итерации к другой, причем для вычисления во время процесса декодирования обеспечены или запланированы, по меньшей мере, два значения порога. Хотя пороги могут быть вычислены во время итерации, их значения могут также быть определены заранее. В другом варианте на первой итерации порог решения по ошибке устанавливается равным минимальной из битовых надежностей, а затем на всех остальных итерациях порог решения по ошибке устанавливается равным нулю. В этом варианте схема многопорогового декодирования представляет собой схему декодирования с использованием двух порогов. Двухпороговая схема дает увеличение частоты ошибок по битам 0,1-0,4 дБ по сравнению с быстрым декодированием без использования порога, имеющего множество значений.Threshold values are provided for each iteration, and these threshold values can be calculated during one or more iterations. Thresholds are used to make decisions about whether to update the bit and its associated reliability. If a specific reliability is less than a threshold value, then the hard decision bit associated with this reliability changes its value, and this new value is assigned to the absolute value of the newly calculated reliability. This decoding scheme is iterative, and the thresholds can vary from one iteration to another, and at least two threshold values are provided or planned for calculation during the decoding process. Although thresholds can be calculated during the iteration, their values can also be determined in advance. In another embodiment, at the first iteration, the decision threshold by mistake is set equal to the minimum of bit reliability, and then at all other iterations the decision threshold is mistakenly set to zero. In this embodiment, the multi-threshold decoding scheme is a decoding scheme using two thresholds. The two-threshold scheme provides an increase in the error frequency of bits from 0.1 to 0.4 dB compared to fast decoding without using a threshold with many values.

Вариант для новой схемы, который может быть реализован в декодерах LDPC, включает в себя схему многопорогового решения. Использование схемы многопорогового решения означает, что значение порога изменяется на вычисленное значение или заранее определенное значение во время одной или более итераций декодирования. В одном варианте во время первой итерации используется максимальное пороговое значение (абсолютное значение), а в последующих итерациях порог изменяется в сторону уменьшения. Изменение пороговых значений позволяет использовать высокое пороговое значение во время первой итерации, что приводит к исключению или уменьшению распространения ошибок. Таким образом, если декодер исправляет даже небольшое количество ошибок, декодирование на последующих итерациях значительно облегчается. Использование варианта со схемой многопорогового декодирования может привести к уменьшению количества итераций, выполняемых во время декодирования. Эти варианты могут быть реализованы с частотой ошибок по битам при декодировании, близкой к схеме декодирования на основе максимальной апостериорной вероятности.An option for a new circuit that can be implemented in LDPC decoders includes a multi-threshold decision circuit. Using a multi-threshold decision scheme means that the threshold value changes to a calculated value or a predetermined value during one or more decoding iterations. In one embodiment, during the first iteration, the maximum threshold value (absolute value) is used, and in subsequent iterations, the threshold changes downward. Changing the threshold values allows you to use a high threshold value during the first iteration, which eliminates or reduces the spread of errors. Thus, if a decoder corrects even a small number of errors, decoding at subsequent iterations is greatly facilitated. Using a variant with a multi-threshold decoding scheme may lead to a decrease in the number of iterations performed during decoding. These options can be implemented with a bit error rate during decoding close to the decoding scheme based on maximum posterior probability.

В одном варианте многопороговый декодер обеспечивает итеративный декодер, использующий входной вектор мягкого решения для создания жесткого решения и вектора соответствующих надежностей, который описывает абсолютное значение правдоподобия для каждого бита. На каждой итерации декодер вычисляет надежность каждого уравнения контроля четности, используя битовые надежности. Затем для каждого бита и проверки контроля четности, если уравнение контроля четности не удовлетворяется, то соответствующая битовая надежность (которая соответствует уравнению бита или контроля четности) уменьшается; в противном случае эта битовая надежность увеличивается. Когда все уравнения проверены, выполняется жесткое решение с использованием следующего правила: если обновленная битовая надежность больше порогового значения, то бит и его надежность остаются неизменными; в противном случае, значение бита меняется на противоположное (инвертируется), а его надежность изменяется в функции обновленной надежности и порогового значения. Если обновленная надежность меньше 0, но больше порогового значения в этой итерации, то новое значение битовой надежности устанавливается равным 0. Обновление порогового значения планируется, по меньшей мере, один раз в течение процесса декодирования. Процесс повторяется, пока кодовое слово не будет восстановлено, или пока декодер не выполнит максимально допустимое количество итераций.In one embodiment, a multi-threshold decoder provides an iterative decoder using a soft decision input vector to create a hard decision and a corresponding reliability vector that describes the absolute likelihood value for each bit. At each iteration, the decoder calculates the reliability of each parity equation using bit reliability. Then, for each bit and parity check, if the parity equation is not satisfied, the corresponding bit reliability (which corresponds to the bit or parity equation) is reduced; otherwise, this bit reliability is increased. When all equations are checked, a tough decision is made using the following rule: if the updated bit reliability is greater than the threshold value, then the bit and its reliability remain unchanged; otherwise, the bit value is reversed (inverted), and its reliability is changed in the function of the updated reliability and threshold value. If the updated reliability is less than 0 but greater than the threshold value in this iteration, then the new bit reliability value is set to 0. Updating the threshold value is planned at least once during the decoding process. The process is repeated until the codeword is restored, or until the decoder performs the maximum allowable number of iterations.

На фиг. 1 показана блок-схема варианта способа для итеративного декодирования информации, полученной из канала связи. На шаге 110 осуществляется прием кодового слова. Кодовое слово может содержать некоторое количество информационных битов или битов сообщения и несколько битов для использования при обнаружении ошибок и/или их исправлении. На шаге 120 выбирается значение порога. В одном варианте значение для порога выбирается с использованием битовых надежностей, коррелированных с принятым кодовым словом, во время каждой итерации. Такой выбор может проводиться путем вычисления минимальной надежности для сравнения, первоначально сформированной исходя из процесса мягкого решения, выполненного на основе принятого кодового слова, после чего создается вектор жесткого решения и вектор надежностей. Битовые надежности могут быть коррелированы с каналом связи. В одном варианте битовые надежности создаются с использованием известных, вычисленных или оцененных свойств канала связи, таких как, но не только, отношение сигнал-шум, связанное с сигналами, распространяющимися через канал связи. В другом варианте набор битовых надежностей первоначально коррелируется с набором принятых битов, например, но не только, с абсолютным значением сигнала, принятого для каждой битовой позиции. В одном варианте в качестве порогового значение может быть выбрано одно из заранее определенного набора значений, причем этот выбор зависит от структуры данного кода, SNR канала и номера итерации декодирования.In FIG. 1 shows a flowchart of an embodiment of a method for iteratively decoding information received from a communication channel. At 110, a codeword is received. The codeword may contain a number of information bits or message bits and several bits for use in detecting errors and / or correcting them. In step 120, a threshold value is selected. In one embodiment, a threshold value is selected using bit reliabilities correlated with the received codeword during each iteration. Such a choice can be made by calculating the minimum reliability for comparison, originally formed on the basis of the soft decision process made on the basis of the adopted code word, after which a hard decision vector and a reliability vector are created. Bit reliability can be correlated with the communication channel. In one embodiment, bit reliability is created using known, calculated, or estimated properties of a communication channel, such as, but not limited to, the signal-to-noise ratio associated with signals propagating through the communication channel. In another embodiment, the set of bit reliability is initially correlated with the set of received bits, for example, but not only, with the absolute value of the signal received for each bit position. In one embodiment, one of a predetermined set of values may be selected as the threshold value, and this choice depends on the structure of the given code, the SNR of the channel, and the decoding iteration number.

На шаге 130 битовая надежность, созданная исходя из принятого кодового слова, обновляется на основе сравнения с пороговым значением. В различных вариантах набор битовых надежностей может создаваться, сравниваться с порогом и обновляться. На шаге 140 кодовое слово восстанавливается на основе сравнений вычисленных битовых вероятностей с порогом, где вычисленные битовые надежности получают из первоначально созданных битовых надежностей. Если восстановленное кодовое слово не проходит тест на достоверность, то процесс продолжается с другой итерацией. Восстановленное кодовое слово может быть создано путем инвертирования одного или более битов версии кодового слова в данной итерации. На шаге 150 восстановленное кодовое слово обеспечивается в конце процесса итеративного декодирования. Если процесс декодирования оказался успешным, то считается, что восстановленное кодовое слово является кодовым словом, которое было обеспечено в месте передачи на другом конце канала связи. Если в процессе итеративного декодирования не обеспечено достоверное кодовое слово по окончании нескольких итераций, то целесообразно выполнить повторную передачу кодового слова. В одном варианте этот способ используется для декодирования кодового слова LDPC.In step 130, the bit reliability created based on the received codeword is updated based on a comparison with a threshold value. In various embodiments, a set of bit reliability can be created, compared with a threshold and updated. In step 140, the codeword is reconstructed based on comparisons of the calculated bit probabilities with a threshold where the calculated bit reliability is obtained from the originally created bit reliability. If the recovered codeword does not pass the validation test, the process continues with another iteration. The reconstructed codeword can be created by inverting one or more bits of the codeword version in a given iteration. At step 150, the reconstructed codeword is provided at the end of the iterative decoding process. If the decoding process is successful, then it is considered that the reconstructed codeword is a codeword that was provided at the transmission site at the other end of the communication channel. If a valid codeword is not provided during iterative decoding at the end of several iterations, it is advisable to retransmit the codeword. In one embodiment, this method is used to decode the LDPC codeword.

На фиг.2 показан вариант устройства 200 для итеративного декодирования информации, полученной из канала связи. Устройство 200 включает в себя приемник 210, генератор 220 битовых надежностей и блок 230 сравнения. Приемник 210 получает данные из канала связи. В одном варианте полученные данные представлены в виде битов в сигнальном потоке, где указанные биты определяют кодовое слово. В альтернативном варианте приемник 210 может принимать сигнал и преобразовывать принятый сигнал в кодовое слово. Генератор 220 битовых надежностей генерирует одну или более битовых надежностей, связанных с принятым кодовым словом. В одном варианте начальные битовые надежности генерируются на основе принятого кодового слова и отношения правдоподобия, относящегося к вероятностям того, что двоичный сигнал равен единице или нулю. Указанные битовые надежности также могут быть коррелированы с отношением сигнал-шум канала связи, из которого получено принятое кодовое слово. В альтернативном варианте начальные битовые надежности могут генерироваться на основе принятого кодового слова, например, путем установки начальных битовых надежностей равными абсолютному значению принятого кодового слова для каждого бита.2 shows an embodiment of an apparatus 200 for iteratively decoding information received from a communication channel. The device 200 includes a receiver 210, a bit reliability generator 220, and a comparison unit 230. A receiver 210 receives data from a communication channel. In one embodiment, the received data is presented as bits in the signal stream, where these bits define a codeword. Alternatively, receiver 210 may receive a signal and convert the received signal to a code word. A bit reliability generator 220 generates one or more bit reliability associated with a received codeword. In one embodiment, the initial bit reliability is generated based on the received codeword and the likelihood ratio related to the probabilities that the binary signal is one or zero. These bit reliability can also be correlated with the signal-to-noise ratio of the communication channel from which the received codeword is obtained. Alternatively, the initial bit reliability may be generated based on the received codeword, for example, by setting the initial bit reliability to the absolute value of the received codeword for each bit.

Блок 230 сравнения сравнивает битовые надежности, сформированные генератором битовых надежностей, с порогом. Выполнив указанное сравнение, блок 230 сравнения обновляет битовые надежности и биты тестового кодового слова в зависимости от результатов сравнения со значением порога. Блок 230 сравнения использует множество значений для порога в зависимости от текущей итерации в процессе декодирования. Обновленные биты тестового кодового слова оцениваются, чтобы определить, обеспечили ли обновленные биты достоверное кодовое слово. Если генерировано достоверное кодовое слово, то блок 230 сравнения может выдать достоверное кодовое слово или извлечь информационные биты (биты сообщения) из кодового слова и вывести сообщение. Блок 230 сравнения может быть реализован в виде аппаратной конфигурации либо выполнен в виде программной конфигурации. В одном варианте значения для порога, используемые блоком 230 сравнения, устанавливаются в соответствии с итерацией, в которой используется данное значение. Можно использовать таблицу порогов, связывающую заранее определенное значение с номером итерации, заданной для данной структуры кода и данной ситуации в канале, к примеру, соответственно SNR канала. В другом варианте значения для порога, используемые блоком 230 сравнения, устанавливают, используя битовые надежности и результат сравнения с пороговым значением, установленным для той итерации декодирования, в которой работает в данный момент блок 230 сравнения. В одном варианте устройство 200 декодирует кодовое слово LDPC.A comparison unit 230 compares the bit reliability generated by the bit reliability generator with a threshold. After performing the specified comparison, the comparison unit 230 updates the bit reliability and bits of the test codeword depending on the results of the comparison with the threshold value. The comparison unit 230 uses a plurality of threshold values depending on the current iteration in the decoding process. The updated bits of the test codeword are evaluated to determine if the updated bits provide a valid codeword. If a valid codeword is generated, then the comparison unit 230 may issue a valid codeword or extract information bits (message bits) from the codeword and output a message. Block 230 comparison can be implemented in the form of a hardware configuration or made in the form of a software configuration. In one embodiment, the threshold values used by the comparison unit 230 are set in accordance with the iteration in which the value is used. You can use the threshold table that associates a predetermined value with the iteration number specified for a given code structure and a given situation in the channel, for example, respectively, of the SNR of the channel. In another embodiment, the threshold values used by the comparison unit 230 are set using bit reliability and the comparison result with the threshold value set for the decoding iteration in which the comparison unit 230 is currently operating. In one embodiment, device 200 decodes the LDPC codeword.

На фиг.3 показана блок-схема варианта способа для кодирования информации с целью передачи кодового слова, представляющего эту информацию, по каналу связи. На шаге 310 информация принимается в кодере в виде информационных битов. На шаге 320 информационные биты кодируются для обеспечения кодового слова. Кодирование реализуется таким образом, что версия кодированного кодового слова после ее приема итеративно декодируется с использованием битовой надежности, обновленной путем сравнения с порогом, где порог обновляется для обеспечения множества значений в ходе итеративного процесса. Если версия кодового слова безошибочно принята на другом конце канала связи, по которому это кодовое слово было передано, то итеративное декодирование может обеспечить кодовое слово без исправления принятой версии кодового слова. Если принятая версия переданного кодового слова содержит ошибки, то процесс итеративного декодирования обеспечивает процесс их исправления, используя множество порогов. На шаге 330 кодовое слово передается по каналу связи. В одном варианте данный способ используется для кодирования кодового слова LDPC.Figure 3 shows a block diagram of a variant of the method for encoding information with the aim of transmitting a codeword representing this information over the communication channel. At step 310, information is received at the encoder as information bits. In step 320, information bits are encoded to provide a codeword. The encoding is implemented in such a way that the version of the encoded codeword after it is received is iteratively decoded using bit reliability, updated by comparison with the threshold, where the threshold is updated to provide multiple values during the iterative process. If the codeword version is correctly received at the other end of the communication channel through which the codeword was transmitted, then iterative decoding can provide the codeword without correcting the received version of the codeword. If the received version of the transmitted codeword contains errors, then the iterative decoding process provides a correction process using a plurality of thresholds. At step 330, the code word is transmitted over the communication channel. In one embodiment, this method is used to encode the LDPC codeword.

На фиг.4 показан вариант устройства 400 для кодирования информации, которая итеративно декодирована с использованием множества значений для порога на приемном конце канала связи. Устройство 400 включает в себя приемник 410 для получения информации с целью кодирования, кодер 420 и передатчик 430. Приемник 410 получает данные, предоставленные устройству 400 для передачи по каналу связи. Кодер 420 использует эту информацию и создает кодированное слово, содержащее информационные биты (биты сообщения) и биты для исправления ошибок на приемном конце канала передачи. Информация, подаваемая в кодер 420, может быть представлена в виде информационных битов. В альтернативном варианте кодер 420 может использовать предоставленную информацию и сформировать информационные биты. Кодер 420 кодирует информацию, создавая кодовое слово, так что версия этого кодового слова после приема итеративно декодируется с использованием битовой надежности, обновляемой путем сравнения с порогом. Порог обновляется для обеспечения множества значений во время итеративного процесса. Передатчик 430 посылает кодированное кодовое слово по каналу связи.FIG. 4 shows an embodiment of a device 400 for encoding information that is iteratively decoded using a plurality of threshold values at a receiving end of a communication channel. The device 400 includes a receiver 410 for receiving information for encoding, an encoder 420 and a transmitter 430. A receiver 410 receives data provided to the device 400 for transmission over a communication channel. Encoder 420 uses this information and creates an encoded word containing information bits (message bits) and bits for error correction at the receiving end of the transmission channel. Information supplied to encoder 420 may be represented as information bits. Alternatively, encoder 420 may use the provided information and generate information bits. Encoder 420 encodes the information by creating a codeword, so that the version of this codeword, upon receipt, is iteratively decoded using bit reliability updated by comparison with a threshold. The threshold is updated to provide multiple values during the iterative process. A transmitter 430 sends a coded codeword over a communication channel.

Канал связи между устройством, в котором используется вариант способа декодирования с использованием множества порогов, и устройством, где используется вариант способа кодирования, связанного с упомянутым способом декодирования, может включать в себя, но не только: волоконно-оптический канал, проводной канал, канал, считывающий данные, хранящиеся в блоке памяти, или беспроводный канал. Дополнительно, варианты осуществления изобретения для декодирования и кодирования могут быть адаптированы для использования с любым протоколом для передачи по любому каналу связи.A communication channel between a device that uses an embodiment of a decoding method using multiple thresholds and a device where an embodiment of an encoding method associated with said decoding method is used may include, but is not limited to: a fiber optic channel, a wired channel, a channel, reading data stored in a memory unit or a wireless channel. Additionally, embodiments of the invention for decoding and encoding can be adapted for use with any protocol for transmission over any communication channel.

На фиг.5 представлена блок-схема варианта сети 500 связи, содержащей систему 502 для кодирования высоко-избыточного кодового слова с контролем четности и систему 520 для декодирования версии кодированного высоко-избыточного кодового слова с контролем четности, полученного из канала 505 связи между этими двумя системами. Источник информации предоставляет информационные биты LDPC кодеру 510 системы 502. Кодер 510 LDPC включает в себя процедуру 512 кодирования, в которой используется структура 514 H-матрицы для создания кодового слова, передаваемого в канал 505. Структура 514 H-матрицы разработана с использованием параметров 514 кода LDPC, которые предоставляются системе 502 и системе 520.5 is a block diagram of an embodiment of a communication network 500 comprising a system 502 for encoding a high-redundancy codeword with parity and a system 520 for decoding a version of a coded high-excess codeword with parity obtained from communication channel 505 between the two systems. The information source provides LDPC information bits to encoder 510 of system 502. The LDPC encoder 510 includes an encoding procedure 512 that uses an H matrix structure 514 to generate a codeword transmitted to channel 505. The H matrix structure 514 is designed using code parameters 514 LDPCs that are provided to system 502 and system 520.

Система 520 включает в себя декодер 522 LDPC, который использует параметры 514 кода LDPC. Параметры кода LDPC используются структурой 524 H-матрицы в декодере 522 LDPC. Кодовое слово, принятое из канала 505, подается в блок 526 начального решения для получения мягких решений, дающих в результате жесткие решения 528 и решения 530 по надежности. Жесткими решениями 528 являются начальные двоичные биты для тестового кодового слова, а решениями по надежности являются начальные битовые надежности, связанные с битами тестового кодового слова. В одном варианте жесткими решениями 528 являются двоичные биты, установленные в соответствии со знаком соответствующего бита принятого кодового слова. Принятый бит, имеющий положительное значение, устанавливается равным единице, а принятый бит, имеющий нулевое значение или отрицательное значение, устанавливается равным нулю. В альтернативном варианте, принятый бит, имеющий нулевое значение или положительное значение, устанавливается равным нулю, а принятый бит, имеющий отрицательное значение, устанавливается равным единице. Начальные битовые надежности для каждого бита принятого кодового слова могут быть установлены равными абсолютному значению соответствующего бита принятого кодового слова.System 520 includes an LDPC decoder 522 that uses LDPC code parameters 514. The LDPC code parameters are used by the H matrix structure 524 in the LDPC decoder 522. The codeword received from channel 505 is supplied to initial decision block 526 to obtain soft decisions, resulting in hard decisions 528 and reliability decisions 530. The hard decisions 528 are the initial binary bits for the test codeword, and the reliability decisions are the initial bit reliability associated with the bits of the test codeword. In one embodiment, hard decisions 528 are binary bits set in accordance with the sign of the corresponding bit of the received codeword. A received bit having a positive value is set to one, and a received bit having a zero value or a negative value is set to zero. Alternatively, a received bit having a zero value or a positive value is set to zero, and a received bit having a negative value is set to one. The initial bit reliability for each bit of the received codeword may be set equal to the absolute value of the corresponding bit of the received codeword.

Жесткие решения 528, решения 530 по надежности и структура 524 H-матрицы подаются в многопороговый декодер 532 для выполнения процесса итеративного декодирования с целью обеспечения информационных битов 508 от системы 520. Многопороговый декодер 532 использует пороги 534, с которыми сравниваются расчетные надежности, а битовые надежности и биты для тестового кодового слова обновляются. Расчетные надежности получают из битовых надежностей. В одном варианте расчетные надежности получают из начальных решений по надежности и вычисленных контрольных сумм. Биты для тестового кодового слова создаются из жестких решений 528 с битами, значения которых изменены на противоположные, в соответствии с результатами сравнения со значением порога на каждой итерации. В одном варианте пороги 534 вычисляются на основе сравнения расчетных битовых надежностей и значения порога для данной итерации. В одном варианте вычисляется набор порогов 534 на основе сравнения расчетных битовых надежностей и значения порога для данной итерации, причем эти пороги используются в нескольких других итерациях. Второй набор порогов 534 устанавливается с фиксированным значением, таким как нуль, и используется в нескольких других итерациях. Фиксированное значение для порога используется в группе итераций, образующих последние итерации в процессе декодирования. В альтернативном варианте пороги 354 устанавливаются равными заранее определенным значениям в зависимости от итерации, в которой используется данное значение порога.Hard decisions 528, reliability decisions 530, and the H matrix structure 524 are provided to a multi-threshold decoder 532 to perform an iterative decoding process to provide information bits 508 from the system 520. Multi-threshold decoder 532 uses thresholds 534 with which the calculated reliability is compared and the bit reliability and the bits for the test codeword are updated. Design reliability is derived from bit reliability. In one embodiment, the calculated reliability is derived from initial reliability decisions and calculated checksums. Bits for the test codeword are created from hard solutions 528 with bits whose values are reversed, in accordance with the results of comparison with the threshold value at each iteration. In one embodiment, thresholds 534 are calculated based on a comparison of the calculated bit reliability and the threshold value for a given iteration. In one embodiment, a set of thresholds 534 is calculated based on a comparison of the calculated bit reliability and the threshold value for a given iteration, and these thresholds are used in several other iterations. The second set of thresholds 534 is set with a fixed value, such as zero, and is used in several other iterations. The fixed value for the threshold is used in a group of iterations that form the last iterations in the decoding process. Alternatively, thresholds 354 are set equal to predetermined values depending on the iteration in which this threshold value is used.

Можно реализовать различные варианты для сети 500 связи, системы 502 и системы 520. Сеть 500 связи может представлять собой наземную сеть, использующую оптические волокна, коаксиальный кабель или провода в качестве среды передачи для каналов связи между различными узлами сети 500 связи. Сеть 500 связи может быть реализована в виде беспроводной сети, в которой системы 502 и 520 сконфигурированы как часть узла сети 500 связи или как часть беспроводного приемного устройства, которое принимает сигналы из узлов сети 500 связи. Системы 502 и 520 могут быть сконфигурированы как часть, но не только, сетевых компонент, таких как базовые станции, и могут быть сконфигурированы как часть, но не только, беспроводных приемных устройств, таких как портативные устройства связи, компьютеры и вычислительные устройства типа «лэптоп». Хотя это не показано, системы 502 и 520, сконфигурированные в системе беспроводной связи 500, включают в себя антенны для передачи и приема сигналов, которые содержат одно или несколько кодовых слов. Схемы и устройства декодирования и кодирования не ограничивают тип или конфигурацию таких компонент поддержки, как антенны в системах 502 и 520. В одном варианте используется фактически всенаправленная антенна.Various options may be implemented for communication network 500, system 502, and system 520. Communication network 500 may be a terrestrial network using optical fibers, coaxial cable, or wires as the transmission medium for communication channels between different nodes of communication network 500. The communication network 500 may be implemented as a wireless network in which systems 502 and 520 are configured as part of a node of a communication network 500 or as part of a wireless receiver that receives signals from nodes of a communication network 500. Systems 502 and 520 can be configured as part, but not only, of network components, such as base stations, and can be configured as part, but not only, of wireless receiving devices, such as portable communication devices, computers, and laptop computing devices ". Although not shown, systems 502 and 520 configured in the wireless communications system 500 include antennas for transmitting and receiving signals that contain one or more codewords. Decoding and coding schemes and devices do not limit the type or configuration of support components such as antennas in systems 502 and 520. In one embodiment, a substantially omnidirectional antenna is used.

Каждый узел сети 500 связи, сконфигурированной в виде наземной сети или в виде беспроводной сети, может содержать версию системы 502 и/или версию системы 520, либо систему, являющуюся комбинацией системы 502 и системы 520. Дополнительно, процессы декодирования и кодирования, используемые в кодерах и декодерах систем 502 и 520, а также описанные здесь другие варианты для процессов и устройства декодирования и кодирования могут быть адаптированы для стандартов и протоколов связи, используемых в сети 500 связи.Each node of the communication network 500, configured as a terrestrial network or as a wireless network, may contain a system version 502 and / or a system version 520, or a system that is a combination of a system 502 and a system 520. Additionally, the decoding and encoding processes used in the encoders and decoders of systems 502 and 520, as well as other options described here for processes and a decoding and encoding device, can be adapted to communication standards and protocols used in communication network 500.

На фиг.6 показана блок-схема варианта способа, который можно использовать с декодером LDPC, таким как декодер 522 LDPC, с конфигурацией, показанной на фиг. 5. На шаге 610 строится вектор начального жесткого решения и вектор начальных надежностей. Для принятого кодового слова Y=(Y1, Y2, ..., Yn) положим, что N(m) является набором позиций кодового слова, которые используются в m-й проверке четности: N(m)={n:Hm,n=1}, где H - матрица контроля четности, такая как предусмотрена структурой 524 H-матрицы на фиг. 5, а Hm,n=1 означает, что значение матрицы H в позиции m, n равно единице. Кроме того, положим, что M(n) является набором проверок четности, который включает в себя n-ю позицию кодового слова: M(n)={m:Hm,n=1}.FIG. 6 is a flowchart of an embodiment of a method that can be used with an LDPC decoder, such as LDPC decoder 522, with the configuration shown in FIG. 5. At step 610, the initial hard decision vector and the initial reliability vector are constructed. For the received codeword Y = (Y 1 , Y 2 , ..., Y n ), let N (m) be the set of codeword positions that are used in the mth parity check: N (m) = {n: H m, n = 1}, where H is the parity check matrix, such as that provided by the H matrix structure 524 in FIG. 5, and H m, n = 1 means that the value of the matrix H at position m, n is equal to one. In addition, we assume that M (n) is a set of parity checks that includes the nth position of the codeword: M (n) = {m: H m, n = 1}.

При инициализации, для каждого элемента yi принятого вектора, такого как принятый в декодере 522 LDPC по фиг.5, вычисляются жесткое решение Xi и битовая надежность Ri. Битовая надежность Ri устанавливается равной абсолютному значению Yi. Жесткое решение может установить Xi равным единице, если Yi больше нуля, и Xi равным нулю, если Yi меньше или равно нулю. Для каждого

Figure 00000004
битовая надежность контроля четности определяется как Ymn, где первоначально Ymn = Rn, а соответствующее жесткое решение определяется как Xmn, где первоначально Xmn = Xn. Upon initialization, for each element y i of the received vector, such as that received in the LDPC decoder 522 of FIG. 5, the hard decision X i and the bit reliability R i are calculated. The bit reliability R i is set equal to the absolute value of Y i . A tough decision can set X i equal to one if Y i is greater than zero, and X i equal to zero if Y i is less than or equal to zero. For everybody
Figure 00000004
the parity check bit reliability is defined as Y mn , where initially Y mn = R n , and the corresponding hard decision is defined as X mn , where initially X mn = X n.

После инициализации, на шаге 620 итеративный процесс начинается с выполнения вычисления надежностей контроля четности. В одном варианте для каждого n и каждого

Figure 00000005
контрольные суммы Smn вычисляются как:After initialization, at step 620, the iterative process begins by performing a calculation of the reliability of the parity. In one embodiment, for each n and each
Figure 00000005
checksums S mn are calculated as:

Figure 00000006
Σ Xmn' mod 2, где суммирование выполняется по
Figure 00000007
N(m)/n. Выражение N(m)/n означает набор N(m), где исключен бит n. Значение минимума Ymn определяется как:
Figure 00000006
Σ X mn ' mod 2, where the summation is performed over
Figure 00000007
N (m) / n. The expression N (m) / n means the set N (m), where bit n is excluded. The minimum value of Y mn is defined as:

Ymn min = min{Ymn'} для

Figure 00000007
N(m)\n.Y mn min = min {Y mn ' } for
Figure 00000007
N (m) \ n.

На шаге 630 вычисляется порог. В одном варианте порог устанавливается равным минимальному значению по всем n из набора обновленных битовых надежностей, определенных для каждого n какAt step 630, a threshold is calculated. In one embodiment, the threshold is set equal to the minimum value for all n from the set of updated bit reliability defined for each n as

Zn = Rn + Σ (-1)Smn Ymn min для

Figure 00000005
.Z n = R n + Σ (-1) Smn Y mn min for
Figure 00000005
.

Эти обновленные битовые надежности также будут выполнять функцию надежностей для сравнения в процессе декодирования. В одном варианте обеспечивается многозначный порог путем вычисления значения для порога во время каждой итерации процесса декодирования. Такой подход является адаптивным. В одном варианте многозначный порог может быть обеспечен путем вычисления значения для порога во время первой итерации с использованием обновленных битовых надежностей и обеспечивается в виде фиксированного значения, такого как нуль, для остальных итераций. В одном варианте многозначный порог может быть обеспечен путем вычисления значения для порога во время первой итерации с использованием обновленных битовых надежностей и использованием этого значения для первой половины от общего количества итераций и затем с использованием фиксированного значения, например, нуля, для другой половины всех итераций.These updated bit reliability will also serve as reliability for comparison in the decoding process. In one embodiment, a multi-valued threshold is provided by calculating a value for the threshold during each iteration of the decoding process. This approach is adaptive. In one embodiment, a multi-valued threshold can be provided by calculating the value for the threshold during the first iteration using updated bit reliabilities and provided as a fixed value, such as zero, for the remaining iterations. In one embodiment, a multi-valued threshold can be provided by calculating the value for the threshold during the first iteration using updated bit reliabilities and using this value for the first half of the total number of iterations and then using a fixed value, for example, zero, for the other half of all iterations.

В одном варианте многозначный порог может быть обеспечен путем использования заранее определенного набора порогов, где используемое значение коррелируется с номером итерации, в котором оно применяется. В одном варианте заранее определенные значения присваиваются в соответствии с параметрами канала связи, из которого получено принятое кодовое слово. Эти параметры могут включать в себя набор отношений сигнал-шум, набор других канальных параметров или набор стандартных (среднеквадратических) отклонений, коррелированных с канальными параметрами. В одном варианте заранее определенный набор параметров может быть определен посредством процесса моделирования. Один такой процесс может включать в себя моделирование процесса декодирования для обеспечения набора порогов для данного отношения сигнал-шум и установку порога для данного отношения сигнал-шум в виде среднего значения набора моделированных порогов. Этот процесс может выполняться для каждого отношения сигнал-шум в наборе отношений сигнал-шум. Можно реализовать другие статистические вариации в моделированных порогах для процесса декодирования. Эти заранее определенные значения, какой бы вариант ни использовался для обеспечения этих значений, могут быть запомнены в виде таблицы. В дополнение к программной реализации, эти таблицы облегчают аппаратные реализации, путем использования краткой справочной таблицы.In one embodiment, a multi-valued threshold can be provided by using a predetermined set of thresholds where the value used is correlated with the iteration number in which it is applied. In one embodiment, predetermined values are assigned in accordance with the parameters of the communication channel from which the received codeword is derived. These parameters may include a set of signal-to-noise ratios, a set of other channel parameters, or a set of standard (mean square) deviations correlated with channel parameters. In one embodiment, a predetermined set of parameters can be determined through a modeling process. One such process may include modeling a decoding process to provide a set of thresholds for a given signal-to-noise ratio and setting a threshold for a given signal-to-noise ratio as an average of a set of simulated thresholds. This process can be performed for each signal to noise ratio in the set of signal to noise ratios. You can implement other statistical variations in the simulated thresholds for the decoding process. These predefined values, whichever option is used to provide these values, can be stored in a table. In addition to the software implementation, these tables facilitate hardware implementations by using a quick reference table.

В одном варианте пороги выбирают для множества рабочих режимов декодирования. В одном режиме при декодировании исправляется одна или две ошибки. В этом режиме процесс декодирования не вносит дополнительной ошибки в вектор кодового слова. В другом варианте процесс декодирования исправляет более одной ошибки за одну итерацию и может исправить одну или две ошибки в последующей итерации.In one embodiment, thresholds are selected for a plurality of decoding operating modes. In one mode, one or two errors are corrected during decoding. In this mode, the decoding process does not introduce an additional error into the codeword vector. In another embodiment, the decoding process corrects more than one error in one iteration and can correct one or two errors in a subsequent iteration.

Можно использовать различные комбинации для обеспечения множества пороговых значений в ходе процесса итерации в зависимости от допустимой сложности для данного приложения.Various combinations can be used to provide many threshold values during the iteration process, depending on the permissible complexity for a given application.

На шаге 640 выполняется обновление битовой надежности контроля четности. Вычисляется набор надежностей для сравнения исходя из надежностей контроля четности, что может рассматриваться как голосование для контроля четности. Для каждого n и каждого

Figure 00000005
величина Zmn определяется какAt step 640, the parity check bit reliability is updated. A set of reliability is calculated for comparison based on the reliability of the parity, which can be considered as a vote for parity. For each n and each
Figure 00000005
the value of Z mn is defined as

Zmn = Rn + Σ (-1)Sm'n Ym'n min для

Figure 00000008
N(n)/m.Z mn = R n + Σ (-1) Sm'n Y m'n min for
Figure 00000008
N (n) / m.

Для каждого n битовые надежности контроля четности обновляются как соответствующие жесткие решения Xmn на основе надежностей для сравнения Zmn. Обновление надежности или жесткое решение включает в себя поддержание значения надежности или жесткого решения, если сравнение показывает, что надежность или жесткое решение должно остаться тем же самым. For each n, the parity bit reliability is updated as the corresponding hard decisions X mn based on the reliability for comparison of Z mn . A reliability update or a tough decision includes maintaining a reliability or tough decision if the comparison shows that the reliability or tough decision should remain the same.

{Zmn, {Z mn, Zmn > 0Z mn > 0 Ymn = {-Zmn, Y mn = {-Z mn, Zmn < порогаZ mn <threshold {0;{0; в противном случаеotherwise Xmn, X mn Zmn > порогаZ mn > threshold Xmn = {X mn = { 1-Xmn, 1-X mn, Zmn < порогаZ mn <threshold

На шаге 650 создается новый вектор С жесткого решения на основе надежностей для сравнения или обновленных битовых надежностей Zn в видеIn step 650, a new vector C of a robust reliability solution is created for comparison or updated bit reliability Z n in the form

Xi,X i Zi>0Z i > 0 Ci = {C i = { 1-Xi, 1-X i Zi<0.Z i <0.

Обновление бита включает в себя сохранение значения бита, если сравнение показывает, что бит должен остаться тем же самым. Члены Сi обеспечивают биты тестового кодового слова для определения того, было ли создано достоверное кодовое слово. На шаге 660 выполняется оценка достоверности тестового кодового слова. Если появляется следующее соотношениеUpdating a bit involves storing the bit value if the comparison shows that the bit should remain the same. Members C i provide bits of a test codeword to determine whether a valid codeword has been generated. At step 660, an assessment of the validity of the test codeword is performed. If the following relationship appears

CHТ ≠ 0,CH T ≠ 0,

то итеративный процесс возвращается к шагу 620, используя обновленные значения надежности контроля четности.then the iterative process returns to step 620 using the updated parity reliability values.

Другой вариант способа для итеративного декодирования кодового слова LDPC с использованием порога, имеющего множество значений, включает в себя присвоение порогу только двух значений во время итеративного процесса. Первое значение устанавливается равным минимальной из обновленных надежностей Zn для Zn, созданных в первой итерации до выполнения сравнений решений. Второе значение устанавливается равным нулю для последующих итераций. Указанный вариант обеспечивает выигрыш 0,5 дБ за время декодирования по сравнению с другими известными схемами быстрого декодирования, имеющими фактически аналогичную сложность.Another embodiment of a method for iteratively decoding an LDPC codeword using a threshold having a plurality of values includes assigning to the threshold only two values during an iterative process. The first value is set equal to the minimum of the updated reliability Z n for Z n created in the first iteration before making comparisons of solutions. The second value is set to zero for subsequent iterations. This option provides a gain of 0.5 dB during decoding compared with other known fast decoding schemes having virtually the same complexity.

В вариантах для схем с множеством порогов декодируется любой код LDPC в любой ситуации. Однако, для заранее заданного кода и известных свойств канала пороги могут выбираться более точно. В различных вариантах количество итераций может быть принято равным log2 n, где n - длина кодового слова. Это обеспечивает максимальное количество итераций для выполнения до завершения итерации до восстановления достоверного кодового слова. Эксперименты показывают, что настройка и оптимизация порога обеспечивают увеличение выигрыша по BER, но определение точной зависимости между порогами, структурой кода и свойствами канала зависит от конкретного приложения.In embodiments for multi-threshold schemes, any LDPC code is decoded in any situation. However, for a predetermined code and known channel properties, thresholds can be selected more accurately. In various embodiments, the number of iterations can be taken equal to log 2 n, where n is the length of the code word. This provides the maximum number of iterations to be performed until the completion of the iteration before the restoration of a valid codeword. Experiments show that tuning and optimizing the threshold provides an increase in BER gain, but determining the exact relationship between the thresholds, code structure, and channel properties depends on the particular application.

Различные варианты или комбинации вариантов для устройства и способов для декодирования и кодирования сигналов связи с использованием описанных здесь многопороговых схем можно реализовать аппаратными средствами, программными средствами и комбинациями аппаратных и программных средств. Эти реализации могут включать в себя машиночитаемый носитель, имеющий считываемые компьютером команды для выполнения способа декодирования и/или кодирования с использованием варианта схемы, где применяется множество порогов для итеративного кодирования. Машиночитаемый носитель не ограничивается носителем какого-либо одного типа. Используемый машиночитаемый носитель зависит от приложения, использующего вариант схемы с множеством порогов. В одном варианте процессор, подсоединенный к приемнику и/или передатчику, может использовать различные виды памяти, к которой он подсоединен, и машиночитаемый носитель для управления декодированием и/или кодированием информации для передачи данных. В одном варианте в памяти могут запоминаться параметры, используемые для итеративного декодирования принятого кодового слова.Various variations or combinations of variations for a device and methods for decoding and encoding communication signals using the multi-threshold schemes described herein may be implemented in hardware, software, and combinations of hardware and software. These implementations may include computer-readable media having computer-readable instructions for performing a decoding and / or encoding method using an embodiment of a scheme where multiple thresholds are used for iterative encoding. Machine-readable media is not limited to any one type of media. The computer-readable medium used depends on the application using the multi-threshold scheme option. In one embodiment, a processor connected to a receiver and / or transmitter may use various types of memory to which it is connected and a computer-readable medium for controlling decoding and / or encoding of information for data transmission. In one embodiment, the parameters used to iteratively decode the received codeword may be stored in memory.

Хотя вариант способа с использованием многозначного порога можно использовать с любым кодом LDPC, далее представлен один пример, не являющийся ограничением. Этот пример представляет вариант способа декодирования с использованием декодера с множеством порогов для высоко-избыточного кода с контролем четности на основе кодов Рида-Соломона с двумя информационными символами (код RS-LDPC). Это пример (n, γ, ρ) кода RS-LDPC с n=32, γ=4 и ρ=3, причем скорость R примерно равна 0,4, а матрица контроля четности выглядит следующим образом:Although a multi-valued threshold method variant can be used with any LDPC code, one example is provided below, which is not a limitation. This example represents an embodiment of a decoding method using a multi-threshold decoder for a high redundancy parity check code based on Reed-Solomon codes with two information symbols (RS-LDPC code). This is an example (n, γ, ρ) of the RS-LDPC code with n = 32, γ = 4, and ρ = 3, and the speed R is approximately equal to 0.4, and the parity matrix is as follows:

HRS-LDPC =H RS-LDPC =

1000000010,000,000 1000000010,000,000 1000000010,000,000 1000000010,000,000 0000100000001000 0000001000000010 0000010000000100 0100000001000000 0000010000000100 0000000100000001 0000001000000010 0010000000100000 0000001000000010 0100000001000000 0000000100000001 0001000000010000 0000000100000001 0010000000100000 0100000001000000 0000100000001000 0100000001000000 0001000000010000 0010000000100000 0000010000000100 0010000000100000 0000100000001000 0001000000010000 0000001000000010 0001000000010000 0000010000000100 0000100000001000 0000000100000001 1000000010,000,000 0000100000001000 0000000100000001 0100000001000000 0000100000001000 0000000100000001 0100000001000000 1000000010,000,000 0000010000000100 0000001000000010 0000100000001000 0000001000000010 0000001000000010 0001000000010000 1000000010,000,000 0000100000001000 0000000100000001 0000010000000100 0000010000000100 0001000000010000 0100000001000000 0100000001000000 0001000000010000 0000000100000001 0010000000100000 1000000010,000,000 0010000000100000 0010000000100000 0001000000010000 0010000000100000 0000001000000010 0000010000000100 1000000010,000,000 0000010000000100 0100000001000000 0010000000100000 0000100000001000 0001000000010000 0000000100000001 0000001000000010 0000010000000100 0100000001000000 0010000000100000 1000000010,000,000 0000001000000010 0000000100000001 0000010000000100 0000000100000001 0000000100000001 0000100000001000 1000000010,000,000 0000010000000100 0100000001000000 0000001000000010 0000001000000010 0000100000001000 0010000000100000 0010000000100000 0000100000001000 0100000001000000 0001000000010000 1000000010,000,000 0001000000010000 0001000000010000

Для этого примера принятый вектор Y={Yi} имеет длину кодового слова 32:For this example, the received vector Y = {Y i } has a codeword length of 32:

+0,22+0.22 +1,47+1.47 +0,52+0.52 +0,83+0.83 -2,38-2.38 +0,71+0.71 +1,44+1.44 -1,95-1.95 +0,08+0.08 -0,14-0.14 +1,19+1.19 +0,19+0.19 -1,86-1.86 -0,16-0.16 +0,94+0.94 +0,05+0.05 +1,01+1.01 -0,42-0.42 +0,78+0.78 -1,54-1.54 -0,84-0.84 +1,44+1.44 +1,65+1.65 -0,45-0.45 +0,94+0.94 -2,08-2.08 -1,31-1.31 +1,91+1.91 -0,69-0.69 +1,04+1.04 +1,39+1.39 +0,83+0.83

В этом варианте количество итераций установлено равным log2n, где n - длина кодового слова. Для n = 32 количество итераций составляет 5. Пороги для итераций 1, 2 и 3 устанавливаются по минимальной из обновленных битовых надежностей Zn, вычисленных в первой итерации. Пороги для итераций 4 и 5 установлены в 0.In this embodiment, the number of iterations is set to log 2 n, where n is the codeword length. For n = 32, the number of iterations is 5. Thresholds for iterations 1, 2, and 3 are set according to the minimum of updated bit reliability Z n calculated in the first iteration. Thresholds for iterations 4 and 5 are set to 0.

При инициализации вектора жесткого решения X={Xi} выглядит следующим образом:When initializing the hard decision vector, X = {X i } as follows:

1 1 1 1 0 1 1 0 1 0 1 1 0 0 1 11 1 1 1 0 1 1 0 1 0 1 1 0 0 1 1

1 0 1 0 0 1 1 0 1 0 0 1 0 1 1 11 0 1 0 0 1 1 0 1 0 0 1 0 1 1 1

битовые надежности Ri составляют bit reliability R i are

+0,22+0.22 +1,47+1.47 +0,52+0.52 +0,83+0.83 +2,38+2.38 +0,71+0.71 +1,44+1.44 +1,95+1.95 +0,08+0.08 +0,14+0.14 +1,19+1.19 +0,19+0.19 +1,86+1.86 +0,16+0.16 +0,94+0.94 +0,05+0.05 +1,01+1.01 +0,42+0.42 +0,78+0.78 +1,54+1.54 +0,84+0.84 +1,44+1.44 +1,65+1.65 +0,45+0.45 +0,94+0.94 +2,08+2.08 +1,31+1.31 +1,91+1.91 +0,69+0.69 +1,04+1.04 +1,39+1.39 +0,83+0.83

а надежности контроля четности первоначально установлены в видеand the reliability of the parity is initially set as

Ymn:Y mn :

Figure 00000009
Figure 00000009

Figure 00000010
Figure 00000010

На первой итерации вычисляются контрольные суммы, а минимальные надежности контроля четности Ymn-min определяются какAt the first iteration, checksums are calculated, and the minimum reliability of the parity control Y mn-min is defined as

контрольные суммы Smn:checksums S mn :

Figure 00000011
Figure 00000011

Figure 00000012
Figure 00000012

Ymn-min:Y mn-min :

Figure 00000013
Figure 00000013

Порог вычисляется в результате первого вычисления обновленных битовых надежностей (битовых надежностей для сравнения) Zn какThe threshold is calculated as a result of the first calculation of the updated bit reliability (bit reliability for comparison) Z n as

Zn:Z n :

Figure 00000014
Figure 00000014

Из этих значений Zn определяется, что порог равен -1,04.From these values of Z n it is determined that the threshold is -1.04.

Формируются надежности для сравнения Zmn, и обновляются надежности контроля четности Ymn и соответствующие жесткие решения Xmn следующим образомReliability is formed for comparison Z mn , and the reliability of the parity check Y mn and the corresponding hard decisions X mn are updated as follows

Zmn:Z mn :

Figure 00000015
Figure 00000015

Ymn:Y mn :

Figure 00000016
Figure 00000016

Figure 00000017
Figure 00000017

Xmn:X mn :

Figure 00000018
Figure 00000018

Figure 00000019
Figure 00000019

Затем формируется тестовое кодовое слово в виде восстановленного кодового словаThen, a test codeword is generated in the form of a reconstructed codeword

C={Ci}:C = {C i }:

0 1 1 1 0 0 1 0 0 0 1 1 0 0 1 10 1 1 1 0 0 1 0 0 0 1 1 0 0 1 1

1 1 1 0 0 1 1 0 1 0 0 1 1 1 1 11 1 1 0 0 1 1 0 1 0 0 1 1 1 1 1

Тестовое кодовое слово С таково, что HCT ≠ 0, и выполняется вторая итерация. Итерация 2 начинается с вычисления новых контрольных сумм и новых минимальных надежностей контроля четности Ymn-min как контрольных сумм Smn:The test codeword C is such that HC T ≠ 0, and the second iteration is performed. Iteration 2 begins with the calculation of new checksums and new minimum reliability parity control Y mn-min as checksums S mn :

Figure 00000020
Figure 00000020

Figure 00000021
Figure 00000021

Ymn-min:Y mn-min :

Figure 00000022
Figure 00000022

Порогу для итераций 1, 2 и 3 присвоено минимальное значение обновленных битовых надежностей (битовые надежности для сравнения) Zn, вычисленных в первой итерации. Таким образом, в этой итерации порог устанавливают равным -1,04, как в первой итерации. Обновленные битовые надежности (битовые надежности для сравнения) Zn для второй итерации определяются как:The threshold for iterations 1, 2, and 3 is assigned the minimum value of the updated bit reliability (bit reliability for comparison) Z n calculated in the first iteration. Thus, in this iteration, the threshold is set to -1.04, as in the first iteration. Updated bit reliability (bit reliability for comparison) Z n for the second iteration are defined as:

Zn:Z n :

Figure 00000023
Figure 00000023

Формируются надежности для сравнения Zmn для второй итерации, и надежности контроля четности Ymn для второй итерации и обновляются соответствующие жесткие решения Xmn следующим образом.Reliability is formed for comparison Z mn for the second iteration, and parity reliability Y mn for the second iteration, and the corresponding hard solutions X mn are updated as follows.

Zmn:Z mn :

Figure 00000024
Figure 00000024

Ymn:Y mn :

Figure 00000025
Figure 00000025

Xmn:X mn :

Figure 00000026
Figure 00000026

Figure 00000027
Figure 00000027

Затем формируется тестовое кодовое слово в виде восстановленного кодового словаThen, a test codeword is generated in the form of a reconstructed codeword

C ={Ci}:C = {C i }:

0 1 1 1 0 0 1 0 0 0 1 1 0 0 1 10 1 1 1 0 0 1 0 0 0 1 1 0 0 1 1

1 0 1 0 0 1 1 0 1 0 0 1 1 1 1 11 0 1 0 0 1 1 0 1 0 0 1 1 1 1 1

Тестовое кодовое слово С таково, что HCT=0, и декодирование заканчивается, поскольку считается успешным. В этом примере итерации 3-5 не требуются, и итерации завершаются. Хотя было выбрано второе значение, которое планировалось использовать в итерациях 4 и 5, необходимость в нем отпала. Этот пример реализации варианта схемы многопорогового декодирования не следует рассматривать как ограничение для различных вариантов осуществления настоящего изобретения.The test codeword C is such that HC T = 0, and decoding ends because it is considered successful. In this example, iterations 3-5 are not required, and the iterations are completed. Although the second value was chosen, which was planned to be used in iterations 4 and 5, the need for it disappeared. This example implementation of a multi-threshold decoding scheme should not be construed as limiting for various embodiments of the present invention.

Различные варианты декодирования принятого кодового слова с использованием многозначного порога могут быть применены для любого высоко-избыточного кода с контролем четности. В указанных вариантах, когда вес проверки четности уменьшается, качество декодирования возрастает. Эти варианты могут быть применены в способе, не сильно усложняющем схему декодирования. В зависимости от допустимой сложности для данного приложения могут быть использованы различные комбинации для обеспечения множества пороговых значений во время итеративного процесса. Использование вариантов способа многопорогового декодирования обеспечивает дополнительное уменьшение сложности, поскольку эти варианты могут действовать в аппаратных реализациях без чисел с плавающей точкой, что упрощает и удешевляет общее техническое решение. Варианты схемы многопорогового декодирования позволяют выполнять конвейерную и/или параллельную обработку в аппаратных реализациях, поскольку использование многозначного порога может обеспечить схему быстрого декодирования.Various options for decoding a received codeword using a multi-valued threshold can be applied to any high-redundancy parity code. In these embodiments, when the weight of the parity check decreases, the decoding quality increases. These options can be applied in a method that does not greatly complicate the decoding scheme. Depending on the permissible complexity for a given application, various combinations can be used to provide multiple threshold values during an iterative process. The use of variants of the multi-threshold decoding method provides an additional reduction in complexity, since these variants can operate in hardware implementations without floating-point numbers, which simplifies and reduces the cost of the overall technical solution. Variants of a multi-threshold decoding scheme allow pipelining and / or parallel processing in hardware implementations, since the use of a multi-valued threshold can provide a fast decoding scheme.

Варианты схемы многопорогового декодирования можно адаптировать для использования в любой системе, работающей с каналом связи. Канал связи может являться частью наземной сети связи или беспроводной сети связи. Варианты настоящего изобретения действительно могут быть с успехом реализованы как часть любой беспроводной системы, где используются каналы беспроводной связи с несколькими несущими (например, ортогональное мультиплексирование с частотным разделением (OFDM), дискретная многотональная модуляция (DMT), и т.д.), например, могут быть использованы без ограничения в беспроводной персональной сети (WPAN), беспроводной локальной сети (WLAN), беспроводной городской сети WMAN), беспроводной глобальной сети (WWAN), сотовой сети, сети третьего поколения (3G), сети четвертого поколения (4G), универсальной системе мобильной телефонной связи (UMTS) и аналогичных системах связи.Variants of a multi-threshold decoding scheme can be adapted for use in any system operating with a communication channel. The communication channel may be part of a terrestrial communications network or a wireless communications network. Embodiments of the present invention can indeed be successfully implemented as part of any wireless system where multi-carrier wireless communication channels are used (eg, orthogonal frequency division multiplexing (OFDM), discrete multi-tone modulation (DMT), etc.), for example can be used without limitation in wireless personal area network (WPAN), wireless local area network (WLAN), wireless urban network WMAN), wireless wide area network (WWAN), cellular network, third generation network (3G), network fourth generation (4G), universal mobile telephone system (UMTS) and similar communication systems.

Хотя выше показаны и описаны конкретные варианты осуществления изобретения, специалистам в данной области техники должно быть ясно, что представленные конкретные варианты можно заменить любой структурой, которая вычисляется для достижения той же цели. Подразумевается, что данная заявка охватывает любые адаптации или видоизменения вариантов настоящего изобретения. Должно быть ясно, что вышеприведенное описание предназначено для иллюстрации, а не ограничения, и что использованная здесь фразеология или терминология принята в целях описания, а не ограничения. На основе вышеприведенного описания специалисты в данной области техники без труда смогут предложить комбинации вышеописанных вариантов и другие варианты изобретения. Объем настоящего изобретения включает в себя любые иные приложения, в которых используются варианты вышеописанных структур и способов реализации. Объем вариантов осуществления настоящего изобретения следует определять согласно формуле изобретения вместе с полным объемом соответствующих ей эквивалентов.Although specific embodiments of the invention have been shown and described above, it should be apparent to those skilled in the art that the specific embodiments presented can be replaced by any structure that is calculated to achieve the same goal. It is intended that this application cover any adaptations or modifications to the variations of the present invention. It should be clear that the above description is intended to illustrate and not limit, and that the phraseology or terminology used here is adopted for the purpose of description and not limitation. Based on the foregoing description, those skilled in the art will readily be able to propose combinations of the above options and other embodiments of the invention. The scope of the present invention includes any other applications that use variants of the above structures and implementation methods. The scope of embodiments of the present invention should be determined according to the claims, together with the full scope of its equivalents.

Claims (46)

1. Способ для итеративного декодирования принятого кодового слова, содержащий1. A method for iteratively decoding a received codeword, comprising прием кодового слова из канала связи, причем кодовое слово является высоко-избыточным кодовым словом с контролем четности;receiving a codeword from a communication channel, the codeword being a highly redundant parity-controlled codeword; выполнение процесса мягкого решения для каждого бита принятого кодового слова, чтобы сгенерировать принятый вектор, из которого генерируются вектор жесткого решения и начальные битовые надежности;performing a soft decision process for each bit of the received codeword to generate a received vector from which the hard decision vector and initial bit reliability are generated; итеративное декодирование принятого кодового слова с использованием битовых надежностей, так что каждая итерация включает в себяiteratively decoding the received codeword using bit reliability, so that each iteration includes выбор значения для порога, причем порог обновляется для обеспечения множества пороговых значений в ходе итеративного декодирования, так что, по меньшей мере, два разных пороговых значения используются для итеративного декодирования принятого кодового слова, причем начальное значение для порога вычисляется с использованием начальных битовых надежностей;selecting a value for the threshold, the threshold being updated to provide a plurality of threshold values during iterative decoding, so that at least two different threshold values are used to iteratively decode the received codeword, the initial value for the threshold being calculated using the initial bit reliability; обновление каждой битовой надежности на основе сравнения с использованием значения порога для итерации; иupdating each bit reliability based on a comparison using a threshold value for iteration; and восстановление принятого кодового слова на основе сравнения обновленных битовых надежностей с порогом.restoration of the received codeword based on a comparison of the updated bit reliability with a threshold. 2. Способ по п.1, в котором итеративное декодирование принятого кодового слова включает в себя использование ненулевого значения для порога в первой итерации и использование нуля в качестве порогового значения в других итерациях.2. The method of claim 1, wherein iteratively decoding the received codeword includes using a non-zero value for a threshold in the first iteration and using zero as a threshold value in other iterations. 3. Способ по п.1, в котором способ включает в себя исправление одного или нескольких битов тестового кодового слова на основе сравнения обновленной битовой надежности с порогом для обеспечения достоверного кодового слова, причем тестовое кодовое слово первоначально генерируется из принятого кодового слова.3. The method of claim 1, wherein the method includes correcting one or more bits of a test codeword based on comparing the updated bit reliability with a threshold to provide a valid codeword, wherein the test codeword is initially generated from the received codeword. 4. Способ по п.1, в котором использование порога включает в себя использование порога со значением, вычисленным с использованием минимальной надежности для сравнения из набора надежностей для сравнения, причем каждую надежность для сравнения вычисляют на основе начальной битовой надежности и набора надежностей контроля четности.4. The method according to claim 1, in which the use of a threshold includes using a threshold with a value calculated using the minimum reliability for comparison from a set of reliability for comparison, each reliability for comparison is calculated based on the initial bit reliability and a set of parity reliability. 5. Способ по п.1, в котором генерирование начальных битовых надежностей включает в себя генерирование начальных битовых надежностей, коррелированных с каналом связи.5. The method according to claim 1, in which the generation of initial bit reliability includes the generation of initial bit reliability correlated with the communication channel. 6. Способ по п.1, в котором для каждого бита принятого вектора битовую надежность генерируют в виде абсолютного значения бита принятого вектора.6. The method according to claim 1, in which for each bit of the received vector bit reliability is generated in the form of the absolute value of the bits of the received vector. 7. Способ по п.1, в котором способ включает в себя вычисление надежности контроля четности для каждой проверки четности из набора проверок четности принятого кодового слова.7. The method according to claim 1, in which the method includes calculating the reliability of the parity for each parity from a set of parity checks of the received codeword. 8. Способ по п.7, включающий в себя8. The method according to claim 7, including формирование первой надежности для сравнения на основе начальной битовой надежности, относящейся к биту вектора жесткого решения, и на основе первого поднабора надежностей контроля четности;the formation of the first reliability for comparison based on the initial bit reliability related to the bit of the hard decision vector, and on the basis of the first subset of the reliability of the parity; сравнение первой надежности для сравнения с порогом;comparison of the first reliability for comparison with a threshold; обновление надежности контроля четности на основе сравнения первой надежности для сравнения с порогом;updating the reliability of parity based on a comparison of the first reliability for comparison with a threshold; формирование второй надежности для сравнения на основе начальной битовой надежности, и на основе второго поднабора надежностей контроля четности;generating a second reliability for comparison based on the initial bit reliability, and on the basis of a second subset of the parity reliability; обновление бита тестового кодового слова на основе сравнения второй надежности для сравнения с установленным значением; иupdating the bit of the test codeword based on the comparison of the second reliability for comparison with the set value; and определение того, является ли тестовое кодовое слово достоверным кодовым словом.determining whether the test codeword is a valid codeword. 9. Способ по п.8, в котором обновление бита тестового кодового слова включает в себя изменение значения бита на противоположное.9. The method of claim 8, wherein updating the bit of the test codeword includes reversing the value of the bit. 10. Способ по п.8, в котором обновление бита тестового кодового слова на основе сравнения второй надежности для сравнения с установленным значением включает в себя обновление бита тестового кодового слова на основе сравнения с нулем второй надежности для сравнения.10. The method of claim 8, in which updating the bit of the test codeword based on the comparison of the second reliability for comparison with the set value includes updating the bit of the test codeword based on the comparison with zero of the second reliability for comparison. 11. Способ по п.1, в котором итеративное декодирование принятого кодового слова включает в себя выполнение нескольких итераций, причем количество итераций равно log2n, где n - длина кода кодового слова.11. The method according to claim 1, in which iterative decoding of the received codeword includes performing several iterations, the number of iterations being equal to log 2 n, where n is the length of the codeword code. 12. Способ для кодирования информационных битов кодового слова, содержащий12. A method for encoding information bits of a codeword, comprising прием информационных битов в кодере;receiving information bits in the encoder; предоставление параметров высокоизбыточного кода с контролем четности, которые также предоставляются процессу декодирования;providing parameters of a high-redundancy code with parity, which are also provided to the decoding process; кодирование информационных битов для обеспечения высоко-избыточного кодового слова с контролем четности с использованием параметров высоко-избыточного кода с контролем четности, так что версия закодированного кодового слова после приема итеративно декодируется с использованием битовой надежности, обновленной посредством сравнения с порогом, где порог обновлен, чтобы предоставить множество значений в ходе итеративного процесса; иencoding information bits to provide a high-redundancy codeword with parity using parameters of a high-redundancy codeword with parity, so that the received version of the encoded codeword is iteratively decoded using bit reliability updated by comparison with a threshold where the threshold is updated to provide many values during the iterative process; and передачу высокоизбыточного кодового слова с контролем четности по каналу связи.transmitting a highly redundant code word with parity through a communication channel. 13. Способ по п.12, в котором передача высокоизбыточного кодового слова с контролем четности по каналу связи включает в себя передачу высокоизбыточного кодового слова с контролем четности по волоконно-оптическому каналу.13. The method of claim 12, wherein transmitting the highly redundant parity codeword over a communication channel includes transmitting a highly redundant parity codeword over a fiber optic channel. 14. Способ по п.12, в котором передача высокоизбыточного кодового слова с контролем четности по каналу связи включает в себя передачу высокоизбыточного кодового слова с контролем четности по каналу, считывающему данные, хранящиеся в блоке памяти.14. The method according to item 12, in which the transmission of a highly redundant code word with parity through a communication channel includes transmitting a highly redundant code word with a parity through a channel that reads data stored in the memory unit. 15. Способ по п.12, в котором передача кодового слова включает в себя беспроводную передачу кодового слова.15. The method according to item 12, in which the transmission of the code word includes a wireless transmission of the code word. 16. Машиночитаемый носитель, имеющий исполняемые компьютером команды для выполнения способа, содержащего16. A computer-readable medium having computer-executable instructions for executing a method comprising прием кодового слова из канала связи, причем кодовое слово является высокоизбыточным кодовым словом с контролем четности;receiving a codeword from a communication channel, wherein the codeword is a highly redundant codeword with parity; выполнение процесса мягкого решения для каждого бита принятого кодового слова, чтобы сгенерировать принятый вектор, из которого генерируются вектор жесткого решения и начальные битовые надежности;performing a soft decision process for each bit of the received codeword to generate a received vector from which the hard decision vector and initial bit reliability are generated; итеративное декодирование принятого кодового слова с использованием битовых надежностей, так что каждая итерация включает в себяiteratively decoding the received codeword using bit reliability, so that each iteration includes выбор значения для порога, причем порог обновляется для обеспечения множества пороговых значений в ходе итеративного декодирования, так что, по меньшей мере, два разных пороговых значения используются для итеративного декодирования принятого кодового слова, причем начальное значение для порога вычисляется с использованием начальных битовых надежностей;selecting a value for the threshold, the threshold being updated to provide a plurality of threshold values during iterative decoding, so that at least two different threshold values are used to iteratively decode the received codeword, the initial value for the threshold being calculated using the initial bit reliability; обновление каждой битовой надежности на основе сравнения с использованием значения порога для итерации; иupdating each bit reliability based on a comparison using a threshold value for iteration; and восстановление принятого кодового слова на основе сравнения обновленных битовых надежностей с порогом.restoration of the received codeword based on a comparison of the updated bit reliability with a threshold. 17. Машиночитаемый носитель по п.16, в котором способ включает в себя исправление одного или нескольких битов тестового кодового слова, первоначально созданного из принятого кодового слова для обеспечения достоверного кодового слова.17. The computer-readable medium of claim 16, wherein the method includes correcting one or more bits of a test codeword originally created from the received codeword to provide a valid codeword. 18. Машиночитаемый носитель по п.16, в котором способ включает в себя обеспечение слова сообщения из принятого кодового слова после итеративного декодирования принятого кодового слова.18. The computer-readable medium of claim 16, wherein the method includes providing a message word from a received codeword after iteratively decoding the received codeword. 19. Машиночитаемый носитель по п.16, в котором генерирование начальных битовых надежностей включает в себя генерирование начальных битовых надежностей, коррелированных с каналом связи.19. The computer readable medium of claim 16, wherein generating the initial bit reliability includes generating initial bit reliability correlated with the communication channel. 20. Машиночитаемый носитель по п.16, в котором использование порога включает в себя использование порога со значением, вычисленным с использованием минимальной надежности для20. The computer-readable medium of claim 16, wherein using a threshold includes using a threshold with a value calculated using the minimum reliability for сравнения из набора надежностей для сравнения, причем каждая надежность для сравнения вычисляется на основе начальной битовой надежности и набора надежностей контроля четности.comparison from a set of reliability for comparison, and each reliability for comparison is calculated on the basis of the initial bit reliability and the set of reliability of the parity. 21. Машиночитаемый носитель по п.16, причем машиночитаемый носитель является компонентой беспроводного устройства.21. The computer-readable medium of claim 16, wherein the computer-readable medium is a component of a wireless device. 22. Машиночитаемый носитель, имеющий исполняемые компьютером команды для выполнения способа, содержащего22. Machine-readable medium having computer-executable instructions for executing a method comprising прием информационных битов в кодере;receiving information bits in the encoder; предоставление параметров высокоизбыточного кода с контролем четности, которые также предоставляются процессу декодирования;providing parameters of a high-redundancy code with parity, which are also provided to the decoding process; кодирование информационных битов для обеспечения высокоизбыточного кодового слова с контролем четности с использованием параметров высокоизбыточного кода с контролем четности, так что версия закодированного кодового слова после приема итеративно декодируется с использованием битовой надежности, обновленной посредством сравнения с порогом, где порог обновлен, чтобы предоставить множество значений в ходе итеративного процесса; иencoding information bits to provide a highly redundant parity-controlled codeword using the parameters of a high-redundancy parity code, so that the received version of the encoded codeword is iteratively decoded using bit reliability updated by comparison with a threshold where the threshold is updated to provide a plurality of values in the course of the iterative process; and передачу высокоизбыточного кодового слова с контролем четности по каналу связи.transmitting a highly redundant code word with parity through a communication channel. 23. Машиночитаемый носитель по п.22, в котором передача высокоизбыточного кодового слова с контролем четности по каналу связи включает в себя передачу высокоизбыточного кодового слова с контролем четности по волоконно-оптическому каналу.23. The machine-readable medium of claim 22, wherein transmitting the highly redundant parity codeword through a communication channel includes transmitting a highly redundant parity codeword through a fiber optic channel. 24. Машиночитаемый носитель по п.22, в котором передача высокоизбыточного кодового слова с контролем четности по каналу связи включает в себя передачу высокоизбыточного кодового слова с контролем четности по каналу, считывающему данные, хранящиеся в блоке памяти.24. The machine-readable medium of claim 22, wherein transmitting the highly redundant parity codeword through a communication channel includes transmitting a highly redundant parity codeword through a channel reading data stored in a memory unit. 25. Машиночитаемый носитель по п.22, причем машиночитаемый носитель является компонентой беспроводной системы.25. The computer-readable medium of claim 22, wherein the computer-readable medium is a component of a wireless system. 26. Устройство для итеративного декодирования принятого кодового слова, содержащее:26. An apparatus for iteratively decoding a received codeword, comprising: приемник для приема кодового слова из канала связи, причем кодовое слово является высокоизбыточным кодовым словом с контролем четности;a receiver for receiving a codeword from a communication channel, wherein the codeword is a highly redundant codeword with parity; генератор битовых надежностей для обеспечения набора битовых надежностей, причем каждая битовая надежность соответствует биту принятого кодового слова, полученного приемником;a bit reliability generator for providing a set of bit reliability, each bit reliability corresponding to a bit of a received codeword received by the receiver; блок мягкого решения для обработки каждого бита принятого кодового слова, чтобы сгенерировать принятый вектор, из которого генерируются вектор жесткого решения и набор битовых надежностей; иa soft decision unit for processing each bit of the received codeword to generate a received vector from which the hard decision vector and the set of bit reliability are generated; and блок сравнения, сконфигурированный для использования порога, так что для каждой итерации итеративного процесса для декодирования принятого кодового слова, каждая битовая надежность обновляется на основе сравнения с использованием значения порога, выбранного для итерации, где порог обновляется для обеспечения множества пороговых значений во время итеративного декодирования, так что, по меньшей мере, два разных пороговых значения используются для итеративного декодирования принятого кодового слова, причем начальное значение для порога вычисляется с использованием начальных битовых надежностей.a comparison unit configured to use a threshold, so that for each iteration of the iterative process to decode the received codeword, each bit reliability is updated based on a comparison using the threshold value selected for iteration, where the threshold is updated to provide multiple threshold values during iterative decoding, so that at least two different threshold values are used to iteratively decode the received codeword, and the initial value for and is calculated using the initial bit reliabilities. 27. Устройство по п.26, в котором генератор начальных битовых надежностей выполнен с возможностью генерирования начальных битовых надежностей, коррелированных с каналом связи.27. The device according to p, in which the generator of initial bit reliability is configured to generate initial bit reliability correlated with the communication channel. 28. Устройство по п.27, дополнительно включающее в себя28. The device according to item 27, further comprising первый блок вычисления надежности для вычисления надежности контроля четности для каждого контроля четности из набора контролей четности принятого кодового слова;a first reliability calculation unit for calculating a parity check reliability for each parity from a set of parity checks of a received codeword; второй блок вычисления надежности для вычисления первой надежности для сравнения на основе начальной битовой надежности, относящейся к биту вектора жесткого решения, и первого поднабора надежностей контроля четности;a second reliability calculation unit for calculating a first reliability for comparison based on the initial bit reliability related to the bit of the hard decision vector and the first subset of the parity reliability; первый блок сравнения для сравнения первой надежности для сравнения с порогом для обновления надежности контроля четности на основе сравнения первой надежности для сравнения с порогом;a first comparison unit for comparing the first reliability for comparison with a threshold for updating the reliability of the parity based on comparing the first reliability for comparison with a threshold; третий блок вычисления надежности для вычисления второй надежности для сравнения на основе начальной битовой надежности и второго поднабора надежностей контроля четности;a third reliability calculation unit for calculating a second reliability for comparison based on an initial bit reliability and a second subset of parity reliability; второй блок сравнения для определения того, является ли тестовое кодовое слово достоверным кодовым словом, где тестовое кодовое слово является версией принятого кодового слова, обновленного на основе сравнения второй надежности для сравнения с установленным значением.a second comparison unit for determining whether the test codeword is a valid codeword, where the test codeword is a version of the received codeword updated based on a second reliability comparison for comparison with a set value. 29. Устройство по п.28, в котором каждый блок вычисления надежности и каждый блок сравнения включены в общий пороговый декодер.29. The device according to p, in which each unit of calculation of reliability and each unit of comparison are included in a common threshold decoder. 30. Устройство по п.29, в котором общий пороговый декодер адаптирован для обеспечения информационных битов из достоверного кодового слова.30. The device according to clause 29, in which the common threshold decoder is adapted to provide information bits from a valid code word. 31. Устройство по п.26, в котором устройство является беспроводным устройством.31. The device according to p, in which the device is a wireless device. 32. Устройство для кодирования информационных битов кодового слова, содержащее32. A device for encoding information bits of a codeword, containing передатчик;transmitter; кодер высокоизбыточного контроля четности для кодирования информационных битов в высокоизбыточное кодовое слово с контролем четности для передачи по каналу связи передатчиком, так что версия высокоизбыточного кодового слова с контролем четности после приема итеративно декодируется с использованием битовой надежности, обновленной посредством сравнения с порогом, где порог обновлен, чтобы предоставить множество значений в ходе итеративного процесса; иa high redundancy parity encoder for encoding information bits into a high redundancy parity code word for transmission over a communication channel by a transmitter, so that the version of a high redundancy parity code word is received iteratively decoded using bit reliability updated by comparison with a threshold where the threshold is updated, to provide many meanings during an iterative process; and структуру h-матрицы для использования параметров высокоизбыточного кода с контролем четности, общих для декодирующих блоков, принимающих версию переданного высокоизбыточного кодового слова с контролем четности, причем структура h-матрицы используется кодером высокоизбыточного контроля четности для генерирования высокоизбыточного кодового слова с контролем четности.an h-matrix structure for using parameters of a high redundancy parity check code common to decoding units receiving a transmitted version of a high redundancy codeword with parity, the h-matrix structure being used by a high redundancy parity encoder to generate a high redundancy parity codeword. 33. Устройство по п.32, в котором канал связи включает в себя волоконно-оптический канал.33. The device according to p, in which the communication channel includes a fiber optic channel. 34. Устройство по п.32, в котором канал связи включает в себя канал, считывающий данные, хранящиеся в блоке памяти.34. The device according to p, in which the communication channel includes a channel that reads the data stored in the memory unit. 35. Устройство по п.32, причем устройство является стационарным беспроводным устройством.35. The device according to p, and the device is a stationary wireless device. 36. Система для итеративного декодирования принятого кодового слова, содержащая36. A system for iteratively decoding a received codeword, comprising процессор;CPU; по существу, всенаправленную антенну для приема сигнала;a substantially omnidirectional antenna for receiving a signal; приемник для получения принятого кодового слова из сигнала, причем принятое кодовое слово является высокоизбыточным кодовым словом с контролем четности;a receiver for receiving the received codeword from the signal, the received codeword being a highly redundant parity-controlled codeword; декодер для итеративного декодирования принятого кодового слова, полученного приемником, причем декодер включает в себяa decoder for iteratively decoding the received codeword received by the receiver, the decoder including генератор битовых надежностей для обеспечения набора битовых надежностей, причем каждая битовая надежность соответствует биту принятого кодового слова;a bit reliability generator for providing a set of bit reliability, each bit reliability corresponding to a bit of a received codeword; блок мягкого решения для обработки каждого бита принятого кодового слова, чтобы сгенерировать принятый вектор, из которого генерируются вектор жесткого решения и набор битовых надежностей; иa soft decision unit for processing each bit of the received codeword to generate a received vector from which the hard decision vector and the set of bit reliability are generated; and блок сравнения, сконфигурированный для использования порога, так что для каждой итерации для итеративного декодирования принятого кодового слова, каждая битовая надежность обновляется на основе сравнения с использованием значения порога, выбранного для итерации, где порог обновляется для обеспечения множества пороговых значений во время итеративного декодирования, так что, по меньшей мере, два разных пороговых значения используются для итеративного декодирования принятого кодового слова, причем начальное значение для порога вычисляется с использованием начальных битовых надежностей; иa comparison unit configured to use a threshold, so that for each iteration to iteratively decode the received codeword, each bit reliability is updated based on a comparison using the threshold value selected for iteration, where the threshold is updated to provide multiple threshold values during iterative decoding, so that at least two different threshold values are used to iteratively decode the received codeword, and the initial value for the threshold is calculated It is a C using the initial bit reliabilities; and память, соединенную с процессором, причем память предназначена для запоминания параметров, используемых для итеративного декодирования принятого кодового слова.a memory connected to the processor, the memory being intended for storing parameters used for iteratively decoding the received codeword. 37.Система по п.36, причем система является портативной беспроводной системой.37. The system of claim 36, wherein the system is a portable wireless system. 38. Система по п.36, в которой нуль является значением порогового значения в итерациях, других, нежели первая итерация.38. The system of claim 36, wherein zero is a threshold value in iterations other than the first iteration. 39. Система по п.36, в которой генератор битовых надежностей и блок сравнения являются компонентами порогового декодера, адаптированного для использования обновленных пороговых значений для определения достоверного кодового слова и обеспечения информационных бит из достоверного кодового слова.39. The system of claim 36, wherein the bit reliability generator and the comparison unit are components of a threshold decoder adapted to use updated threshold values to determine a valid codeword and provide information bits from a valid codeword. 40. Система, для кодирования информационных битов кодового слова, содержащая40. A system for encoding information bits of a codeword, comprising процессор;CPU; передатчик;transmitter; кодер высокоизбыточного контроля четности для кодирования информационных битов в высокоизбыточное кодовое слово с контролем четности для передачи по каналу связи передатчиком, так что версия высокоизбыточного кодового слова с контролем четности после приема итеративно декодируется с использованием битовой надежности, обновленной посредством сравнения с порогом, где порог обновлен, чтобы предоставить множество значений в ходе итеративного процесса;a high redundancy parity encoder for encoding information bits into a high redundancy parity code word for transmission over a communication channel by a transmitter, so that the version of a high redundancy parity code word is received iteratively decoded using bit reliability updated by comparison with a threshold where the threshold is updated, to provide many meanings during an iterative process; структуру h-матрицы для использования параметров высокоизбыточного кода с контролем четности, общих для декодирующих блоков, принимающих версию переданного высокоизбыточного кодового слова с контролем четности, причем структура h-матрицы используется кодером высокоизбыточного контроля четности для генерирования высокоизбыточного кодового слова с контролем четности;an h-matrix structure for using parameters of a high redundancy parity check code common to decoding blocks receiving a transmitted version of a high redundancy codeword with a parity check, wherein the h-matrix structure is used by a high redundancy parity encoder to generate a high redundancy codeword with a parity check; память, соединенную с процессором, причем память предназначена для запоминания параметров высокоизбыточного кода с контролем четности; иa memory connected to the processor, the memory being intended for storing parameters of a highly redundant code with parity; and по существу, всенаправленную антенну, соединенную с передатчиком.essentially an omnidirectional antenna connected to a transmitter. 41. Система по п.40, причем система является стационарной беспроводной системой.41. The system of claim 40, wherein the system is a stationary wireless system. 42. Система по п.40, в которой канала связи включает в себя волоконно-оптический канал.42. The system of claim 40, wherein the communication channel includes a fiber optic channel. 43. Система для итеративного декодирования принятого кодового слова, содержащая43. A system for iteratively decoding a received codeword, comprising процессор;CPU; приемник для получения принятого кодового слова в сигнале от канала наземной связи, причем кодовое слово является высокоизбыточным кодовым словом с контролем четности;a receiver for receiving a received codeword in a signal from a terrestrial communication channel, wherein the codeword is a highly redundant codeword with parity; декодер для итеративного декодирования принятого кодового слова, полученного приемником, причем декодер включает в себяa decoder for iteratively decoding the received codeword received by the receiver, the decoder including генератор битовых надежностей для обеспечения набора битовых надежностей, причем каждая битовая надежность соответствует биту принятого кодового слова;a bit reliability generator for providing a set of bit reliability, each bit reliability corresponding to a bit of a received codeword; блок мягкого решения для обработки каждого бита принятого кодового слова, чтобы сгенерировать принятый вектор, из которого генерируются вектор жесткого решения и набор битовых надежностей; иa soft decision unit for processing each bit of the received codeword to generate a received vector from which the hard decision vector and the set of bit reliability are generated; and блок сравнения, сконфигурированный для использования порога, так что для каждой итерации для итеративного декодирования принятого кодового слова, каждая битовая надежность обновляется на основе сравнения с использованием значения порога, выбранного для итерации, где порог обновляется для обеспечения множества пороговых значений во время итеративного декодирования, так что, по меньшей мере, два разных пороговых значения используются для итеративного декодирования принятого кодового слова, причем начальное значение для порога вычисляется с использованием начальных битовых надежностей; иa comparison unit configured to use a threshold, so that for each iteration to iteratively decode the received codeword, each bit reliability is updated based on a comparison using the threshold value selected for iteration, where the threshold is updated to provide multiple threshold values during iterative decoding, so that at least two different threshold values are used to iteratively decode the received codeword, and the initial value for the threshold is calculated It is a C using the initial bit reliabilities; and память, соединенную с процессором, причем память предназначена для запоминания параметров, используемых для итеративного декодирования принятого кодового слова.a memory connected to the processor, the memory being intended for storing parameters used for iteratively decoding the received codeword. 44. Система по п.43, причем система адаптирована для подсоединения к сети волоконно-оптической связи.44. The system according to item 43, and the system is adapted for connection to a fiber optic communication network. 45. Система по п.43, в которой в которой нуль является значением порогового значения в итерациях других, нежели первая итерация.45. The system of claim 43, wherein zero is a threshold value in iterations other than the first iteration. 46. Система по п.43, в которой генератор битовых надежностей и блок сравнения являются компонентами порогового декодера, адаптированного для использования обновленных пороговых значений для определения достоверного кодового слова и обеспечения информационных битов из достоверного кодового слова.46. The system of claim 43, wherein the bit reliability generator and the comparison unit are components of a threshold decoder adapted to use updated threshold values to determine a valid codeword and provide information bits from a valid codeword.
RU2006138223/09A 2004-03-31 2004-03-31 Decoding of highly excessive code with parity check, using multithreshold message transfer RU2337478C2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
RU2006138223/09A RU2337478C2 (en) 2004-03-31 2004-03-31 Decoding of highly excessive code with parity check, using multithreshold message transfer

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2006138223/09A RU2337478C2 (en) 2004-03-31 2004-03-31 Decoding of highly excessive code with parity check, using multithreshold message transfer

Publications (2)

Publication Number Publication Date
RU2006138223A RU2006138223A (en) 2008-05-27
RU2337478C2 true RU2337478C2 (en) 2008-10-27

Family

ID=39586047

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2006138223/09A RU2337478C2 (en) 2004-03-31 2004-03-31 Decoding of highly excessive code with parity check, using multithreshold message transfer

Country Status (1)

Country Link
RU (1) RU2337478C2 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU178755U1 (en) * 2017-07-04 2018-04-18 Федеральное государственное бюджетное образовательное учреждение высшего образования "Рязанский государственный радиотехнический университет" LDPC CODE DECODING DEVICE
RU2699833C1 (en) * 2018-11-08 2019-09-11 Валерий Владимирович Золотарев Method of accelerated decoding of a linear code
RU2747089C2 (en) * 2016-08-11 2021-04-26 Зебваре Аб Device and corresponding methodology for encoding and decoding of data for overwrite code
RU2811072C1 (en) * 2019-12-30 2024-01-11 Хуавей Текнолоджиз Ко., Лтд. Decoding method, decoder and decoding device

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2747089C2 (en) * 2016-08-11 2021-04-26 Зебваре Аб Device and corresponding methodology for encoding and decoding of data for overwrite code
RU178755U1 (en) * 2017-07-04 2018-04-18 Федеральное государственное бюджетное образовательное учреждение высшего образования "Рязанский государственный радиотехнический университет" LDPC CODE DECODING DEVICE
RU2699833C1 (en) * 2018-11-08 2019-09-11 Валерий Владимирович Золотарев Method of accelerated decoding of a linear code
RU2811072C1 (en) * 2019-12-30 2024-01-11 Хуавей Текнолоджиз Ко., Лтд. Decoding method, decoder and decoding device

Also Published As

Publication number Publication date
RU2006138223A (en) 2008-05-27

Similar Documents

Publication Publication Date Title
US7716561B2 (en) Multi-threshold reliability decoding of low-density parity check codes
US8209579B2 (en) Generalized multi-threshold decoder for low-density parity check codes
US7395495B2 (en) Method and apparatus for decoding forward error correction codes
US8010869B2 (en) Method and device for controlling the decoding of a LDPC encoded codeword, in particular for DVB-S2 LDPC encoded codewords
US8015468B2 (en) Channel estimation and fixed thresholds for multi-threshold decoding of low-density parity check codes
US11728829B2 (en) Error detection in communication systems using polar coded data transmission
CN108282264A (en) The polarization code coding method of list algorithm is serially eliminated based on bit reversal
US8806288B2 (en) Systems and methods for providing unequal error protection code design from probabilistically fixed composition codes
JP2006523985A (en) Early termination of turbo decoder iterations
Jing et al. Blind recognition of binary cyclic codes
US8301983B2 (en) Modified turbo-decoding message-passing algorithm for low-density parity check codes
CN114073024B (en) Convolutional precoding and decoding of polar codes
US20150372695A1 (en) Method and apparatus of ldpc decoder with lower error floor
JP2007512741A (en) A belief propagation decoder that cancels the exchange of unreliable messages.
KR20070084952A (en) Apparatus and method for receiving signal in a communication system
CN112491422A (en) Gauss optimization-based bit flipping serial elimination list decoding method and system
RU2337478C2 (en) Decoding of highly excessive code with parity check, using multithreshold message transfer
US11483012B2 (en) Decoding system and method for low latency bit-flipping successive cancellation decoding for polar codes
US20220337269A1 (en) Block code encoding and decoding methods, and apparatus therefor
EP4205284A1 (en) Staircase polar encoding and decoding
CN112165336A (en) Sliding window decoding method and system with resynchronization mechanism
CN114337684B (en) Composite decoding method and system
JP4900168B2 (en) Wireless receiver
US20240243759A1 (en) Apparatus and method for generating a frozen set associated with a polar code
Ahire et al. Non-Iterative MSNN Decoder for Image Transmission over AWGN Channel using LDPC

Legal Events

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

Effective date: 20110401