RU79361U1 - DEVICE OF ITERATIVE DECODING OF BLOCK TURBOCODES - Google Patents

DEVICE OF ITERATIVE DECODING OF BLOCK TURBOCODES Download PDF

Info

Publication number
RU79361U1
RU79361U1 RU2007103864U RU2007103864U RU79361U1 RU 79361 U1 RU79361 U1 RU 79361U1 RU 2007103864 U RU2007103864 U RU 2007103864U RU 2007103864 U RU2007103864 U RU 2007103864U RU 79361 U1 RU79361 U1 RU 79361U1
Authority
RU
Russia
Prior art keywords
adder
memory
decoding
block
input
Prior art date
Application number
RU2007103864U
Other languages
Russian (ru)
Inventor
Владимир Яковлевич Архипкин
Вячеслав Михайлович Смольянинов
Андрей Владимирович Архипкин
Original Assignee
Общество с ограниченной ответственностью "Кедах Электроникс Инжиниринг"
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Общество с ограниченной ответственностью "Кедах Электроникс Инжиниринг" filed Critical Общество с ограниченной ответственностью "Кедах Электроникс Инжиниринг"
Priority to RU2007103864U priority Critical patent/RU79361U1/en
Application granted granted Critical
Publication of RU79361U1 publication Critical patent/RU79361U1/en

Links

Abstract

Настоящая полезная модель имеет отношение к устройству исправления ошибок в цифровой системе радиосвязи и, в частности, к устройству итеративного декодирования блоковых турбокодов. Устройство состоит из первой памяти, в которой хранятся принятые от демодулятора входные значения, первого сумматора, второго сумматора, SISO декодера для выполнения SISO декодирования кодов С1 и С2, блока принятия решений для принятия решения о переданном кодовом слове от мягких выходных значений, полученных от SISO декодера, третьей памяти для хранения кодового слова, решение по которому было принято в блоке принятия решений, второй памяти для хранения корректирующих значений, полученных от второго сумматора, схемы нормировки для умножения корректирующих значений, полученных от второй памяти, на коэффициенты нормировки α. Технический результат, достигаемый при реализации полезной модели, состоит в снижении сложности аппаратной реализации устройства при неизменной эффективности декодирования. 6 ил.The present utility model relates to an error correction device in a digital radio communication system and, in particular, to an iterative decoding device of block turbo codes. The device consists of a first memory in which the input values received from the demodulator, the first adder, the second adder, the SISO decoder for SISO decoding of the codes C1 and C2, the decision block for deciding the transmitted codeword from the soft output values received from SISO are stored a decoder, a third memory for storing a codeword, the decision on which was made in the decision block, a second memory for storing correction values received from the second adder, a normalization circuit for multiplying by rrektiruyuschih values obtained from the second memory to the normalization coefficients α. The technical result achieved by the implementation of the utility model is to reduce the complexity of the hardware implementation of the device with constant decoding efficiency. 6 ill.

Description

Настоящая полезная модель имеет отношение к устройству исправления ошибок в цифровой системе радиосвязи и, в частности, к устройству итеративного декодирования блоковых турбокодов.The present utility model relates to an error correction device in a digital radio communication system and, in particular, to an iterative decoding device of block turbo codes.

Турбокоды впервые были представлены в работе [1]. Разработка турбокодов развивается по двум направлениям: сверточные турбокоды, образованные путем параллельного соединения двух сверточных кодеров, и блоковые турбокоды, образованные путем последовательного соединения двух блоковых кодеров.Turbo codes were first presented in [1]. The development of turbo codes is developing in two directions: convolutional turbo codes formed by parallel connection of two convolutional encoders, and block turbo codes formed by serial connection of two block encoders.

На фиг.1 представлена схема построения блокового турбокода. Блоковый турбокод изображается в виде прямоугольника и основан на двух систематических кодах: C1(N1, K1) и C2(N2, K2), кодовые слова которых расположены по вертикали и по горизонтали, соответственно. Общая информационная емкость кода K=K1·K2, а длительность кода N=N1·N2. Блок 1 содержит информационные символы, а блоки 2, 3 и 4 содержат проверочные символы.Figure 1 presents a diagram of the construction of block turbo code. The block turbo code is displayed in the form of a rectangle and is based on two systematic codes: C1 (N1, K1) and C2 (N2, K2), the code words of which are located vertically and horizontally, respectively. The total information capacity of the code is K = K1 · K2, and the duration of the code is N = N1 · N2. Block 1 contains information symbols, and blocks 2, 3, and 4 contain verification symbols.

Для декодирования турбокодов применяется концепция так называемого итеративного декодирования, впервые описанная в работе [2]. Основу итеративного декодера блоковых турбокодов составляет декодер с мягким входом и мягким выходом (Soft Input Soft Output - SISO), который последовательно применяется для декодирования вертикальных и горизонтальных составных кодов. В процессе работы декодера турбокода схемы SISO декодирования горизонтальных и вертикальных составных кодов обмениваются друг с другом внешней информацией, с каждой итерацией улучшая вероятность правильного декодирования. Окончание процесса декодирования происходит после выполнения заданного количества итераций. После завершения последней итерации принимается жесткое решение о передаваемых информационных символах, которое и является выходом устройства итеративного декодирования блоковых турбокодов.To decode turbo codes, the concept of the so-called iterative decoding, first described in [2], is used. The basis of an iterative decoder of turbo block codes is a decoder with a soft input and a soft output (Soft Input Soft Output - SISO), which is sequentially used to decode vertical and horizontal composite codes. During operation of the turbo decoder, SISO schemes for decoding horizontal and vertical composite codes exchange external information with each other, improving the probability of correct decoding with each iteration. The end of the decoding process occurs after performing a given number of iterations. After completion of the last iteration, a tough decision is made about the transmitted information symbols, which is the output of the iterative decoding device of block turbo codes.

На первой итерации от демодулятора на вход SISO декодера вертикальных кодов поступают оценки (мягкие решения) относительно символов. На выходе схемы декодирования вертикальных кодов формируются мягкие решения относительно At the first iteration, from the demodulator to the input of the SISO decoder of the vertical codes, estimates (soft decisions) with respect to the symbols are received. At the output of the vertical code decoding scheme, soft decisions are formed with respect to

символов, которые затем используется для формирования входной информации для схемы декодирования горизонтальных кодов. На последующих итерациях декодирования на вход SISO декодеров подаются мягкие решения, формируемые по результатам SISO декодирования на предыдущей итерации.characters, which are then used to form input information for a horizontal code decoding scheme. At subsequent iterations of decoding, soft decisions are generated at the input of SISO decoders, which are formed according to the results of SISO decoding at the previous iteration.

SISO декодирование составных кодов С1 и С2 основано на вычислении логарифма отношения апостериорных вероятностей двоичных символов кодовых слов С1 и С2, знак которого определяет значение декодированного бита, а модуль - надежность этого значения.SISO decoding of composite codes C1 and C2 is based on the calculation of the logarithm of the ratio of posterior probabilities of binary symbols of the code words C1 and C2, whose sign determines the value of the decoded bit, and the module determines the reliability of this value.

Наиболее близким по технической сущности и достигаемому эффекту является устройство итеративного декодирования блоковых турбокодов, описанное в патенте ЕР 1282237 А2, Н03М 13/29 от 5 февраля 2003 г. "Decoding method and decoding apparatus of product code" [3].The closest in technical essence and the achieved effect is an iterative decoding device for block turbo codes described in patent EP 1282237 A2, Н03М 13/29 dated February 5, 2003 "Decoding method and decoding apparatus of product code" [3].

В патенте-прототипе [3] описано устройство итеративного декодирования блоковых турбокодов, образованных составными блоковыми кодами С1 и С2. Устройство итеративного декодирования блоковых турбокодов состоит из первой памяти, первого сумматора, SISO декодера, второго сумматора, блока принятия решений, третьей памяти и схемы нормировки. SISO декодер включает в себя последовательно соединенные: блок декодирования по алгоритму Чейза, блок вычисления правдоподобия гипотетических кодовых слов и блок вычисления мягких выходных решений.The prototype patent [3] describes a device for iterative decoding of block turbo codes formed by composite block codes C1 and C2. An iterative decoding device for block turbo codes consists of a first memory, a first adder, a SISO decoder, a second adder, a decision block, a third memory, and a normalization circuit. SISO decoder includes series-connected: Chase algorithm decoding unit, likelihood codeword likelihood calculation unit, and soft output decision unit.

Полученные от демодулятора значения хранятся в первой памяти. Для декодирования кода С1 (кодовые слова которого расположены по вертикали) или кода С2 (кодовые слова которого расположены по горизонтали), корректирующая величина, хранимая по заданному адресу во второй памяти, считывается из нее и подается на первый сумматор после прохождения через схему нормировки. Первый сумматор складывает принятое значение, хранимое по заданному адресу в первой памяти и корректирующую величину, полученную от схемы нормировки, генерируя таким образом мягкие входные значения. При первой итерации декодирования корректирующие величины равны нулю, поэтому первый сумматор выдает принятые от демодулятора значения на SISO декодер без изменений.The values received from the demodulator are stored in the first memory. To decode the C1 code (whose code words are located vertically) or the C2 code (whose code words are horizontally), the correction value stored at the specified address in the second memory is read from it and fed to the first adder after passing through the normalization circuit. The first adder adds up the received value stored at the given address in the first memory and the correction value received from the normalization circuit, thus generating soft input values. At the first iteration of decoding, the correction values are equal to zero, therefore, the first adder outputs the values received from the demodulator to the SISO decoder without changes.

Мягкие входные значения, сгенерированные первым сумматором подаются на SISO декодер. Получив мягкие входные значения, соответствующие кодовым словам кода С1 и кода С2, SISO декодер начинает декодирование.Soft input values generated by the first adder are fed to the SISO decoder. Having received soft input values corresponding to the code words of code C1 and code C2, the SISO decoder starts decoding.

SISO декодер состоит из блока декодирования по алгоритму Чейза, который генерирует гипотетические вектора ошибок из мягкого входного вектора, блока вычисления правдоподобия гипотетических кодовых слов, и блока вычисления мягких выходных значений.The SISO decoder consists of a Chase algorithm decoding unit that generates hypothetical error vectors from a soft input vector, a likelihood code calculation unit for hypothetical code words, and a soft output value calculation unit.

Блок декодирования по алгоритму Чейза генерирует гипотетические вектора ошибок из мягкого входного вектора. Гипотетические вектора ошибок, сгенерированные в блоке декодирования по алгоритму Чейза подаются на блок вычисления правдоподобия гипотетических кодовых слов. Блок вычисления правдоподобия гипотетических кодовых слов вычисляет гипотетические кодовые слова и скалярные произведения между мягким входным вектором и гипотетическими кодовыми словами, и выбирает гипотетическое кодовое слово, дающее максимальное скалярное произведение. Скалярные произведения и максимально вероятное кодовое слово подаются на блок вычисления мягких выходных значений.The Chase algorithm decoding unit generates hypothetical error vectors from a soft input vector. Hypothetical error vectors generated in the Chase decoding block are fed to the likelihood calculation block of hypothetical codewords. The likelihood code calculating unit of hypothetical codewords calculates hypothetical codewords and scalar products between the soft input vector and hypothetical codewords, and selects a hypothetical codeword giving the maximum scalar product. Scalar products and the most probable codeword are fed to the soft output value calculation unit.

Блок вычисления мягких выходных значений генерирует мягкие выходные значения, которые являются выходами SISO декодера.The soft output value calculating unit generates soft output values, which are outputs of the SISO decoder.

Мягкие выходные значения, сгенерированные в блоке вычисления мягких выходных значений SISO декодера, подаются на блок принятия решений и на второй сумматор. В случае перехода на следующую итерацию декодирования второй сумматор вычитает принятое значение из мягкого выходного значения для вычисления корректирующей величины, которая сохраняется в заданном адресе второй памяти. В случае завершения декодирования блок принятия решений выносит жесткое решение о переданном кодовом слове из мягких выходных значений SISO декодера и сохраняет его в заданном адресе третьей памяти. Жесткие решения хранятся в третьей памяти и являются выходом устройства итеративного декодирования блоковых турбокодов.Soft output values generated in the SISO decoder soft output value calculation unit are supplied to the decision unit and the second adder. In the case of transition to the next decoding iteration, the second adder subtracts the received value from the soft output value to calculate the correction value, which is stored in the given address of the second memory. In the case of decoding, the decision block makes a tough decision about the transmitted codeword from the soft output values of the SISO decoder and stores it in the specified address of the third memory. Hard decisions are stored in the third memory and are the output of the iterative decoding device of block turbo codes.

Недостатком описанного в патенте-прототипе [3] устройства является сложность аппаратной реализации. Следует отметить, что сложность устройства The disadvantage of the device described in the patent prototype [3] is the complexity of the hardware implementation. It should be noted that the complexity of the device

декодирования блоковых турбокодов в основном определяется сложностью SISO декодера.decoding of block turbo codes is mainly determined by the complexity of the SISO decoder.

Сложность SISO декодера, описанного в патенте-прототипе, обусловлена использованием для вычисления мягких выходов: гипотетических кодовых слов, их правдоподобий и кодового слова с максимальным правдоподобием. В то время как в декодере Чейза [4] в качестве промежуточных параметров вычисляются жесткие решения относительно элементов входного вектора, гипотетические вектора ошибок и их веса, достаточные для вычисления мягких векторов SISO декодера.The complexity of the SISO decoder described in the prototype patent is due to the use of soft outputs for calculating hypothetical code words, their likelihood and the maximum likelihood code word. While in the Chase decoder [4], hard solutions for the elements of the input vector are calculated as intermediate parameters, hypothetical error vectors and their weights sufficient to calculate the soft SISO decoder vectors.

Целью настоящей полезной модели является создание устройства итеративного декодирования блоковых турбокодов, обладающего меньшей сложностью аппаратной реализации, при неизменной эффективности декодирования.The purpose of this utility model is to create an iterative decoding device for block turbo codes, which has less complexity in hardware implementation, with constant decoding efficiency.

Для достижения данного технического результата предлагается использовать полученные в декодере Чейза промежуточные параметры для вычисления мягких выходов SISO декодера.To achieve this technical result, it is proposed to use the intermediate parameters obtained in the Chase decoder to calculate the soft outputs of the SISO decoder.

Технический результат достигается тем, что устройство итеративного декодирования блоковых турбокодов состоит из первой памяти, данные из которой подаются на первый вход первого сумматора и инверсный первый вход второго сумматора, выход первого сумматора соединяется со входом SISO декодера, выход которого соединяется со вторым входом второго сумматора и со входом блока принятия решений, выход которого соединен с третьей памятью, выход второго сумматора соединяется со входом второй памяти, а данные с выхода второй памяти подаются на схему нормировки, выход которой соединяется со вторым входом первого сумматора, SISO декодер состоит из блока декодирования по алгоритму Чейза, выход которого соединен со входом блока вычисления мягких выходных значений, отличающееся тем, что из SISO декодера исключается блок вычисления правдоподобий гипотетических кодовых слов и из блока декодирования по алгоритму Чейза выводятся вычисляемые на промежуточных этапах жесткие решения, гипотетические вектора ошибок и их веса для подачи непосредственно на вычислитель мягких решений.The technical result is achieved in that the device for iterative decoding of block turbo codes consists of a first memory, data from which are supplied to the first input of the first adder and the inverse first input of the second adder, the output of the first adder is connected to the input of the SISO decoder, the output of which is connected to the second input of the second adder and with the input of the decision block, the output of which is connected to the third memory, the output of the second adder is connected to the input of the second memory, and the data from the output of the second memory is fed to the circuit normalization, the output of which is connected to the second input of the first adder, the SISO decoder consists of a decoding block according to the Chase algorithm, the output of which is connected to the input of the soft output value calculation unit, characterized in that the likelihood of the calculation of likelihood codewords from the SISO decoder is also excluded from the decoding unit Chase algorithm outputs hard solutions calculated at intermediate stages, hypothetical error vectors and their weights for feeding soft solutions directly to the computer.

Сущность полезной модели поясняется далее. На фиг.2 представлена блок-схема цифровой системы радиосвязи, использующей турбокодирование. Система состоит The essence of the utility model is explained below. Figure 2 presents a block diagram of a digital radio communication system using turbo coding. System consists

из кодера турбокода 201, в котором осуществляется кодирование входных данных, модулятора 202 для преобразования кодированных данных в сигнал, который будет передаваться по каналу связи, канала связи 203, демодулятора 204, который демодулирует принятый сигнал, прошедший по каналу связи 203, и декодера турбокода 205, который декодирует данные, поступающие от демодулятора 204. Кодер 201 и модулятор 202 составляют передатчик, а демодулятор 204 и декодер 205 составляют приемник.from the encoder of the turbocode 201, in which the input data is encoded, of a modulator 202 for converting the encoded data into a signal that will be transmitted through a communication channel, a communication channel 203, a demodulator 204 that demodulates a received signal transmitted through a communication channel 203, and a turbocode decoder 205 which decodes the data received from demodulator 204. Encoder 201 and modulator 202 constitute a transmitter, and demodulator 204 and decoder 205 constitute a receiver.

Далее опишем работу системы, представленной на фиг.2. Входная информация бит кодируется в кодере турбокода 201.Next, we describe the operation of the system shown in figure 2. The input bit information is encoded in the encoder turbocode 201.

Кодер турбокода 201 соединяется с модулятором 202, в котором закодированные данные преобразуются в сигнал, передаваемый по каналу связи 203. Сигнал, полученный по каналу связи 203 подается на демодулятор 204 приемника.The turbo encoder 201 is connected to a modulator 202, in which the encoded data is converted into a signal transmitted via a communication channel 203. A signal received through a communication channel 203 is supplied to a receiver demodulator 204.

Демодулятор 204 преобразует принятый из канала связи 203 сигнал в массив чисел, представляющих собой оценку переданных данных. С выхода демодулятора 204 эти оценки подаются на декодер турбокода 205.The demodulator 204 converts the signal received from the communication channel 203 into an array of numbers representing an estimate of the transmitted data. From the output of demodulator 204, these estimates are supplied to turbo codec decoder 205.

Далее опишем принцип работы устройства итеративного декодирования блоковых турбокодов, реализованного в настоящей полезной модели.Next, we describe the principle of operation of an iterative decoding device for block turbo codes implemented in this utility model.

Устройство итеративного декодирования блоковых турбокодов состоит из первой памяти, первого сумматора, SISO декодера, второго сумматора, блока принятия решений, третьей памяти и схемы нормировки. SISO декодер включает в себя блок декодирования по алгоритму Чейза и блока вычисления мягких выходных решений.An iterative decoding device for block turbo codes consists of a first memory, a first adder, a SISO decoder, a second adder, a decision block, a third memory, and a normalization circuit. The SISO decoder includes a Chase algorithm decoding unit and a soft output decision calculating unit.

Полученные от демодулятора значения хранятся в первой памяти. Для декодирования кода С1 (кодовые слова которого расположены по вертикали) или кода С2 (кодовые слова которого расположены по горизонтали), корректирующая величина, хранимая в двоичном виде по заданному адресу во второй памяти, считывается из нее и подается на первый сумматор после прохождения через схему нормировки. Первый сумматор складывает принятое значение, хранимое по заданному адресу в первой памяти и корректирующую величину, полученную от схемы нормировки, генерируя таким образом мягкие входные значения, представляемые в двоичном виде. При первой итерации декодирования The values received from the demodulator are stored in the first memory. To decode the C1 code (whose code words are located vertically) or the C2 code (whose code words are horizontally), the correction value stored in binary form at the specified address in the second memory is read from it and fed to the first adder after passing through the circuit normalization. The first adder adds up the received value stored at the given address in the first memory and the correction value obtained from the normalization circuit, thus generating soft input values represented in binary form. At the first iteration of decoding

корректирующие величины равны нулю, поэтому первый сумматор выдает принятые от демодулятора значения на SISO декодер без изменений.the correction values are equal to zero, so the first adder outputs the values received from the demodulator to the SISO decoder without changes.

Мягкие входные значения, сгенерированные первым сумматором в двоичном виде подаются на SISO декодер.Soft input values generated by the first adder in binary form are fed to the SISO decoder.

SISO декодер состоит из блока декодирования по алгоритму Чейза, который генерирует гипотетические вектора ошибок из мягкого входного вектора, и блока вычисления мягких выходных значений.A SISO decoder consists of a Chase algorithm decoding unit that generates hypothetical error vectors from a soft input vector, and a soft output value calculation unit.

Далее опишем процесс SISO декодирования кодов С1 и С2.Next, we describe the SISO decoding process for codes C1 and C2.

В декодере по алгоритму Чейза [4] на промежуточных этапах кроме вектора жестких решений вычисляются также гипотетические вектора ошибок, принимающие значение 1 на ошибочных позициях и 0 на остальных, а также веса гипотетических векторов ошибок. Вес гипотетического вектора ошибок равен скалярному произведению гипотетического вектора ошибок и мягкого входного вектора.In the decoder according to the Chase algorithm [4], at the intermediate stages, in addition to the hard decision vector, hypothetical error vectors are also calculated that take the value 1 at erroneous positions and 0 at the rest, as well as the weights of hypothetical error vectors. The weight of the hypothetical error vector is equal to the scalar product of the hypothetical error vector and the soft input vector.

В соответствии с настоящей полезной моделью указанные промежуточные параметры в двоичном виде выводятся из декодера Чейза и подаются непосредственно на блок вычисления мягких выходных значений SISO декодера.In accordance with the present utility model, said intermediate parameters are binary output from the Chase decoder and fed directly to the SISO decoder soft output value calculation unit.

Далее, также как и в прототипе, в блоке вычисления мягких выходных значений по каждому двоичному символу вычисляются мягкие решения на основе логарифма отношения апостериорных вероятностей, представляемого в этом блоке в двоичном виде.Further, as in the prototype, in the soft output value calculation unit for each binary symbol, soft solutions are calculated based on the logarithm of the ratio of posterior probabilities represented in this unit in binary form.

На фиг.3 представлена блок-схема аппаратной реализации предлагаемого устройства итеративного декодирования блоковых турбокодов, образованных составными кодами С1 и С2. Блок-схема состоит из первой памяти 301, в которой хранятся принятые от демодулятора входные значения, первого сумматора 302, второго сумматора 303, SISO декодера 304, блока принятия решений 305 для принятия решения о переданном кодовом слове от мягких выходных значений, полученных от SISO декодера 304, третьей памяти 306 для хранения кодового слова, решение по которому было принято в блоке принятия решений 305, второй памяти 307 для хранения корректирующих значений, полученных от второго сумматора 302, схемы нормировки 308 для умножения корректирующих значений, Figure 3 presents a block diagram of a hardware implementation of the proposed device for iterative decoding of block turbo codes formed by composite codes C1 and C2. The block diagram consists of a first memory 301 in which the input values received from the demodulator, the first adder 302, the second adder 303, the SISO decoder 304, and the decision block 305 for deciding the transmitted codeword from the soft output values received from the SISO decoder are stored 304, the third memory 306 for storing the codeword, the decision on which was made in the decision block 305, the second memory 307 for storing the correction values received from the second adder 302, the normalization circuit 308 for multiplying the correction values th,

полученных от второй памяти 307, на коэффициенты нормировки α. Блок принятия решений определяет знаковый разряд от подаваемых на него значений.received from the second memory 307, normalization coefficients α. The decision block determines the sign bit from the values supplied to it.

Далее опишем работу устройства декодирования, представленного на фиг.3. Полученная от демодулятора матрица входных значений, представленных в двоичном виде, хранится в первой памяти 301. Для декодирования кода С1 (кодовые слова которого расположены по вертикали) или кода С2 (кодовые слова которого расположены по горизонтали), корректирующая величина, хранимая по заданному адресу во второй памяти 307, считывается из нее и подается на первый сумматор 302 после прохождения через схему нормировки 308. Первый сумматор 302 складывает принятое значение, хранимое по заданному адресу в первой памяти 301 и корректирующую величину, полученную от схемы нормировки 308 для генерации мягкого входного значения, представляемого в двоичном виде. На первой итерации декодирования корректирующие величины, хранящиеся в двоичном виде во второй памяти 307, равны нулю, поэтому первый сумматор 302 выдает принятые от демодулятора значения на SISO декодер 304 без изменений.Next, we describe the operation of the decoding device shown in Fig.3. The binary input matrix of input values received from the demodulator is stored in the first memory 301. To decode the C1 code (whose code words are arranged vertically) or C2 code (whose code words are horizontally), the correction value stored at the given address in the second memory 307 is read from it and fed to the first adder 302 after passing through the normalization circuit 308. The first adder 302 adds the received value stored at a given address in the first memory 301 and the correction values y obtained from the normalization circuit 308 to generate soft input values represented in binary form. At the first iteration of decoding, the correction values stored in binary form in the second memory 307 are zero, therefore, the first adder 302 outputs the values received from the demodulator to the SISO decoder 304 without changes.

Мягкие входные значения, сгенерированные первым сумматором 302, в двоичном виде подаются на SISO декодер 304. Получив мягкие входные значения, соответствующие кодовым словам кода С1 и кода С2, SISO декодер 304 начинает декодирование.The soft input values generated by the first adder 302 are supplied in binary form to the SISO decoder 304. Having received the soft input values corresponding to the code words of the C1 code and the C2 code, the SISO decoder 304 starts decoding.

На фиг.4 представлена блок-схема SISO декодера 304. SISO декодер состоит из блока декодирования по алгоритму Чейза 401 и блока вычисления мягких векторов 402. Опишем работу SISO декодера 304 из фиг.4. Блок декодирования по алгоритму Чейза 401 генерирует двоичные данные: вектор жестких решений, гипотетические вектора ошибок и их веса. Вес гипотетического вектора ошибок равен скалярному произведению гипотетического вектора ошибок и мягкого входного вектора.FIG. 4 is a block diagram of a SISO decoder 304. A SISO decoder consists of a Chase 401 decoding unit and a soft vector computation unit 402. We describe the operation of the SISO decoder 304 of FIG. 4. Chase 401 decoding block generates binary data: hard decision vector, hypothetical error vector and weight. The weight of the hypothetical error vector is equal to the scalar product of the hypothetical error vector and the soft input vector.

В соответствии с настоящей полезной моделью блок, осуществляющий в патенте-прототипе вычисление гипотетических кодовых слов и их правдоподобия, исключен и выход декодера Чейза 401 соединен непосредственно с блоком вычисления мягких выходных значений 402.In accordance with this utility model, the block performing the calculation of hypothetical codewords and their likelihood in the patent prototype is excluded and the output of the Chase decoder 401 is connected directly to the block for calculating soft output values 402.

Мягкие выходные значения, сгенерированные в блоке вычисления мягких выходных значений 402 SISO декодера 304 подаются в двоичном виде на блок The soft output values generated in the soft output value calculating unit 402 of the SISO decoder 304 are supplied in binary form to the block

принятия решений 305 и на второй сумматор 303. Второй сумматор 303 вычитает принятое значение из мягкого выходного значения для вычисления корректирующей величины, которая сохраняется в двоичном виде в заданном адресе второй памяти 307. Блок принятия решений 305 выносит жесткое решение о переданном кодовом слове из мягкого выходного значения и сохраняет его в заданном адресе третьей памяти 306.decisions 305 and to the second adder 303. The second adder 303 subtracts the received value from the soft output value to calculate the correction value, which is stored in binary form at the given address of the second memory 307. The decision block 305 makes a hard decision about the transmitted codeword from the soft output values and stores it in the specified address of the third memory 306.

В предлагаемой полезной модели в сравнении с патентом-прототипом исключен блок вычисления правдоподобий гипотетических кодовых слов, вычисляющий гипотетические кодовые слова и их правдоподобие. Кроме того, из блока декодирования по алгоритму Чейза исключаются операции, связанные с поиском наиболее вероятного кодового слова. Вследствие этого аппаратная реализация SISO декодера и, соответственно, устройства итеративного декодирования блоковых турбокодов, упрощаются.In the proposed utility model, in comparison with the prototype patent, the likelihood calculation unit of hypothetical codewords is excluded, which calculates hypothetical codewords and their likelihood. In addition, operations associated with the search for the most probable codeword are excluded from the decoding block according to the Chase algorithm. As a result, the hardware implementation of the SISO decoder and, accordingly, the iterative decoding devices of block turbo codes are simplified.

Преимуществом предлагаемого устройства является меньшая сложность аппаратной реализации, которая выражается в уменьшении количества дискретных логических элементов, при неизменной эффективности.An advantage of the proposed device is the lower complexity of the hardware implementation, which is expressed in a decrease in the number of discrete logic elements, with constant efficiency.

Полезная модель может быть осуществлена на соответствующей элементной базе по типовым технологиям.The utility model can be implemented on the appropriate elemental base for standard technologies.

Источники информации:Information sources:

1. С.Berrou, A.Glavieux, P.Thitimajshima: "Near Shannon limit error-correcting coding and decoding: Turbo codes", IEEE Int. Conf. Communications, ICC'93, vol.2/3, May 1993, pp.1064-1070.1. C. Berrou, A. Glavieux, P. Thimimajshima: "Near Shannon limit error-correcting coding and decoding: Turbo codes", IEEE Int. Conf. Communications, ICC'93, vol. 2/3, May 1993, pp. 1064-1070.

2. J.Lodge, R.Young, P.Hoeher and J.Hagenauer, "Separable MAP 'Filters' for the Decoding of Product and Concatenated Codes", Proc. 1993 IEEE Int. Conf. Comm. (ICC'93), pp.1740-1745, May 1993.2. J. Lodge, R. Young, P. Hoher and J. Hagenauer, "Separable MAP 'Filters' for the Decoding of Product and Concatenated Codes", Proc. 1993 IEEE Int. Conf. Comm. (ICC'93), pp. 1740-1745, May 1993.

3. Патент EP 1282237 A2, H03M 13/29 от 5 февраля 2003 г. "Decoding method and decoding apparatus of product code" - прототип.3. Patent EP 1282237 A2, H03M 13/29 of February 5, 2003, "Decoding method and decoding apparatus of product code" is a prototype.

4. D.Chase, "A Class of Algorithms for Decoding Block Codes With Channel Measurement Information" (IEEE Trans. On Information Theory, January 1972, Vol.IT-18, pp.170-182).4. D.Chase, "A Class of Algorithms for Decoding Block Codes With Channel Measurement Information" (IEEE Trans. On Information Theory, January 1972, Vol. IT-18, pp. 170-182).

Claims (1)

Устройство итеративного декодирования блоковых турбокодов, состоящее из первой памяти, данные из которой подаются на первый вход первого сумматора и инверсный первый вход второго сумматора, выход первого сумматора соединяется со входом SISO декодера, выход которого соединяется со вторым входом второго сумматора и со входом блока принятия решений, выход которого соединен с третьей памятью, выход второго сумматора соединяется со входом второй памяти, а данные с выхода второй памяти подаются на схему нормировки, выход которой соединяется со вторым входом первого сумматора, SISO декодер включает блок декодирования по алгоритму Чейза и блок вычисления мягких выходных значений, отличающееся тем, что выход блока декодирования по алгоритму Чейза соединен со входом блока вычисления мягких выходных значений.
Figure 00000001
An iterative decoding device for block turbo codes, consisting of a first memory, the data from which are supplied to the first input of the first adder and the inverse first input of the second adder, the output of the first adder is connected to the input of the SISO decoder, the output of which is connected to the second input of the second adder and to the input of the decision block , the output of which is connected to the third memory, the output of the second adder is connected to the input of the second memory, and the data from the output of the second memory is fed to the normalization circuit, the output of which is connected to the second input of the first adder, SISO decoder comprises a decoding unit for Chase algorithm and computation portion of soft output values, characterized in that the output of the decoding unit Chase algorithm connected to the input unit calculating soft output values.
Figure 00000001
RU2007103864U 2007-02-01 2007-02-01 DEVICE OF ITERATIVE DECODING OF BLOCK TURBOCODES RU79361U1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
RU2007103864U RU79361U1 (en) 2007-02-01 2007-02-01 DEVICE OF ITERATIVE DECODING OF BLOCK TURBOCODES

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2007103864U RU79361U1 (en) 2007-02-01 2007-02-01 DEVICE OF ITERATIVE DECODING OF BLOCK TURBOCODES

Publications (1)

Publication Number Publication Date
RU79361U1 true RU79361U1 (en) 2008-12-27

Family

ID=48229504

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2007103864U RU79361U1 (en) 2007-02-01 2007-02-01 DEVICE OF ITERATIVE DECODING OF BLOCK TURBOCODES

Country Status (1)

Country Link
RU (1) RU79361U1 (en)

Similar Documents

Publication Publication Date Title
CN1101997C (en) Method and apparatus for rate determination in communication system
CN100355201C (en) Reduced soft output information packet selection
CN1155160C (en) Method and apparatus for transmitting and receiving
US9214958B2 (en) Method and decoder for processing decoding
CN101039119B (en) Encoding and decoding methods and systems
CN107248866B (en) Method for reducing decoding time delay of polarization code
US20060136799A1 (en) LDPC decoding apparatus and method with low computational complexity algorithm
CN1311578A (en) Convolution code code-work soft decision decipher
CN101373978A (en) Method and apparatus for decoding Turbo code
US6868518B2 (en) Look-up table addressing scheme
US8250446B2 (en) Decoder device and decoding method
CN1143471C (en) Method and system for fast maximum posteriori decoding
US8700979B2 (en) Error correcting code decoding device, decoding method, and mobile station apparatus
CN103457612A (en) Iterative soft decision decoding method for Reed Solomon-convolution cascade codes
CN1741614A (en) Method and system for decoding video, voice, and speech data using redundancy
RU79361U1 (en) DEVICE OF ITERATIVE DECODING OF BLOCK TURBOCODES
CN1155161C (en) Tebo code decoder and its decoding method
US20030023919A1 (en) Stop iteration criterion for turbo decoding
US6886127B2 (en) Implementation of a turbo decoder
CN113644919B (en) Method for improving Turbo decoding performance in DVB-RCS2 and decoding structure
CN102751996B (en) High-performance low-complexity decoding method of block product codes TPC (Turbo Product Code)
US6757859B1 (en) Parallel turbo trellis-coded modulation
US20020116681A1 (en) Decoder, system and method for decoding trubo block codes
CN112073071A (en) Method for encoding and decoding convolutional code and signal transmission method
US6580769B1 (en) Method and apparatus for backward recursion next state generation in recursive convolutional decoding

Legal Events

Date Code Title Description
MM1K Utility model has become invalid (non-payment of fees)

Effective date: 20100202

NF1K Reinstatement of utility model

Effective date: 20111220

PC11 Official registration of the transfer of exclusive right

Effective date: 20111208

MM1K Utility model has become invalid (non-payment of fees)

Effective date: 20130202

NF1K Reinstatement of utility model

Effective date: 20141227