Научная статья на тему 'Декодер блочных турбокодов'

Декодер блочных турбокодов Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
302
43
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ТУРБОКОДЫ / СИНДРОМНОЕ ДЕКОДИРОВАНИЕ / КОД ХЭММИНГА / МАТРИЧНОЕ ПОСТРОЕНИЕ / КОДОВОЕ СЛОВО / ИТЕРАЦИИ / ПРОГРАММИРУЕМАЯ ЛОГИЧЕСКАЯ ИНТЕГРАЛЬНАЯ СХЕМА / УНИВЕРСАЛЬНЫЙ ТЕХНОЛОГИЧЕСКИЙ МОДУЛЬ

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Аджемов Сергей Сергеевич, Рюмшин Константин Юрьевич, Чадов Тимофей Александрович

Анализ методов формирования цифровых потоков в системах связи позволяет сделать вывод о том, что в них достаточно широко используется блочное турбокодирование. Способы формирования таких кодов достаточно разнообразны, что затрудняет задачу их декодирования и обуславливает необходимость создания специальных аппаратно-программных средств, выполняющих функции коррекции ошибок. Сравнение программной и аппаратной реализации декодирования показывает большую эффективность последней по скорости декодирования, надежности и относительно низкой стоимости устройства. Турбокодирование можно считать обновлением структуры каскадного кодирования с итеративным алгоритмом декодирования связанной кодовой последовательности. Описывается устройство для декодирования турбокодов и на основе рассмотренных процессов предлагается обобщённая модель синдромного декодера на базе ПЛИС.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Декодер блочных турбокодов»

DECODER OF BLOCK TURBO CODES

DOI I0.244II/2072-8735-20I8-I0I44

Sergey S. Ajemov,

MTUCI, Moscow, Russia, adjemov@mail.ru

Konstantin Yu. Ryumshin,

MTUCI, Moscow, Russia, e8@mail.ru

Timofey A. Chadov,

MTUCI, Moscow, Russia, chadov@mail.ru

Keywords: Turbo Syndrome Decoding, Hamming code, the matrix construction, the code word, the iteration, programmable logic integrated circuit is a universal technologycal module.

Described decoder of turbo codes and on the basis of these processes generalized model of the syndrome FPGA decoder is proposed. Analysis of signaling methods in digital communication systems leads to the conclusion that block turbo codes are widely used. Methods of forming such codes are quite varied, making it difficult to decode them, and necessitates the creation of special hardware and software that perform error correction functions.

Comparing software and hardware implementation of the decoder indicates greater efficiency for the last in decoding speed, reliability and relatively low cost of the device.

We can assume turbo coding as renewal of cascade coding with iterative decoding algorithm of associated coding sequence. Recent advances in the field of construction of integrated circuits of high and ultra high integration makes it possible to build the entire decoder in one chip. In this case it is necessary to consider all the basic requirements for the projected devices to achieve the best performance for a given level of technology.

Information about authors:

Sergey S. Ajemov, professor, doctor of technical sciences, professor, Moscow Technical University of Communications and Informatics, Moscow, Russia

Konstantin Yu. Ryumshin, leading employee, doctor of Technical Sciences, Moscow Technical University of Communications and Informatics, Moscow, Russia

Timofey A. Chadov, head of the research department, Moscow Technical University of Communications and Informatics, Moscow, Russia

Для цитирования:

Аджемов С.С., Рюмшин К.Ю., Чадов Т.А. Декодер блочных турбокодов // T-Comm: Телекоммуникации и транспорт. 2018. Том 12. №9. С. 50-53.

For citation:

Ajemov S.S., Ryumshin K.Yu., Chadov T.A. (2018). Decoder of block turbo codes. T-Comm, vol. 12, no.9, рр. 50-53.

T-Comm ^м 12. #9-2018

Turbo codes (TC) are formed by arranging two or more composite codes, which are different versions of the alternation of the same information sequence.

Block Turbo code (BTC) is the product ofa few simple block codes, so some sources are defined it as the product codes. Unlike lurbo codes based on convolutional codes BTC were known for a long time 111. Include this type of codes to turbo codes allowed that to them quite successfully been applied iterative decoding method, discussed in [2|.

Product codes can be classified by the number and type of composite block codes. According to first aspect, product codes are divided into two-dimensional {based on the product of the two codes) and Ihree dimensional (based on the product of three codes),

BTC (40%, 3249), which is used in practice, obtained by the product of two extended Hamming code (64, 57) with the addition of parity cheek bits.

Extended Hamming code with minimum code distance 4 has a small correcting capacity. If we use classical decoding (with "hard" decision), then it is possible to correct one error and delect two errors in the block of 64 bits. Examples of such errors are combinations of sequence ... 110001001... and ... 10000 111.

BTC (40%, 3249) has a minimum distance 16 and allows the correction with "hard" decision decoding of all errors with weights less than 8.

The presence of two codes (in rows and columns) significantly improves the error correction capability. Even the simplest version of the non-iterative decoder will correct any error burst with length up to 32, if the error affects a single row of the matrix, as in the code words, only one error is contained in the columns.

For a hardware implementation of the on FPGA-based decoder syndromic decoding method has been selected, using "hard" solutions of demodulator. Despite the fact that this inelh-od is inferior to the noise immunity of different methods of "soft" decoding, it has a significant simplicity, which is important in the implementation ofthe decoder on PPG A.

The block code of length n c consisting of 2itcode words is callcd a linear (n,k) -code when all its 2kcode words form -dimensional subspace of the vector space n over the field GF(2). Binary code is linear if the modulo 2 (mod2) of two code words is also a code word of the code. Vector spacc Vn over GF( 2) includes 2"vectors (Ti sequences), while its subspace is plurality of 2kcode words of length n, which is uniquely determined by its basis consisting of k linearly independent vectors. Therefore, the linear [n, /c]-code is completely determined linear set of k code words belonging to this code.

A set of code words corresponding to the basis, usually represented as a matrix, which is called the generating matrix k

Where l[k,k] ~ the identity matrix containing information symbols;

P\r,k] ~ a rectangular matrix composed of parity.

Generating matrix ii[n,it| in systematic form it can be obtained from any other matrix through elementary operations on the rows (row two arbitrary permutation, substitution of an arbitrary row in the amount of itself and others), and further permutation of columns.

The check matrix in systematic form has the form

H\n,k\ ~ [fV.fc]7"'Wil-

Wheref (,. jjjr - a rectangular matrix in the form ofa transposed matrix P[fc r[ of the generating matrix.

The product of any code word on the transposed check matrix gives the zero vector of dimension, (/¿(x:)(ii,/0 - [00...1.

Product of a code word V'j(*), i.e, with an error, on the transposed check matrix callcd a syndrome and is denoted by the transposed check matrix,Sj(x)

v'lWrfn*) = Si(.x).

Between generating and check matrices in a systematic manner to-one correspondence exists, namely, G\n k]H\nk] — 0,

To determine the correcting capability of the code and to establish communication between the number of parity check bits [?i, fc], and code correcting capability t, we use Hamming boundary

t

2n-k>'YjCi.

i= o

Using the Hamming line is the minimum number of check bits required for correcting t-multiple error because there is no -Codes correcting t-multiple error for which the inequality is nol satisfied (the boundary of the "bottom" for the number of check bits),[n, fcj

Extended Hamming code (64, 57) with a minimum distance capable of;cf — 4

1) to correct one error in the code word;

2) detect up to three errors in the code word-

Consider the correction ofa single error on the example of a single codeword Hamming code. Let a code word transmitted on the channel interference, and — the received sequence may be different from the transmitted codeword. Unlike lies in Lite fact that some of the symbols of the received sequence may differ from the corresponding symbols transmitted codeword.

(64,57)V = [v0,vlr...,vn]V' = b'o.^-^'nJWViVi,

For example,

V= LOIOIOOIOIOOIOOOI1000111100100011010100011101100011 01010001110110} and

|T = 10100101(101 DUO] I 100] U100I0001 1010100011 10110001 1010101)011 ion0.

i.e, an error has occurred in the I Sth bit of code word, 0 changed to 1. The syndrome calculation device outputs has the value of the error syndrome. For this example S = 0000001. The decoding algorithm involves replacing the distorted vector (any n-tuple, w ith the exception of the first row) be the code word, said top of the column containing distorted vector.

To describe the error occurring in the channel of the error vector are used, usually referred to as e and representing a binary sequence of length n with units in those positions in which the error occurred.

So the error vector

(?M)OMOOOOOOOOOOOOOIOOOOOOODOOOOOOOOOO<)OOOm)OOOOOOOOOOOOl}OOOMOOOO

It means a single error in the 18-th bit.

Figure I represents a block diagram of the syndrome decoder for Hamming code (64,57).

Arrange 2" n - vectors that represent possible received vectors in the so-called normal matrix to the first row contains all

7T\

T

the code words beginning with the code word with one zero, and the first column - all the correctable error patterns

chi

<m.ki mii'iiiHi itiii iiktoif ■ 11« ■;

Sindrome decoder

Mndromp

calculation

tic* ice

s

S-V HT

(able of sindrome and error vector matching

rsr

iin;i^ii«iKiwi)i<iiai lotliMKMiti

I

■wruoi I WBIMII IHM 11 man

Fig. I. Block diagram of the syndrome dec ode r

Each row of the formed matrix, called a class, is composed of an error pattern in the first column, called the class generating element, followed by the code words, are exposed to this error model. Normal matrix for the code [n, A'] is as follows;

«3

r2 2+<

Yi+ei

Vi+ej

Vi + %

V+e

t J

V2> V2k +e2

% +e3

+ e;

The calculated syndrome is supplied to an error correction block, the output of which the corrected code word is obtained. The corrected code word is rewritten in the memory of columns for storing strings. A similar procedure is performed for the rows. The decoded code word BTC is supplied to an output buffer only when filling new code word of the input buffer, the output parity part then retracts in the decoder. Schematic hlock diagram of the syndrome decoder BTC (4096, 3249) is shown in Figure 2.

At the decoder input receives a digital stream representing successive bits at the output of the demodulator. The decoder outputs decoded sequence of information symbols. The decoder comprises:

1) synchronizer, which supplies information on the frame synchronization and also determines the correct polarity bits if necessary;

2) an input buffer - the memory, where the code word is recorded BTC (4096, 3249);

3) block for storing and updating rows in which there is an entry in a memory for storing the row and rewriting corrected column;

4) block for storing and updating the columns in which there is an entry in a memory for storing the column and rewriting corrected line;

5) block for calculating the syndromes of columns and rows;

6) block that corrects errors, as well as supplying the device information storing and updating columns and rows;

7) an output buffer, determining the output of the decoder information sequence, and supplying information synchronizer;

8) a controller supplying control actions into component blocks of the decoder.

9) Control unit.

e „_( V2 + e „-i

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

V, + e „ *

+ e_„.

The matrix contains all2" n-vectors available in the space Vn. Each n-vector occurs only once, and not one is missing or duplicated. Each class contains 2fcan n adjacency-vectors. Consequently, the total number of classes will be (2n/2 ) = 2n~k.

By adopting the vector V\ the decoder must first determine if there are errors in the received sequence. 1 f an error exists, it must comply with corrective actions.

Decoding the result will be the modulo-2 code word come out of the channel due to the error vector of the correspondence table.

Decoding the code word of Hamming (64, 57) similar to decoding code word of Hamming (63, 57), The only difference is in the parity-check matrix Ht and Hz, as well as tables of syndromes and error vectors matching. Furthermore, the Hamming code (63, 57) can not detect all errors with the weight 3.

Thus, the BTC for decoding (4096, 3249) it is necessary to decode the codewords of Hamming (64, 57) for the column, then the code word (64, 57) for the lines according to the block diagram in Figure 3, whereupon all iterations are repeated again.

The input of the decoder receives the data from the demodulator. By received bits synchronization occurs in the decoder. Next, the input buffer is filled and memory for the columns and rows is filled. Thereafter, the code words of the memory of the columns is provided to calculate syndromes for the columns.

r T

input ligoil

L

.......- F

V output

•+1 | iigml

-LP

Fig. 2. Block diagram of the syndrome decoder BTC

Recent advances in the field of construction of integrated circuits of high and ultra high integration makes it possible to build the entire decoder in one chip. In this case it is necessary to consider all the basic requirements for the projected devices to achieve the best performance for a given level of technology.

References

1. Peterson W., Weldon E. (1976). Correcting Codes oshihki. Moscow; Mir. 594 p.

2. Berlekemp E.R. (1980). Error correction coding technique. Proc. of the IEEE. Vol. 68. No.S. Moscow: PIF.FE, pp. 24-58.

т

3. Prokis D, (2000). Digital communication, Moscow: Radio and communication. 800 p.

4, Ryumshin, K.Yu. (2008), Possibilities of applicability of a system of linear equations in the technical analysis of numerical sequences. Works of the 4th Central Research Institute of the Ministry of Defense of the Russian Federation. Yubileiny: 4 Central Research Institute of the Ministry of Defense of the Russian Federation. No. 93, pp. 182-189.

5. Ryumshin K.Yu., Zaitsev I.E., Kryachko A.F. (2011). Technical analysis of signals in monitoring of electromagnetic environment. Proceedings of the 9th International Symposium on EMC. SPb.: ETU «LETI». Special edition of [EE Electronics Letters, pp. 226-231.

6. Chadov T.A., Tikhonyuk A.I., Erochin S.D. (2017). Approach to the problem of identification of noise-resistant codes in telecommunication systems. Systems of signal synchronization, generating and processing. Moscow, No. I, pp. 21-26.

ДЕКОДЕР БЛОЧНЫХ ТУРБОКОДОВ

Аджемов Сергей Сергеевич, МТУСИ, Москва, Россия, adjemov@mail.ru Рюмшин Константин Юрьевич, МТУСИ, Москва, Россия, e8@mail.ru Чадов Тимофей Александрович, МТУСИ, Москва, Россия, chadov@mail.ru

Аннотация

Анализ методов формирования цифровых потоков в системах связи позволяет сделать вывод о том, что в них достаточно широко используется блочное турбокодирование. Способы формирования таких кодов достаточно разнообразны, что затрудняет задачу их декодирования и обуславливает необходимость создания специальных аппаратно-программных средств, выполняющих функции коррекции ошибок. Сравнение программной и аппаратной реализации декодирования показывает большую эффективность последней по скорости декодирования, надежности и относительно низкой стоимости устройства. Турбокодирование можно считать обновлением структуры каскадного кодирования с итеративным алгоритмом декодирования связанной кодовой последовательности. Описывается устройство для декодирования турбокодов и на основе рассмотренных процессов предлагается обобщённая модель синдромного декодера на базе ПЛИС.

Ключевые слова: Турбокоды, синдромное декодирование, код хэмминга, матричное построение, кодовое слово, итерации, программируемая логическая интегральная схема, универсальный технологический модуль.

Литература

1. Питерсон У., Уэлдон Э. Коды, исправляющие ошибки. М.: Мир, 1976. 594 с.

2. Berrou C., Glavieux A. Near Shannon limit error-correcting codingand decoding. Turbo codes, in Proc. Int.Conf. Comm. 1993, рр. 1064-1070.

3. Прокис Д. Цифровая связь. М. : Радио и связь, 2000. 800 с.

4. Рюмшин К.Ю. Анализ цифровых сигналов с корректирующим кодированием в дискретном канале / Труды Военно-космической академии имени А.Ф. Можайского. СПб.: ВКА имени А.Ф. Можайского. 2011. Вып. 633. 220 с.

5. Рюмшин К.Ю. Модели и методы идентификации сигналов с корректирующим кодированием в дискретном канале, методы построения и декодирования современных кодовых конструкций. Монография. СПб.: ВКА имени А. Ф. Можайского, 2013. 173 с.

6. Чадов Т.А., Тихонюк А.И., Ерохин С.Д. Подход к решению проблемы идентификации помехоустойчивых кодов в телекоммуникационных системах связи // Системы синхронизации, формирования и обработки сигналов. 2017. № 1. С. 21-26.

Информация об авторах:

Аджемов Сергей Сергеевич, профессор, д.т.н., профессор, Московский технический университет связи и информатики, Москва, Россия

Рюмшин Константин Юрьевич, ведущий сотрудник, д.т.н., Московский технический университет связи и информатики, Москва, Россия

Чадов Тимофей Александрович, начальник научно-исследовательской части, Московский технический университет связи и информатики, Москва, Россия

i Надоели баннеры? Вы всегда можете отключить рекламу.