RU2301492C2 - Method and device for transmitting voice information in digital radio communication system - Google Patents
Method and device for transmitting voice information in digital radio communication system Download PDFInfo
- Publication number
- RU2301492C2 RU2301492C2 RU2005126242/09A RU2005126242A RU2301492C2 RU 2301492 C2 RU2301492 C2 RU 2301492C2 RU 2005126242/09 A RU2005126242/09 A RU 2005126242/09A RU 2005126242 A RU2005126242 A RU 2005126242A RU 2301492 C2 RU2301492 C2 RU 2301492C2
- Authority
- RU
- Russia
- Prior art keywords
- code
- sequence
- input
- information
- convolutional
- Prior art date
Links
- 238000004891 communication Methods 0.000 title claims abstract description 25
- 238000000034 method Methods 0.000 title claims description 26
- 238000010586 diagram Methods 0.000 claims abstract description 53
- 125000004122 cyclic group Chemical group 0.000 claims abstract description 48
- 238000012546 transfer Methods 0.000 claims abstract description 33
- 230000007704 transition Effects 0.000 claims description 52
- 230000005540 biological transmission Effects 0.000 claims description 13
- 230000001360 synchronised effect Effects 0.000 claims description 5
- 238000004364 calculation method Methods 0.000 claims description 4
- 238000012795 verification Methods 0.000 claims description 4
- 230000003190 augmentative effect Effects 0.000 claims description 2
- 238000012892 rational function Methods 0.000 claims 2
- 244000019194 Sorbus aucuparia Species 0.000 claims 1
- 235000006414 serbal de cazadores Nutrition 0.000 claims 1
- 230000000694 effects Effects 0.000 abstract description 5
- 239000000126 substance Substances 0.000 abstract 1
- 230000036962 time dependent Effects 0.000 abstract 1
- 239000011159 matrix material Substances 0.000 description 38
- 238000004422 calculation algorithm Methods 0.000 description 26
- 230000008569 process Effects 0.000 description 6
- 230000009897 systematic effect Effects 0.000 description 6
- 238000006243 chemical reaction Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000005562 fading Methods 0.000 description 3
- 238000007476 Maximum Likelihood Methods 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000010835 comparative analysis Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000005094 computer simulation Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Landscapes
- Error Detection And Correction (AREA)
Abstract
Description
Изобретение относится к области радиотехники, в частности к способу и устройству передачи голосовых данных в цифровой системе радиосвязи.The invention relates to the field of radio engineering, in particular to a method and device for transmitting voice data in a digital radio communication system.
Преобразование голосового сообщения в цифровой системе радиосвязи включает в себя следующие этапы:Converting a voice message in a digital radio communication system includes the following steps:
- аналого-цифровое преобразование речевого сигнала,- analog-to-digital conversion of a speech signal,
- канальное кодирование,- channel coding,
- передача по радиоканалу кодового слова,- transmission over the air of the code word,
- декодирование входного сигнала- decode input signal
- цифроаналоговое преобразование цифровой последовательности в речевой сигнал- digital-to-analog conversion of a digital sequence into a speech signal
Аналого-цифровое преобразование и цифроаналоговое преобразование выполняет вокодер, известный как "waveform coder" (см. L.R.Rabiner R.W.Schafer, Digital processing of speech signal. Prentice Hall. Englewood Cliffs New Jersey 1978 [1]). В настоящее время гибридные вокодеры позволяют преобразовывать в голосовой сигнал пакеты данных, содержащие ошибки, если количество ошибочных символов не превышает установленного предела, то исходный сигнал может быть восстановлен с потерями, субъективно малозаметными, для абонента. Таким образом, актуальной является задача повышения качества связи при передаче голосовых данных в цифровой системе радиосвязи за счет снижения символьной ошибки помехоустойчивого кодирования.Analog-to-digital conversion and digital-to-analog conversion are performed by a vocoder known as a “waveform coder” (see L. R. Rabiner R. W. Schafer, Digital processing of speech signal. Prentice Hall. Englewood Cliffs New Jersey 1978 [1]). Currently, hybrid vocoders allow you to convert data packets containing errors into a voice signal, if the number of erroneous characters does not exceed the set limit, then the original signal can be restored with losses, subjectively subtle, to the subscriber. Thus, the urgent task is to improve the quality of communication when transmitting voice data in a digital radio communication system by reducing the symbolic error of error-correcting coding.
Следует отметить, что для обнаружения ошибочного пакета голосовых данных также используют код, обнаруживающий ошибки. Наиболее эффективной технологией обнаружения ошибок является циклическая контрольная сумма, которую добавляют к передаваемому пакету. Полное описание способа кодирования циклической контрольной суммой CRC дано, например, в книге Блейхут. Теория и практика кодов, контролирующих ошибки. - М: 1986 [2]. Циклическая контрольная сумма является практически надежным способом обнаружения ошибок. Использование контрольной суммы не только для обнаружения ошибок, но и для их коррекции может снизить символьную ошибку помехоустойчивого кодирования.It should be noted that a code detecting errors is also used to detect an erroneous voice data packet. The most effective error detection technology is the cyclic checksum, which is added to the transmitted packet. A full description of the CRC cyclic checksum encoding method is given, for example, in the book Bleichut. Theory and practice of error control codes. - M: 1986 [2]. The cyclic checksum is an almost reliable way to detect errors. Using a checksum not only to detect errors, but also to correct them, can reduce the symbolic error of error-correcting coding.
Помехоустойчивое кодирование сверточным кодом известно из Theoretical fundamentals of communications / D.Wozencraft, I.Jeckobs. - M.: Mir, 1969. - p.640., Elias P. Coding for Noisy Channel / P. Elias // IRE Convention Record. - 1955. - Pt.4. - P.37-46. [3].Convolutional coding is known from Theoretical fundamentals of communications / D.Wozencraft, I.Jeckobs. - M .: Mir, 1969. - p. 640., Elias P. Coding for Noisy Channel / P. Elias // IRE Convention Record. - 1955. - Pt. 4. - P.37-46. [3].
Последовательность передаваемых информационных символов может быть представлена в виде многочлена s(x)=s0+s1x+s2x2, где s0, s1, s2 - двоичные символы, расположенные в очередности их передачи.The sequence of transmitted information symbols can be represented as a polynomial s (x) = s 0 + s 1 x + s 2 x 2 , where s 0 , s 1 , s 2 are binary symbols located in the order of their transmission.
Тогда последовательность символов на выходе сверточного кодера, представленного на фиг.1 (а), можно рассматривать как свертку импульсной характеристики кодера с входной последовательностью. В компактном виде линейная свертка записывается как произведение многочленов:Then, the sequence of symbols at the output of the convolutional encoder shown in FIG. 1 (a) can be considered as a convolution of the impulse response of the encoder with the input sequence. In a compact form, linear convolution is written as the product of polynomials:
c(x)=s(x)g(x)c (x) = s (x) g (x)
Коэффициенты сi, этого многочлена определяются равенствамиCoefficients with i , of this polynomial are determined by the equalities
Свертку следует понимать, как свертку в поле Галуа. То есть для двоичных сообщений сумму надо понимать как сумму по модулю 2, а умножение на х как операцию задержки. Таким образом, si - входная последовательность; сi - отсчет выходной последовательности; g(x) - образующий полином, a gk - его коэффициенты. Для введения избыточности с помощью другого образующего полинома g'(x) получают выходной отсчет с'(х). В результате этого входному символу si соответствуют два выходных с(х) и с'(х). Образующий полином также можно представить в виде двоичного числа, где k-т разряд равен бинарному коэффициенту gk. Так для кодера, представленного на Фиг.1 (а), образующие полиномы равны g=58 и g'=78, где нижний индекс обозначает основание системы счисления. Физически кодер реализуется при помощи линии задержки. Скоростью кодера называется отношение числа входных символов к числу выходных, а длиной кодового ограничения - длина линии задержки, которая равна степени образующего полинома. Скорость кодирования этого кодера составляет R=1/2. Длина кодового ограничения определена как минимальная длина линии задержки, при которой код может быть реализован, и равна К=3.Convolution should be understood as a convolution in the Galois field. That is, for binary messages, the sum must be understood as a
Другим видом представления помехоустойчивого кода является представление при помощи порождающей матрицы, так в этом представлении операция кодирования может быть записана как умножение вектора информационных символов на порождающую матрицу, результатом которого будет вектор кодовых символов: SG=С.Another type of representation of the error-correcting code is the representation using the generating matrix, so in this representation the encoding operation can be written as the multiplication of the vector of information symbols by the generating matrix, the result of which will be a vector of code symbols: SG = C.
Вид порождающей матрицы сверточного кода определяется откликом на единичное воздействие на кодер, показанным на фиг.1 (а). Пусть в кодер поступает символ 1, за которым следуют символы 0. В таком случае отклик на такое единичное воздействие, то есть соответствующая выходная последовательность кодера имеет вид . Выходная последовательность, соответствующая произвольной входной последовательности, получается сложением по модулю 2 сдвигов указанной последовательности. Поэтому порождающая матрица может быть представлена в виде:The form of the generating matrix of the convolutional code is determined by the response to a single effect on the encoder shown in figure 1 (a). Let
Как видно из способа построения матрицы, она имеет бесконечный размер, но, тем не менее, кодер достаточно просто реализуется на линии задержки.As can be seen from the method of constructing the matrix, it has an infinite size, but, nevertheless, the encoder is quite simply implemented on the delay line.
Сверточный код можно представить посредством порождающих подматриц, каждая из которых соответствует задержанному одному импульсному отклику, как показано на фиг.2 (см. R.Johannesson and К.S.Zigangirov, Fundamentals of Convolutional Coding. New York, NY, USA: IEEE Press, 1999 [4]). Размер подматрицы соответствует числу порождающих полиномов Gk={gk,1, gk,2} и определяет скорость кодирования R. Порождающую матрицу для сверточного кода в этом случае можно представить в виде:The convolutional code can be represented by generating submatrices, each of which corresponds to a delayed one impulse response, as shown in FIG. 2 (see R. Johannesson and K. S. Zigangirov, Fundamentals of Convolutional Coding. New York, NY, USA: IEEE Press , 1999 [4]). The size of the submatrix corresponds to the number of generating polynomials G k = {g k, 1 , g k, 2 } and determines the coding rate R. In this case, the generating matrix for the convolutional code can be represented as:
Для кода, показанного на фиг.1 (а), порождающие подматрицы равны For the code shown in FIG. 1 (a), the generating submatrices are equal
Наряду с термином "порождающий полином" используется термин "рациональная функция передачи" от оператора задержки D:Along with the term “generating polynomial”, the term “rational transfer function” from the delay operator D is used:
gk(D)=gk0+gk1D+gk2D2+gk3D3+...+gkmDm g k (D) = g k0 + g k1 D + g k2 D 2 + g k3 D 3 + ... + g km D m
В таком случае говорят о том, что информационную последовательность умножают на порождающий полином кода или на рациональную функцию передачи gk(D), где D оператор задержки или D-преобразование (см. [4] стр.31).In this case, it is said that the information sequence is multiplied by the generating polynomial of the code or by the rational transfer function g k (D), where D is the delay operator or D-transformation (see [4] p.31).
Избыточность кодирования достигается за счет введения множества каскадов кодирования сверточного кода gk(D), g1(D),..., gN(D). В каждом из каскадов кодирования формируют один кодовый символ. Все кодовые символы, сформированные в каскадах кодирования, соответствуют одному информационному символу, поступившему в линию задержки. Операции кодирования в каждом каскаде проводят параллельно.Coding redundancy is achieved by introducing a plurality of coding stages of the convolutional code g k (D), g 1 (D), ..., g N (D). In each of the coding stages, one code symbol is generated. All code symbols generated in coding stages correspond to one information symbol received on the delay line. Coding operations in each cascade are carried out in parallel.
Известен рекурсивный сверточный код или сверточный код с обратной связью (см. G.D.Fomey, Jr., "Convolutional codes I: Algebraic structure," IEEE Trans. Inform. Theory, vol.IT-16, p.720-738, Nov. 1970 [5]). Обратная связь в кодере реализована делением на полином. Такой кодер также характеризуется рациональной функцией передачи. Необходимым условием реализуемости такой схемы является равенство единице элемента с нулевой степенью D в полиноме-знаменателе.A recursive convolutional code or a convolutional code with feedback is known (see GDFomey, Jr., "Convolutional codes I: Algebraic structure," IEEE Trans. Inform. Theory, vol.IT-16, p.720-738, Nov. 1970 [5]). Feedback in the encoder is implemented by dividing by polynomial. Such an encoder is also characterized by a rational transmission function. A necessary condition for the feasibility of such a scheme is the equality to unity of an element with zero degree D in the denominator polynomial.
На фиг.3 представлены два варианта реализации рекурсивного сверточного кодера и соответствующие им рациональные функции передачи:Figure 3 presents two options for implementing a recursive convolutional encoder and the corresponding rational transfer functions:
а) рациональная функция передачи сверточного кодера (вариант а)a) the rational transmission function of the convolutional encoder (option a)
б) рациональная функция передачи сверточного кодера (вариант б)b) the rational transfer function of the convolutional encoder (option b)
Сверточные коды допускают сравнительно простой алгоритм мягкого декодирования, известный как алгоритм Витерби (Витерби А. Границы ошибок для сверточных кодов и асимптотический оптимальный алгоритм декодирования. - см. А.Витерби. Некоторые вопросы теории кодирования. - М., 1970. - С.142-165 [6]). Декодирование сверточного кода основано на сравнении двух кодовых последовательностей путем определения "расстояния" между ними в пространстве допустимых кодовых слов или определения "веса" одного кодового слова относительно другого. Для случая последовательностей из двоичных символов простейшей метрикой, определяющей расстояние между кодовыми словами, является метрика Хемминга, которая равна количеству отличных друг от друга символов в рассматриваемых последовательностях. Также определена метрика в мягких решениях, которая равна сумме геометрических расстояний в пространстве сигналов между соответствующими кодовыми символами в обеих последовательностях [2].Convolutional codes allow a relatively simple soft decoding algorithm, known as the Viterbi algorithm (Viterbi A. Error limits for convolutional codes and the asymptotic optimal decoding algorithm. - see A. Viterbi. Some questions of coding theory. - M., 1970. - P.142 -165 [6]). Convolutional code decoding is based on comparing two code sequences by determining the "distance" between them in the space of valid code words or determining the "weight" of one code word relative to the other. For the case of sequences of binary symbols, the simplest metric that determines the distance between codewords is the Hamming metric, which is equal to the number of distinct characters in the sequences in question. A metric is also defined in soft solutions, which is equal to the sum of geometric distances in the space of signals between the corresponding code symbols in both sequences [2].
Процесс декодирования сверточного кода представляет собой поиск пути с наименьшим весом по дереву, ветви которого представляют собой допустимые кодовые комбинации. Отбрасывание заведомо неправильных путей позволит избежать экспоненциального роста сложности в зависимости от длины кодового блока. Учитывая тот факт, что кодер является автоматом с конечным числом состояний, удобно графически изображать код, как решетчатую диаграмму. Для кодера, представленного на фиг.1 (а), решетчатая диаграмма показана на фиг.1 (б), где узлы соответствуют состояниям кодера, определяемым двумя первыми битами из линии задержки, а ребра соответствуют допустимым переходам и промаркированы соответствующими значениями выходных бит. В начальный момент времени t0 биты, записанные в линию задержки, определяют инициализацию кодера, обычно кодер инициализируют нулями. Каждый столбец - это состояние кодера в дискретный момент времени ti. В декодере каждый возможный путь накапливает свой вес путем сравнения с действительно принятой последовательностью, используя метрику Хемминга или метрику в мягких решениях. И, таким образом, продвигается в глубину решетчатой диаграммы, где глубина решетчатой диаграммы сверточного кода q в декодере соответствует дискретным отсчетам времени ti в кодирующем устройстве. Отметим, что в каждое состояние также приходят два пути, один из которых с худшей метрикой отбрасывается.The process of decoding a convolutional code is a search for the path with the smallest weight in the tree, the branches of which are valid code combinations. Discarding deliberately wrong paths will avoid an exponential increase in complexity depending on the length of the code block. Given the fact that the encoder is an automaton with a finite number of states, it is convenient to graphically depict the code as a trellis diagram. For the encoder shown in FIG. 1 (a), the trellis diagram is shown in FIG. 1 (b), where the nodes correspond to the states of the encoder defined by the first two bits from the delay line, and the edges correspond to the permissible transitions and are marked with the corresponding values of the output bits. At the initial time t 0, the bits recorded in the delay line determine the initialization of the encoder, usually the encoder is initialized with zeros. Each column is the state of the encoder at a discrete time instant t i . In the decoder, each possible path accumulates its weight by comparing it with a truly accepted sequence, using the Hamming metric or the metric in soft solutions. And thus, it moves into the depth of the trellis diagram, where the depth of the trellis diagram of the convolutional code q in the decoder corresponds to discrete time samples t i in the encoding device. Note that two paths also come to each state, one of which with the worst metric is discarded.
Модифицированный алгоритм декодирования Витерби, приведенный в [4], заключается в следующем:The modified Viterbi decoding algorithm given in [4] is as follows:
- в построении массива метрик, размером равного числу внутренних состояний кодера, который рассматривают как автомат с конечным числом состояний,- in the construction of an array of metrics equal to the number of internal states of the encoder, which is considered as an automaton with a finite number of states,
- инициализации массива метрик априорными значениями метрик,- initialization of the metric array with a priori metric values,
- вычислении метрик путей, которые равны метрике исходного состояния плюс метрика допустимого перехода (ADD),- calculation of path metrics that are equal to the initial state metric plus the admissible transition metric (ADD),
- обновлении метрик состояния путем выбора наименьшей метрики разрешенного пути в это состояние (COMPARE),- updating state metrics by selecting the smallest metric of the allowed path to this state (COMPARE),
- запоминании разрешенного перехода с наименьшей метрикой (SELECT),- remembering the allowed transition with the least metric (SELECT),
- повторении описанной процедуры до тех пор, пока не достигнут конца кодового слова,- repeating the described procedure until the end of the code word is reached,
- выборе финального состояния, отслеживании основного выжившего пути по запомненным разрешенным переходам в обратном направлении.- choosing the final state, tracking the main surviving path along the remembered allowed transitions in the opposite direction.
Алгоритм Витерби является оптимальным в своем классе кодов по критерию минимальной вероятности ошибки в приеме кодового слова, что, однако, не гарантирует минимального числа ошибочных символов.Viterbi's algorithm is optimal in its class of codes by the criterion of the minimum probability of error in receiving a code word, which, however, does not guarantee a minimum number of erroneous characters.
Известен алгоритм MAP BCJR (см. Optimal decoding of linear codes for minimizing symbol error rate / L.R.Bahl, J.Cocke, F.Jelinek, J.Raviv // IEEE Transaction on Information Theory. - 1974. - Vol.20, №3. - P.284-287. [7]), который является оптимальным по критерию минимума символьной ошибки, но он требует сложной реализации, больших вычислительных ресурсов и вносит задержку обработки. Алгоритм заключается в проходе кодового слова в прямом и обратном направлении, сохранении промежуточных результатов и последующем проходе, где промежуточные результаты объединяют и выносят мягкие решения по принятым символам.The MAP BCJR algorithm is known (see Optimal decoding of linear codes for minimizing symbol error rate / LR Bahl, J. Cocke, F. Jelinek, J. Raviv // IEEE Transaction on Information Theory. - 1974. - Vol.20, No. 3 . - P.284-287. [7]), which is optimal by the criterion of minimum symbolic error, but it requires complex implementation, large computational resources, and introduces processing delay. The algorithm consists in passing the code word in the forward and backward directions, saving the intermediate results and the subsequent passage, where the intermediate results combine and make soft decisions on the accepted characters.
По сравнению с алгоритмом Витерби процесс декодирования по алгоритму MAP может быть начат только после приема кодового слова в целом, что увеличивает задержку декодирования и предполагает наличие сложных вычислительных операций.Compared to the Viterbi algorithm, the MAP decoding process can only be started after receiving the codeword as a whole, which increases the decoding delay and requires complex computational operations.
Алгоритм Витерби позволяет декодировать кодовое слово по мере поступления кодовых символов, задержку вносит только процесс выбора решений по декодированным символам или процесс отслеживания выживших путей, однако эта задержка не является значительной и определяется максимальной глубиной решетчатой диаграммы сверточного кода, обычно равной 5-6 длинам кодового ограничения.The Viterbi algorithm allows you to decode a code word as code symbols arrive, the delay is introduced only by the decision making process on decoded symbols or the process of tracking surviving paths, however this delay is not significant and is determined by the maximum depth of the trellis diagram of the convolutional code, usually equal to 5-6 code restriction lengths .
Известны систематический и несистематический виды кодирования, которые отличаются тем, что в случае систематического кодирования исходное информационное сообщение является частью кодового слова в явном виде, то есть кодовое слово может быть разделено на информационную и проверочную составляющие.There are known systematic and non-systematic types of coding, which differ in that in the case of systematic coding, the initial information message is an explicit part of the code word, that is, the code word can be divided into information and verification components.
Для кодов, декодируемых по алгоритму Витерби, оптимальным является несистематический вид кодирования, однако известно, что любой несистематический сверточный код может быть представлен в систематическом виде, притом будет сохранена возможность его декодирования стандартным декодером (см. [5], а также Min-Goo Kirn, On Systematic Punctured Convolutional Codes, IEEE Transactions on Communications, Vol.45 No.2, P.133-9, February 1997 [8]). Это достигается путем предварительного сверточного рекурсивного кодирования, без внесения избыточности, может быть сформирована промежуточная кодовая последовательность таким образом, что, будучи закодирована стандартным кодом сверточного кода, полученное кодовое слово будет содержать в себе исходную информационную последовательность как составную часть, таким образом, информационные символы могут быть отображены в назначенные кодовые символы. Полученный код может быть декодирован стандартным декодером Витерби, исходная информационная последовательность может быть получена как обратным кодированием, так и прямым преобразованием промежуточной кодовой последовательности в исходное информационное сообщение, выполненным непосредственно в декодере, с незначительными модификациями последнего. Следует отметить, что в этом случае предварительное кодирование выполняют с обратной связью рекурсивным сверточным кодером.For codes decoded by the Viterbi algorithm, the unsystematic type of encoding is optimal, however, it is known that any unsystematic convolutional code can be represented in a systematic form, and the possibility of its decoding by a standard decoder will be preserved (see [5], as well as Min-Goo Kirn , On Systematic Punctured Convolutional Codes, IEEE Transactions on Communications, Vol. 45 No.2, P.133-9, February 1997 [8]). This is achieved by preliminary convolutional recursive coding, without introducing redundancy, an intermediate code sequence can be formed in such a way that, being encoded by the standard code of the convolutional code, the resulting code word will contain the original information sequence as an integral part, thus, information symbols can be mapped to assigned code characters. The resulting code can be decoded with a standard Viterbi decoder, the original information sequence can be obtained both by reverse coding and by direct conversion of the intermediate code sequence into the original information message made directly in the decoder, with minor modifications of the latter. It should be noted that in this case, precoding is performed with feedback by a recursive convolutional encoder.
Однако, если отображать информационную последовательность только в один из каскадов кодирования, например, при скорости кодирования R=1/2, эффект снижения битовой ошибки не может быть достигнут, из-за кодовой зависимости бит в этом каскаде, так ошибка в одном из кодовых символов, с высокой вероятностью приводит к ошибке в следующем символе этого каскада. Однако в литературе показана эффективность данного способа предварительного кодирования для скорости с обратной связью R=1/2 в канале с федингом (см. Channel coding techniques for Adaptive Multi Rate Speech Transmission / T.Hindelang, J.Hagenauer, M.Schmauts, Wen Xu [9]). Выигрыш в символьной ошибке получается за счет того, что алгоритм Витерби оптимален только по критерию минимальной пакетной ошибки, соответственно выигрыш состоит в том, что будет уменьшено количество ошибочных символов в ошибочных пакетах за счет предварительного кодирования с обратной связью с последующим восстановлением информационной последовательности из промежуточной кодовой последовательности.However, if you display the information sequence in only one of the coding stages, for example, when the encoding speed is R = 1/2, the effect of reducing the bit error cannot be achieved, due to the code dependence of the bits in this stage, so an error in one of the code symbols , with a high probability leads to an error in the next symbol of this cascade. However, the literature shows the effectiveness of this precoding method for feedback speed R = 1/2 in the channel with fading (see Channel coding techniques for Adaptive Multi Rate Speech Transmission / T. Hindelang, J. Hagenauer, M.Schmauts, Wen Xu [9]). The gain in the symbolic error is obtained due to the fact that the Viterbi algorithm is optimal only by the criterion of the minimum packet error, respectively, the gain is that the number of erroneous characters in the erroneous packets will be reduced due to preliminary coding with feedback and subsequent restoration of the information sequence from the intermediate code sequence.
Известным способом повышения эффективности декодирования является лист-декодирование или декодирование списком (см. Elias P. Error-Correcting Codes for List Decoders / P. Elias // IEEE Transactions on Information Theory. - 1991. - Vol.37, №1. - P.5-13. [10]), которое заключается в том, что декодер возвращает список возможных вариантов кодовых слов. Выбор из них правильного информационного сообщения может быть осуществлен путем проверки циклической контрольной суммы. Например, в алгоритме Витерби лист-декодирование может быть реализовано путем добавления в список некоторых путей, которые ранее были отброшены.A well-known way to increase the decoding efficiency is list decoding or list decoding (see Elias P. Error-Correcting Codes for List Decoders / P. Elias // IEEE Transactions on Information Theory. - 1991. - Vol.37, No. 1. - P .5-13. [10]), which consists in the fact that the decoder returns a list of possible codewords. The choice of the correct informational message can be made by checking the cyclic checksum. For example, in the Viterbi algorithm, sheet decoding can be implemented by adding to the list some paths that were previously discarded.
Известны следующие реализации Лист Витерби Алгоритма:The following implementations of the Viterbi Sheet Algorithm are known:
- N.Seshadri, С.Е.W. Sundberg "List Viterbi decoding and its application" // IEEE Trans on Communication, Vol.COM-42, №2-4, 1994, P.313-323 [11],- N. Seshadri, C.E.W. Sundberg "List Viterbi decoding and its application" // IEEE Trans on Communication, Vol.COM-42, No. 2-4, 1994, P.313-323 [11],
- Martin Röder, Raouf Hamzaoui "Fast List Viterbi Decoding and Application for Source-Channel Coding of Images" http://citeseer.ist.psu.edu/689661.html [12].- Martin Röder, Raouf Hamzaoui "Fast List Viterbi Decoding and Application for Source-Channel Coding of Images" http://citeseer.ist.psu.edu/689661.html [12].
Фактически, данный алгоритм характеризуется поиском по дереву сохраненных переходов в решетчатой диаграмме декодера Витерби, где поиск осуществляют на несколько уровней в глубину, меняя решения сделанные декодером Витерби.In fact, this algorithm is characterized by searching through the tree of saved transitions in the trellis diagram of the Viterbi decoder, where the search is carried out several levels in depth, changing the decisions made by the Viterbi decoder.
Лист Витерби алгоритм, описанный [11], характеризуется следующей последовательностью действий:The Viterbi sheet algorithm described in [11] is characterized by the following sequence of actions:
1) выбирают основной выживший путь, выполняя декодирование Витерби;1) choose the main surviving path, performing Viterbi decoding;
2) формируют первый список альтернативных путей, отслеживая основной выживший путь в обратном направлении, начиная с шага с наибольшим номером, для чего на каждом шаге добавляют в первый список альтернативные пути, которые были слиты с основным выжившим путем;2) form the first list of alternative paths, tracking the main surviving path in the opposite direction, starting from the step with the highest number, for which at each step add alternative paths to the first list that were merged with the main surviving path;
3) для каждого пути в первом списке формируют второй список, добавляя в него альтернативные пути, которые были слиты с этим путем из первого списка;3) for each path in the first list, the second list is formed, adding alternative paths to it that were merged with this path from the first list;
4) вычисляют метрики путей из второго списка, если метрика пути из второго списка меньше, чем метрика какого-либо пути из первого списка, то путь в первом списке, меняют на путь из второго списка путей;4) calculate the path metrics from the second list, if the path metric from the second list is less than the metric of any path from the first list, then the path in the first list is changed to the path from the second path list;
5) рекурсивно повторяют действия до тех пор, пока не будет достигнут шаг с нулевым номером;5) repeat the steps recursively until a step with a zero number is reached;
6) проверяют CRC у всех путей из первого списка;6) check the CRC for all paths from the first list;
Недостатком данного алгоритма является его техническая сложность, алгоритм может быть упрощен путем выполнения только действий 1, 2, 6, однако в таком случае его эффективность резко падает, например, в канале с федингом.The disadvantage of this algorithm is its technical complexity, the algorithm can be simplified by performing
Наиболее близкое к заявляемому изобретению техническое решение - прототип описано в патенте США №6112326, Int.Cl. Н03М/13, Preceding Technique to Lower the Bit Error Rate (BER) of Punctured Convolutional Codes / Ali S.Khayrallah; Ericsson Inc. [13], где предварительное кодирование выполняют путем умножения на несистематическую матрицу, согласованную с матрицей выкалывания для ряда определенных сверточных кодов с кодовым ограничением, равным 5. Следует отметить, что в устройстве-прототипе выполняют предварительное кодирование без обратной связи.Closest to the claimed invention, the technical solution - the prototype is described in US patent No. 6112326, Int.Cl. H03M / 13, Preceding Technique to Lower the Bit Error Rate (BER) of Punctured Convolutional Codes / Ali S. Khayrallah; Ericsson Inc. [13], where precoding is performed by multiplying by a non-systematic matrix, consistent with the puncturing matrix for a number of certain convolutional codes with a code constraint of 5. It should be noted that in the prototype device, precoding is performed without feedback.
Способ характеризуется следующей последовательностью действий:The method is characterized by the following sequence of actions:
1) на передающей стороне умножают информационный сигнал на матрицу предварительного кодирования, получая предварительно кодированный информационный сигнал;1) on the transmitting side, the information signal is multiplied by the precoding matrix, obtaining a precoded information signal;
2) умножают порождающую матрицу, имеющую первую скорость сверточного кода, на предварительно кодированный информационный сигнал, получая кодированный информационный сигнал;2) multiply the generating matrix having a first convolutional code rate by a precoded information signal, obtaining an encoded information signal;
3) умножают матрицу выкалывания, имеющую вторую скорость сверточного кода, которая выше, чем первая скорость сверточного кода, на кодированный информационный сигнал, получая выколотый информационный сигнал;3) multiply the puncturing matrix having a second speed of the convolutional code, which is higher than the first speed of the convolutional code, by the encoded information signal, receiving a punctured information signal;
4) передают выколотый информационный сигнал по каналу;4) transmit the punctured information signal on the channel;
5) на приемной стороне принимают выколотый информационный сигнал;5) on the receiving side receive a punctured information signal;
6) принятый выколотый информационный сигнал умножают на матрицу, обратную матрице выкалывания, получая невыколотый информационный сигнал;6) the received punctured information signal is multiplied by a matrix inverse to the puncturing matrix, receiving a punctured information signal;
7) декодируют невыколотый информационный сигнал, получая максимальную оценочную последовательность кода;7) decode a non-punctured information signal, obtaining the maximum estimated code sequence;
8) умножают максимальную оценочную последовательность кода на матрицу, обратную порождающей матрице, получая некодированный сигнал;8) multiply the maximum estimated code sequence by the matrix inverse to the generating matrix, receiving an uncoded signal;
9) умножают некодированный информационный сигнал на матрицу, обратную матрице предварительного кодирования, получая переданный информационный сигнал, где матрица предварительного кодирования согласована с матрицей выкалывания, таким образом, чтобы уменьшить скорость возникновения ошибок в передаваемом выколотом информационном сигнале.9) multiply the uncoded information signal by the matrix inverse to the precoding matrix, obtaining the transmitted information signal, where the precoding matrix is matched with the puncturing matrix, so as to reduce the rate of occurrence of errors in the transmitted punctured information signal.
Описанный способ-прототип осуществляют на устройстве, два варианта реализации которых приведены в [13]. Наиболее близким техническим решением - прототипом заявляемому устройству является устройство по второму варианту выполнения. Структурная схема устройства-прототипа выполнена на фиг.4 (передающее устройство) и фиг.5 (приемное устройство).The described prototype method is carried out on a device, two implementation options of which are given in [13]. The closest technical solution is a prototype of the claimed device is a device according to the second embodiment. The block diagram of the prototype device is made in figure 4 (transmitting device) and figure 5 (receiving device).
Устройство-прототип содержит передающее и приемное устройства, соединенные посредством канала 9, при этом передающее устройство 1 (фиг.4), содержит первый 2, второй 4, третий 6 и четвертый 8 коммутаторы, L блоков предварительного кодирования без обратной связи 31-3L, блок кодирования 5 и L блоков выкалывания кодовых символов 71-7L при этом вход первого коммутатора 2 является входом передающего устройства, L выходов первого коммутатора 2 соединены с соответствующими им входами L блоков предварительного кодирования без обратной связи 31-3L выходы L блоков предварительного кодирования без обратной связи соединены с L входами второго коммутатора 4, выход второго коммутатора 4 соединен со входом блока кодирования 5, выход которого соединен со входом третьего коммутатора 6, L выходов которого соединены с соответствующими им входами L блоков выкалывания кодовых символов 71-7L выходы L блоков выкалывания кодовых символов 71-7L соединены с L входами четвертого коммутатора 8, выход которого является выходом передающего устройства и соединен со входом канала 9, выход которого соединен со входом приемного устройства 10.The prototype device contains a transmitting and receiving device connected via
Приемное устройство 10 (фиг.5) содержит первый 11, второй 13, третий 15 и четвертый 17 коммутаторы, L блоков согласования количества кодовых символов 121-12L блок декодирования 14 и L блоков декодирования предварительного кода 161-16L при этом вход первого коммутатора 11 является входом приемного устройства, L выходов первого коммутатора 11 соединены соответственно со входами L блоков согласования количества кодовых символов 121-12L, выходы которых соединены с L входами второго коммутатора 13, выход которого соединен со входом блока декодирования 14, выход которого соединен со входом третьего коммутатора 15, L выходов которого соответственно соединены со входами L блоков декодирования предварительного кода 161-16L, выходы которых соединены с L входами четвертого коммутатора 17, выход которого является выходом устройства.The receiving device 10 (figure 5) contains the first 11, second 13, third 15 and fourth 17 switches, L blocks matching the number of code symbols 12 1 -12 L decoding unit 14 and L decoding blocks of the preliminary code 16 1 -16 L with the input the
Осуществляют способ-прототип на устройстве (фиг.4 и 5) следующим образом.Carry out the prototype method on the device (Fig.4 and 5) as follows.
На передающем устройстве (фиг.4) на вход первого коммутатора 2 поступает информационный сигнал, который он подает на вход одного из L блоков предварительного кодирования без обратной связи 3.On the transmitting device (Fig. 4), an information signal is supplied to the input of the
В блоке предварительного кодирования без обратной связи 3 выполняют кодирование информационного сигнала, умножая информационный сигнал на матрицу предварительного кодирования, получая предварительно кодированный информационный сигнал, который поступает на один из L входов второго коммутатора 4.In the open-
Второй коммутатор 4 подает предварительно кодированный информационный сигнал на вход блока кодирования 5, где осуществляют его кодирование, получая кодированный информационный сигнал, который поступает на вход третьего коммутатора 6.The
Третий коммутатор 6 подает кодированный информационный сигнал на вход одного из L блоков выкалывания кодовых символов 7, который осуществляет выкалывание кодовых символов в кодированном информационном сигнале путем умножения матрицы выкалывания, имеющую вторую скорость сверточного кода, которая выше, чем первая скорость сверточного кода, на кодированный информационный сигнал, получая выколотый кодированный информационный сигнал.The
Выходной сигнал с блока выкалывания кодовых символов 7 поступает на один из L входов четвертого коммутатора 8. Выколотый кодированный информационный сигнал поступает с выхода четвертого коммутатора 8 на вход канала 9, по которому передается на приемное устройство 10.The output signal from the puncturing unit of
На приемном устройстве 10 (фиг.5) принимают выколотый информационный сигнал по каналу 9, коммутируют принятый выколотый информационный сигнал на первом коммутаторе 11 и передают его на вход одного из L блоков согласования количества кодовых символов 12. В блоке согласования количества кодовых символов 12 принятый выколотый информационный сигнал умножают на матрицу, обратную матрице выкалывания, получая невыколотый информационный сигнал, который с выхода блока 10 поступает на один из L входов второго коммутатора 13.At the receiving device 10 (Fig. 5), a punctured information signal is received on
С выхода второго коммутатора 13 невыколотый информационный сигнал поступает на вход блока декодирования 14. В блоке 14 декодируют невыколотый информационный сигнал, получая некодированный информационный сигнал (максимально оценочную последовательность кода), который передают с выхода блока 14 на вход третьего коммутатора 15.From the output of the
С одного из L выходов третьего коммутатора 15 на вход соответствующего ему блока декодирования предварительного кода 16 поступает некодированный информационный сигнал.From one of the L outputs of the
В блоке 16 декодируют некодированный информационный сигнал, умножая некодированный информационный сигнал на матрицу, обратную матрице предварительного кодирования, получая переданный информационный сигнал, причем матрица предварительного кодирования согласована с матрицей выкалывания таким образом, чтобы уменьшить скорость возникновения ошибок в передаваемом выколотом информационном сигнале. Переданный информационный сигнал с выхода одного из L блоков 16 поступает на один из L входов четвертого коммутатора 17.In block 16, an uncoded information signal is decoded by multiplying the uncoded information signal by the matrix inverse to the precoding matrix, obtaining the transmitted information signal, the precoding matrix being matched to the puncturing matrix so as to reduce the rate of occurrence of errors in the transmitted punctured information signal. The transmitted information signal from the output of one of the L blocks 16 is fed to one of the L inputs of the
С выхода четвертого коммутатора 17 переданный информационный сигнал передают на выход приемного устройства 10.From the output of the
Это известное решение направлено на уменьшение символьных ошибок в системе передачи данных, использующей выколотый сверточный код с незначительным увеличением сложности (всей системы и/или декодера), а также на обеспечение неравномерной защиты от ошибок в системе с выколотым сверточным кодом. Однако, оно, по-прежнему не обеспечивает уменьшения количества символьных ошибок в кодах со скоростью кодирования больше или равной R=1/2.This well-known solution is aimed at reducing symbolic errors in a data transmission system using a punctured convolutional code with a slight increase in complexity (the entire system and / or decoder), as well as providing uneven error protection in a system with punctured convolutional code. However, it still does not provide a reduction in the number of symbolic errors in codes with a coding rate greater than or equal to R = 1/2.
Описанные выше способ и устройство-прототип требует выкалывания кодовых символов и определены только для кода с длиной кодового ограничения К=5, т.е. кода, который является слабым. Поэтому способ-прототип и устройство для его осуществления не могут обеспечить высокое качество радиосвязи.The method and prototype device described above require puncturing code symbols and are defined only for code with a code restriction length of K = 5, i.e. code that is weak. Therefore, the prototype method and device for its implementation cannot provide high quality radio communications.
Следует учитывать, что упомянутый прототип [13] включает в себя ряд устройств предварительного кодирования без обратной связи, задаваемых соответствующим множеством матриц, устройство кодирования сверточным кодом, заданное порождающей матрицей с первой скоростью сверточного кода, блок выкалывания, содержащий ряд узлов выкалывания, задаваемых соответствующим множеством матриц выкалывания, для формирования выколотого информационного сигнала, передаваемого по каналу, где выбранная матрица устройства предварительного кодирования без обратной связи согласуется с выбранной матрицей выкалывания с целью уменьшения BER (вероятности ошибки) в переданном выколотом информационном сигнале, блок согласования количества кодовых символов, в котором умножают на матрицу, обратную исходной матрице выкалывания, переданный выколотый информационный сигнал для формирования невыколотого информационного сигнала, декодер Витерби, отображающий невыколотый информационный сигнал в сигнал оценки символов кодовой последоветельности по правилу максимального правдоподобия, блок формирования информационных последовательностей по путям решетчатой диаграммы декодера Витерби (uncoder), умножающий матрицу, обратную порожадющей матрице, на сигнал оценки символов кодовой последоветельности для формирования некодированного информационного сигнала, и блок обратный примененному блоку предварительного кодирования, умножающий матрицу, обратную выбранной матрице предварительного кодирования, на некодированный информационный сигнал для формирования переданного информационного сигнала.It should be noted that the mentioned prototype [13] includes a number of feedback-free precoding devices specified by the corresponding set of matrices, a convolutional code encoding device specified by the generating matrix with the first convolutional code speed, and a puncturing unit containing a number of puncturing nodes specified by the corresponding set puncturing matrices, to form a punctured information signal transmitted over the channel, where the selected matrix of the precoding device without fraternal communication is consistent with the selected puncturing matrix in order to reduce BER (probability of error) in the transmitted information signal punctured, the block matching the number of code symbols, which are multiplied by a matrix inverse to the original puncturing matrix, the transmitted punctured information signal to form a non-punctured information signal, Viterbi decoder displaying a non-punctured information signal into a code sequence character estimation signal according to the maximum likelihood rule, a block is formed information sequences along the paths of the trellis diagram of the Viterbi decoder (uncoder), which multiplies the matrix inverse to the generating matrix by the code sequence symbol estimation signal for generating an uncoded information signal, and the block inverse to the applied pre-coding block, multiplying the matrix inverse to the selected precoding matrix, by uncoded information signal for generating a transmitted information signal.
Техническая сложность при реализации прототипа [13] состоит в трудности поиска матриц предварительного кодирования, согласованных с порождающей матрицей кода и с матрицей выкалывания для кодов с большим кодовым ограничением.The technical difficulty in implementing the prototype [13] lies in the difficulty of finding precoding matrices consistent with the generating matrix of the code and with the puncturing matrix for codes with a large code restriction.
Задача, на решение которой направлено заявляемое изобретение - это повышение качества радиосвязи, при этом технический результат достигается за счет снижения символьной ошибки при декодировании сверточного кода по алгоритму Витерби.The problem to which the invention is directed is to improve the quality of radio communications, while the technical result is achieved by reducing symbolic error when decoding a convolutional code according to the Viterbi algorithm.
В частности, для достижения технического результата разработан заявляемый способ передачи голосовых данных в цифровой системе радиосвязи, заключающийся в том, чтоIn particular, to achieve a technical result, the inventive method for transmitting voice data in a digital radio communication system is developed, namely, that
на передающей стороне формируют пакеты данных, каждый из которых содержит информационную последовательность символов,on the transmitting side form data packets, each of which contains an information sequence of characters,
в каждом пакете данных дополняют информационную последовательность символов циклической контрольной суммой CRC,in each data packet complement the information sequence of characters with a cyclic CRC checksum,
формируют промежуточную кодовую последовательность, для чего выполняют кодирование информационной последовательности каждого пакета данных сверточным рекурсивным кодом без внесения избыточности с рациональной функцией передачи , зависящей от времени t, где t - целое число , g0(D), g1(D) - рациональные функции передачи сверточного нерекурсивного кода, используемого для помехоустойчивого кодирования, а хt - двоичный символ псевдослучайной последовательности;an intermediate code sequence is formed, for which purpose the information sequence of each data packet is encoded with a convolutional recursive code without introducing redundancy with a rational transfer function depending on time t, where t is an integer , g 0 (D), g 1 (D) are rational transmission functions of a convolutional non-recursive code used for error-correcting coding, and x t is a binary symbol of a pseudo-random sequence;
формируют решетчатую диаграмму сверточного кода,form a trellis diagram of the convolutional code,
добавляют к сформированной промежуточной кодовой последовательности назначенные кодовые символы таким образом, чтобы для сформированной решетчатой диаграммы сверточного кода был известен финальный узел на заданной глубине q=tmax,add the assigned code symbols to the generated intermediate code sequence so that for the generated trellis diagram of the convolutional code the final node is known at a given depth q = t max ,
кодируют сформированную промежуточную кодовую последовательность нерекурсивным сверточным кодом с рациональными функциями передачи g0(D), g1(D), получая кодовое слово с отображенными информационными символами;encode the generated intermediate code sequence with a non-recursive convolutional code with rational transfer functions g 0 (D), g 1 (D), obtaining a code word with displayed information symbols;
передают кодовое слово по каналу;transmit the code word on the channel;
на приемной стороне выполняют демодуляцию входного сигнала, получая кодовое слово в мягких решениях;on the receiving side, demodulation of the input signal is performed, obtaining a code word in soft decisions;
декодируют кодовое слово в мягких решениях посредством декодера Витерби для чего:decode the code word in soft decisions by means of a Viterbi decoder for which:
инициализируют массив метрик декодера Витерби априорными значениями метрик, предполагая что все пути выходят из одного узла решетчатой диаграммы сверточного кода в начальный момент времени, полагают t=0;initialize the Viterbi decoder metric array with a priori metric values, assuming that all paths exit from one node of the trellis diagram of the convolutional code at the initial time, put t = 0;
формируют решетчатую диаграмму сверточного кода, где - для каждого узла на глубине q=t+1 находят узлы-предшественники на глубине q=t, с которыми он соединен разрешенным переходом;form a trellis diagram of the convolutional code, where - for each node at a depth of q = t + 1 find the predecessor nodes at a depth of q = t, with which it is connected by an allowed transition;
для каждого узла-предшественника вычисляют метрики путей, складывая метрику исходного узла-предшественника и метрику допустимого перехода,path metrics are computed for each predecessor node, adding up the metric of the source predecessor node and the metric of the allowed transition,
обновляют метрику состояния путем выбора наименьшей метрики разрешенного пути в это состояние,update the state metric by selecting the smallest metric of the allowed path to this state,
запоминают разрешенный переход с наименьшей метрикой,remember the allowed transition with the least metric,
повторяют вычисление метрик путей, обновление метрики состояния и запоминание разрешенного перехода с наименьшей метрикой до тех пор, пока не достигнут заданной глубины q=tmax,repeat the calculation of path metrics, updating the state metric and remembering the allowed transition with the smallest metric until the specified depth q = t max is reached,
выбирают известный финальный узел, на глубине q=tmax,choose a known final node, at a depth q = t max ,
отслеживают основной выживший путь, выполняя запомненные переходы по решетчатой диаграмме в обратном направлении, получают таким образом промежуточную кодовую последовательность из основного выжившего пути;tracking the main surviving path, performing memorized transitions along the trellis diagram in the opposite direction, thus obtaining an intermediate code sequence from the main surviving path;
кодируют промежуточную кодовую последовательность нерекурсивным сверточным кодом с рациональными функциями передачи g0(D), g1(D), получая восстановленное кодовое слово;encode the intermediate code sequence with a non-recursive convolutional code with rational transfer functions g 0 (D), g 1 (D), obtaining the reconstructed code word;
осуществляют выкалывание в восстановленном кодовом слове, где из каждой пары кодовых символов, соответствующих переходу в решетчатой диаграмме сверточного кода, на глубине q=t оставляют кодовый символ, определяемый рациональной функцией передачи gy(D), где у∈{0,1} и , a xt - двоичный символ псевдослучайной последовательности, синхронизированный с двоичным символом псевдослучайной последовательности на передающей стороне, получая восстановленную информационную последовательность, и проверяют циклическую контрольную сумму CRC, в случае ее совпадения заканчивают декодирование;carry out puncturing in the reconstructed codeword, where from each pair of code symbols corresponding to the transition in the trellis diagram of the convolutional code, a code symbol defined by the rational transfer function g y (D) is left at a depth q = t, where y∈ {0,1} and , ax t is the binary symbol of the pseudo-random sequence synchronized with the binary symbol of the pseudo-random sequence on the transmitting side, obtaining the reconstructed information sequence, and the cyclic CRC checksum is checked; if it matches, the decoding is completed;
при несовпадении циклической контрольной суммы CRC формируют список альтернативных путей, для чего:if the cyclic CRC checksum does not match, a list of alternative paths is formed, for which:
выполняют запомненные переходы из финального узла в обратном направлении до тех пор, пока следующему переходу не будут соответствовать кодовые символы, в одном из которых отображен i-й информационный символ,perform memorized transitions from the final node in the opposite direction until the next transition corresponds to code symbols, in one of which the i-th information symbol is displayed,
выполняют переход по другому разрешенному пути в решетчатой диаграмме, отличному от того перехода, который был запомнен,perform a transition along a different permitted path in the trellis diagram other than the transition that was memorized,
из текущего узла выполняют запомненные переходы по решетчатой диаграмме в обратном направлении до достижения начала решетчатой диаграммы, формируя альтернативный путь, соответствующий i-му информационному символу,from the current node carry out memorized transitions along the trellis diagram in the opposite direction until reaching the beginning of the trellis diagram, forming an alternative path corresponding to the i-th information symbol,
для каждого информационного символа формируют свой альтернативный путь,for each information symbol form their own alternative path,
для каждого пути из списка альтернативных путей:for each path from the list of alternative paths:
получают промежуточную кодовую последовательность, кодируют промежуточную кодовую последовательность нерекурсивным сверточным кодом с рациональными функциями передачи g0(D), g1(D),receive an intermediate code sequence, encode the intermediate code sequence with a non-recursive convolutional code with rational transfer functions g 0 (D), g 1 (D),
осуществляют выкалывание в восстановленном кодовом слове, где из каждой пары кодовых символов, соответствующих переходу в решетчатой диаграмме сверточного кода, на глубине q=t оставляют кодовый символ, определяемый рациональной функцией передачи gy(D), где у∈{0,1} и , а хt - двоичный символ псевдослучайной последовательности, синхронизированный с двоичным символом псевдослучайной последовательности на передающей стороне, получая восстановленную информационную последовательность символов, и проверяют циклическую контрольную сумму CRC, в случае ее совпадения заканчивают декодирование,carry out puncturing in the reconstructed codeword, where from each pair of code symbols corresponding to the transition in the trellis diagram of the convolutional code, a code symbol defined by the rational transfer function g y (D) is left at a depth q = t, where y∈ {0,1} and , and x t is the binary symbol of the pseudo-random sequence synchronized with the binary symbol of the pseudo-random sequence on the transmitting side, receiving the reconstructed information sequence of the symbols, and the cyclic CRC checksum is checked, if it matches, finish decoding,
возвращают информационную последовательность символов, соответствующую основному выжившему пути, если ни одна проверка циклической контрольной суммы CRC не совпала.return a character information sequence corresponding to the main surviving path if no CRC cyclic checksum check matches.
Технический результат достигается также за счет разработки заявляемого устройства передачи голосовых данных в цифровой системе радиосвязи, содержащего передающее и приемное устройства, соединенные посредством канала, обеспечивающего передачу данных, причем передающее устройство содержит блок формирования циклической контрольной суммы CRC, сумматор, блок кодирования, первый и второй блоки предварительного кодирования без обратной связи, мультиплексор, генератор пвсевдослучайной последовательности ПСП и ключ, при этом вход блока формирования циклической контрольной суммы CRC является первым входом устройства - входом информационного сигнала, выход блока формирования циклической контрольной суммы CRC соединен с первым входом сумматора, выход которого соединен с входами блока кодирования и первого и второго блоков предварительного кодирования без обратной связи, первый и второй выходы блока кодирования соединены соответственно с первым и вторым входами мультиплексора, выход которого является выходом передающего устройства и соединен с входом канала, выходы первого и второго блоков предварительного кодирования без обратной связи соединены соответственно с первым и вторым входами ключа, третий вход которого соединен с выходом генератора ПСП, вход которого является вторым входом передающего устройства - входом управляющего сигнала синхронизации, выход ключа соединен со вторым входом сумматора; приемное устройство содержит лист-декодер, N блоков обратного кодирования, N ключей, N блоков проверки циклической контрольной суммы и блок выбора, причем вход лист-декодера является первым входом приемного устройства - входом информационного сигнала, и соединен с выходом канала, N выходов лист-декодера соединены соответственно со входами N блоков обратного кодирования, первые и вторые выходы N блоков обратного кодирования соответственно соединены с первыми и вторыми входами N ключей, третьи входы которых соединены с выходами генератора ПСП, вход которого является вторым входом приемного устройства - входом управляющего сигнала синхронизации, выходы N ключей соединены соответственно со входами N блоков проверки циклической контрольной суммы, выходы которых соединены соответственно с N входами блока выбора, выход которого является выходом приемного устройства.The technical result is also achieved through the development of the inventive device for transmitting voice data in a digital radio communication system containing a transmitting and receiving device connected by a channel providing data transmission, the transmitting device comprising a CRC cyclic checksum generation unit, an adder, an encoding unit, the first and second open-loop precoding blocks, multiplexer, psp all-random sequence generator and key, while the input of the block of cyclic checksum CRC is the first input of the device - the input of an information signal, the output of the cyclic checksum generating unit CRC is connected to the first input of the adder, the output of which is connected to the inputs of the coding block and the first and second precoding blocks without feedback, the first and second outputs of the block encoding connected respectively to the first and second inputs of the multiplexer, the output of which is the output of the transmitting device and connected to the input of the channel, the outputs of the first and the second pre-coding blocks without feedback are connected respectively to the first and second inputs of the key, the third input of which is connected to the output of the PSP generator, the input of which is the second input of the transmitting device - the input of the synchronization control signal, the output of the key is connected to the second input of the adder; the receiving device comprises a decoder sheet, N reverse encoding blocks, N keys, N cyclic checksum check blocks and a selection block, the input of the decoder sheet being the first input of the receiving device being an information signal input, and connected to the channel output, N outputs of the sheet decoders are connected respectively to the inputs of N reverse coding blocks, the first and second outputs of N reverse coding blocks are respectively connected to the first and second inputs of N keys, the third inputs of which are connected to the outputs of the PS generator P, the input of which is the second input of the receiving device - the input of the synchronization control signal, the outputs of the N keys are connected respectively to the inputs of the N blocks of the cyclic checksum check, the outputs of which are connected respectively to the N inputs of the selection block, the output of which is the output of the receiving device.
Отличительными признаками заявляемого способа передачи голосовых данных в цифровой системе радиосвязи относительно прототипа являются следующие:Distinctive features of the proposed method for transmitting voice data in a digital radio communication system relative to the prototype are the following:
на передающей стороне:on the transmitting side:
кодируют каждый пакет информационных символов кодом CRC,encode each packet of information symbols with a CRC code,
отображают информационные символы в кодовые символы сверточного кода со скоростью кодирования R=1/2, причем выбор каскада кодирования осуществляют по псевдослучайному закону,display information symbols in code symbols of a convolutional code with a coding rate of R = 1/2, wherein the encoding stage is selected according to a pseudo-random law,
формируют поток кодовых символов путем мультиплексирования кодовых символов в последовательный поток без выкалывания кодовых символов,forming a code symbol stream by multiplexing the code symbols into a serial stream without puncturing the code symbols,
на приемной стороне:on the receiving side:
декодируют принятую последовательность упрощенным лист декодером Витерби, формируя список промежуточных кодовых последовательностей, причем каждому информационному символу соответствует свой альтернативный путь. Упрощение состоит в том, что поиск осуществляют только на один уровень в глубину,decode the received sequence with a simplified sheet by the Viterbi decoder, forming a list of intermediate code sequences, and each information symbol has its own alternative path. The simplification is that the search is carried out only one level in depth,
в каждой промежуточной кодовой последовательности проводят обратное кодирование, восстанавливая последовательность кодовых символов,in each intermediate code sequence, reverse coding is performed, restoring the sequence of code symbols,
в каждой восстановленной последовательности кодовых символов выделяют восстановленную информационную последовательность по псевдослучайному закону, аналогично тому, который был применен на передающей стороне для выбора кодового символа для отображения,in each restored sequence of code symbols, a restored information sequence is allocated according to a pseudo-random law, similar to that which was applied on the transmitting side to select a code symbol for display,
в каждой восстановленной информационной последовательности проверяют циклическую контрольную сумму CRC, если CRC совпадает хотя бы в одной восстановленной последовательности, то ее объявляют декодированной верно.in each recovered information sequence, the cyclic CRC checksum is checked; if the CRC matches at least one recovered sequence, then it is declared decoded correctly.
Отличительными признаками заявляемого устройства передачи голосовых данных в цифровой системе радиосвязи относительно прототипа являются следующие:The distinctive features of the claimed device for transmitting voice data in a digital radio communication system relative to the prototype are the following:
в передающем устройствеin the transmitting device
введен блок для формирования циклической контрольной суммы CRC, которой дополняют информационную последовательность в каждом пакете данных, кодируя, таким образом, информационную последовательность по определенному правилу;a block has been introduced for generating a cyclic CRC checksum, which complements the information sequence in each data packet, thus encoding the information sequence according to a certain rule;
введен сумматор, который выполняет посимвольное суммирование по модулю 2 дополненной циклической контрольной суммой информационной последовательности с сигналом с выхода ключа, формируя промежуточную кодовую последовательность;an adder has been introduced that performs a symbolic summation modulo 2 of the information sequence with the signal from the key output by the augmented cyclic checksum, forming an intermediate code sequence;
введен ключ, который подает на выход сигнал одного из двух блоков предварительного кодирования без обратной связи по заданному правилу;a key has been entered that outputs a signal from one of the two precoding units without feedback according to a given rule;
первый и второй блоки предварительного кодирования без обратной связи имеют существенное упрощение по сравнению с прототипом, который использует L блоков предварительного кодирования, кроме того, они функционально работают по-другому:the first and second blocks of pre-coding without feedback have a significant simplification compared to the prototype, which uses L blocks of pre-coding, in addition, they function differently in different ways:
в первом блоке предварительного кодирования без обратнойin the first precoding block without reverse
связи кодируют сформированную промежуточную кодовуюthe links encode the generated intermediate code
последовательность нерекурсивным сверточным кодом сsequence with non-recursive convolutional code with
рациональной функцией передачи ;rational transfer function ;
во втором блоке предварительного кодирования без обратной связи кодируют сформированную промежуточную кодовую последовательность нерекурсивным сверточным кодом с рациональной функцией передачи ;in the second non-feedback precoding unit, the generated intermediate code sequence is encoded with a non-recursive convolutional code with a rational transfer function ;
выполняя суммирование по модулю 2 на сумматоре 19 осуществляют кодирование информационной последовательности каждого пакета сверточным рекурсивным кодом без внесения избыточности с рациональной функцией передачи , зависящей от времени t, где t - целое число и , g0(D), g1(D) - рациональные функции передачи сверточного нерекурсивного кода, используемого для помехоустойчивого кодирования, а хt - двоичный символ псевдослучайной последовательности;performing modulo 2 summation on adder 19, the information sequence of each packet is encoded with a convolutional recursive code without introducing redundancy with a rational transfer function depending on time t, where t is an integer and , g 0 (D), g 1 (D) are rational transmission functions of a convolutional non-recursive code used for error-correcting coding, and x t is a binary symbol of a pseudo-random sequence;
введен мультиплексор, который из двух параллельных сигналов на выходах блока кодирования формирует последовательный сигнал, представляющий собой кодовое слово, которое передают по каналу причем необходимая в прототипе операция выкалывания не требуется;a multiplexer is introduced, which of two parallel signals at the outputs of the coding unit forms a serial signal, which is a code word that is transmitted along the channel, and the puncturing operation necessary in the prototype is not required;
введен генератор ПСП, который посредством управляющего сигнала обеспечивает выбор кодового символа, в который будет отображен информационный символ;an SRP generator is introduced, which, by means of a control signal, provides a choice of a code symbol into which the information symbol will be displayed;
в приемное устройствоto the receiver
введен лист-декодер, который формирует восстановленные промежуточные кодовые последовательности основного и альтернативных путей, при этом за основу взят алгоритм лист-декодирования по Витерби, отличительной частью заявляемого изобретения от известного лист-декодирования по Витерби являются следующие признаки, обеспечивающие достижение технического эффекта более простым путем:a decoder sheet was introduced, which generates the restored intermediate code sequences of the main and alternative paths, and the Viterbi sheet decoding algorithm is taken as the basis, the distinguishing part of the claimed invention from the well-known Viterbi sheet decoding are the following features, ensuring the achievement of the technical effect in a simpler way :
выполняют запомненные переходы из финального узла в обратном направлении до тех пор, пока следующему переходу не будут соответствовать кодовые символы, в одном из которых отображен i-й информационный символ,perform memorized transitions from the final node in the opposite direction until the next transition corresponds to code symbols, in one of which the i-th information symbol is displayed,
выполняют переход по другому разрешенному пути в решетчатой диаграмме, отличному от того перехода, который был запомнен,perform a transition along a different permitted path in the trellis diagram other than the transition that was memorized,
из текущего узла выполняют запомненные переходы по решетчатой диаграмме в обратном направлении до достижения начала решетчатой диаграммы, формируя альтернативный путь, соответствующий i-му информационному символу,from the current node carry out memorized transitions along the trellis diagram in the opposite direction until reaching the beginning of the trellis diagram, forming an alternative path corresponding to the i-th information symbol,
для каждого информационного символа формируют свой альтернативный путь,for each information symbol form their own alternative path,
введены N блоков обратного кодирования, которые функционально аналогичны блоку кодирования 5 на передающем устройстве, и N ключей, обеспечивающих (по управляющему сигналу синхронизации с генератора ПСП 26) упрощенное (по сравнениею с прототипом) декодирование предварительного кода, в результате на выходы ключей поступает тот сигнал, который соответствует последовательности кодовых символов, определяемых рациональной функцией передачи, получая, таким образом, восстановленную информационную последовательность символов,N reverse coding blocks are introduced, which are functionally similar to
введены N блоков проверки контрольной суммы CRC, в которых проверяют полученные восстановленные информационные последовательности путем добавления к ним проверочных символов - "ноль", если проведенная проверка была успешной, или "единица", если циклическая контрольная сумма не совпала;N CRC checksum check blocks were introduced, in which the received recovered information sequences are checked by adding check characters to them - “zero” if the check was successful, or “one” if the cyclic checksum did not match;
введен блок выбора, в котором заканчивают декодирование в случае совпадения циклической контрольной суммы CRC у какой-либо из восстановленных и проверенных информационных последовательностей.a selection block has been introduced in which decoding is completed if the cyclic CRC checksum of any of the restored and verified information sequences coincides.
Таким образом заявляемые способ передачи голосовых данных в цифровой системе радиосвязи и устройство для его осуществления позволяют повысить качество радиосвязи за счет снижения символьной ошибки при декодировании сверточного кода по алгоритму Витерби, технический эффект достигается за счет отображения информационного слова в кодовые символы различных параллельных каскадов кодирования сверточного кода, обеспечивая эффективность декодирования упрощенным лист-декодером. Кроме того, заявляемое изобретение имеет существенное упрощение в реализации по сравнению с прототипом, т.к. исключается необходимость формирование множества матриц путем их перебора.Thus, the claimed method of transmitting voice data in a digital radio communication system and a device for its implementation can improve the quality of radio communication by reducing symbolic error when decoding a convolutional code according to the Viterbi algorithm, the technical effect is achieved by mapping the information word into code symbols of various parallel convolutional coding coding stages , providing decoding efficiency with a simplified sheet decoder. In addition, the claimed invention has a significant simplification in implementation compared to the prototype, because eliminates the need for the formation of many matrices by enumerating them.
Далее описание заявляемого изобретения поясняется примерами выполнения и чертежами.The following is a description of the claimed invention is illustrated by examples and drawings.
На фиг.6 выполнена структурная схема передающего устройства 1 по заявляемому изобретению.Figure 6 is a structural diagram of a
На фиг.7 выполнена структурная схема приемного устройства 10 по заявляемому изобретению.7 is a structural diagram of a receiving
На фиг.8 показана структура блока 3 предварительного кодирования без обратной связи, блока 5 кодирования и приведены их рациональные функции передачи.On Fig shows the structure of the
На фиг.9 выполнена решетчатая диаграмма для лист-декодера 23, основанного на алгоритме Витерби.Figure 9 is a trellis diagram for a
На фиг.10 представлен блок 24 обратного кодирования, ключ 25 и блок 27 проверки циклической контрольной суммы.10, a reverse coding unit 24, a key 25, and a cyclic checksum verification unit 27 are shown.
На фиг.11 приведены результаты моделирования предлагаемого алгоритма.Figure 11 shows the simulation results of the proposed algorithm.
Заявляемое устройство передачи голосовых данных в цифровой системе радиосвязи (фиг.6 и 7) содержит передающее устройство 1 и приемное устройство 10, соединенные посредством канала 9, обеспечивающего передачу данных,The inventive device for transmitting voice data in a digital radio communication system (Fig.6 and 7) contains a transmitting
причем передающее устройство 1 (фиг.6) содержит блок 18 формирования циклической контрольной суммы CRC, сумматор 19, блок 5 кодирования, первый блок 31 и второй блок 32 предварительного кодирования без обратной связи, мультиплексор 20, генератор 21 ПСП, ключ 22, при этом вход блока 18 формирования циклической контрольной суммы CRC является первым входом устройства - входом информационного сигнала, выход блока 18 формирования циклической контрольной суммы CRC соединен с первым входом сумматора 19, выход которого соединен с входами блока 5 кодирования, первого блока 31 и второго блока 32 предварительного кодирования без обратной связи, первый и второй выходы блока 5 кодирования соединены с первым и вторым входами мультиплексора 20, выход которого является выходом передающего устройства и соединен со входом канала 9, выходы первого блока 31 и второго блока 32 предварительного кодирования без обратной связи соединены соответственно с первым и вторым входами ключа, третий вход которого соединен с выходом генератора ПСП 21, вход которого является вторым входом передающего устройства - входом управляющего сигнала синхронизации, выход ключа 22 соединен со вторым входом сумматора 19;moreover, the transmitting device 1 (Fig.6) contains a CRC cyclic checksum generating unit 18, an adder 19, an
приемное устройство 10 (фиг.7) содержит лист-декодер 23, N блоков 241-24N обратного кодирования, N ключей 251-25N, N блоков 271-27N проверки циклической контрольной суммы и блок 28 выбора,the receiving device 10 (Fig.7) contains a
причем вход лист-декодера 23 является первым входом приемного устройства - входом информационного сигнала, и соединен с выходом канала 9, N выходов лист-декодера 23 соединены соответственно с входами N блоков 241-24N обратного кодирования, первые и вторые выходы N блоков 241-24N обратного кодирования, соединены с первыми и вторыми входами соответствующих им N ключей 251-25N, третьи входы которых соединены с выходами генератора ПСП 26, вход которого является вторым входом устройства - входом управляющего сигнала синхронизации, выходы N ключей 251-25N соединены соответственно с входами N блоков 271-27N проверки циклической контрольной суммы, выходы которых соединены соответственно с N входами блока 28 выбора, выход которого является выходом приемного устройства.moreover, the input of the
Заявляемый способ передачи голосовых данных в цифровой системе радиосвязи осуществляют на устройстве, структурная схема которого выполнена на фиг.6 и 7.The inventive method of transmitting voice data in a digital radio communication system is carried out on a device whose structural diagram is made in Fig.6 and 7.
На передающем устройстве (фиг.6) на вход блока 18 формирования контрольной суммы CRC поступают пакеты данных, содержащие информационную последовательность, где в каждом пакете данных дополняют информационную последовательность циклической контрольной суммой CRC, например, кодируя информационную последовательность по правилу, определенному в Physical Layer Standard for cdma2000 Spread. Spectrum Systems, Revision D./ CS0002-D. Version 1.0. Date: February 13, 2004. - www.3gpp2.org/Public_tml/ specs/C.S0002-D_vl.0_021704.pdf- стр.2-89 [14], используя порождающий полином для кода, обнаруживающего ошибки, и добавляющего 12 бит к входному пакету данных, который равен g(x)=x12+x11+x10+x9+x8+x4+x+1.On the transmitting device (Fig. 6), data packets containing an information sequence are received at the input of the CRC checksum generation unit 18, where in each data packet the information sequence is supplemented with a cyclic CRC checksum, for example, encoding the information sequence according to the rule defined in Physical Layer Standard for cdma2000 Spread. Spectrum Systems, Revision D. / CS0002-D. Version 1.0. Date: February 13, 2004. - www.3gpp2.org/Public_tml/ specs / C.S0002-D_vl.0_021704.pdf- p.2-89 [14], using the generating polynomial for the code that detects errors and adds 12 bits to the input data packet, which is g (x) = x 12 + x 11 + x 10 + x 9 + x 8 + x 4 + x + 1.
Из дополненной циклической контрольной суммой информационной последовательности формируют промежуточную кодовую последовательность без внесения кодовой избыточности. Выходной сигнал с блока 18 поступает на первый вход сумматора 19. В сумматоре 19 выполняют посимвольное суммирование по модулю 2, дополненное циклической контрольной суммой информационной последовательности с сигналом, поступающим на второй вход сумматора с выхода ключа 22. При этом на первый и второй входы ключа 22 поступают соответственно сигналы с выходов первого блока 31 и второго блока 32 предварительного кодирования без обратной связи, а на третий вход ключа 22 поступает управляющий сигнал синхронизации с генератора 21 ПСП. Ключ 22 подает на выход сигнал одного из блоков предварительного кодирования без обратной связи 31 или 32 по правилу, определяемому формулойAn informational sequence is formed from the information sequence supplemented by a cyclic checksum without introducing code redundancy. The output signal from block 18 is fed to the first input of adder 19. In adder 19, a symbolic summation is performed modulo 2, supplemented by a cyclic checksum of the information sequence with a signal fed to the second input of the adder from the output of the key 22. In this case, the first and second inputs of the key 22 respectively, the signals from the outputs of the
где g0,t, g1,t - отсчеты сигнала с выходов блоков предварительного кодирования без обратной связи 31 и 32,where g 0, t , g 1, t are the samples of the signal from the outputs of the precoding blocks without
хt - отсчет псевдослучайной последовательности, сформированной по способу указанному, например, в [14] с порождающим полином h(D)=D17+D14+1.x t is the reference pseudo-random sequence generated by the method indicated, for example, in [14] with the generating polynomial h (D) = D 17 + D 14 +1.
хt выступает в качестве управляющего сигнала синхронизации ключа 22.x t acts as a control signal synchronization key 22.
Генератор 21 ПСП запускают управляющим сигналом синхронизации, обеспечивая тем самым посимвольную синхронизацию на приемной и передающей сторонах.The SRP generator 21 is triggered by a synchronization control signal, thereby providing symbol-by-symbol synchronization at the receiving and transmitting sides.
Промежуточная кодовая последовательность с выхода сумматора 19 поступает на вход блока 5 кодирования, первого блока 31 и второго блока 32 предварительного кодирования без обратной связи.An intermediate code sequence from the output of the adder 19 is fed to the input of the
В блоке 5 кодирования формируют решетчатую диаграмму сверточного кода, добавляют к сформированной промежуточной кодовой последовательности назначенные кодовые символы таким образом, чтобы для сформированной решетчатой диаграммы сверточного кода был известен финальный узел на заданной глубине q=tmax, кодируют сформированную промежуточную кодовую последовательность нерекурсивным сверточным кодом с рациональными функциями передачи g0(D), g1(D), получая кодовое слово с отображенными информационными символами. В качестве примера, рассмотрим порождающие полиномы, определенные в [14] для нерекурсивного сверточного кода со скоротью R=1/2, где g0=5618, a g1=7538.In the
В первом блоке 31 предварительного кодирования без обратной связи формируют решетчатую диаграмму сверточного кода, добавляют к сформированной промежуточной кодовой последовательности назначенные кодовые символы таким образом, чтобы для сформированной решетчатой диаграммы сверточного кода был известен финальный узел на заданной глубине q=tmax, кодируют сформированную промежуточную кодовую последовательность нерекурсивным сверточным кодом с рациональной функцией передачи In the first precoding block 3 1, a convolutional code trellis diagram is generated without feedback, the assigned code symbols are added to the generated intermediate code sequence so that for the generated convolutional trellis diagram the final node is known at a given depth q = t max , the generated intermediate code is encoded code sequence with non-recursive convolutional code with rational transfer function
Во втором блоке 32 предварительного кодирования без обратной связи формируют решетчатую диаграмму сверточного кода, добавляют к сформированной промежуточной кодовой последовательности назначенные кодовые символы таким образом, чтобы для сформированной решетчатой диаграммы сверточного кода был известен финальный узел на заданной глубине q=tmax, кодируют сформированную промежуточную кодовую последовательность нерекурсивным сверточным кодом с рациональной функцией передачи In the second feedback precoding block 3 2, a convolutional code trellis diagram is formed, the assigned code symbols are added to the generated intermediate code sequence so that for the generated convolutional trellis diagram the final node is known at a given depth q = t max , the generated intermediate code is encoded code sequence with non-recursive convolutional code with rational transfer function
Суммируя сигналы на блоке 19 суммирования, осуществляют кодирование информационной последовательности каждого пакета сверточным рекурсивным кодом без внесения избыточности с рациональной функцией передачи , зависящей от времени t, где t - целое число и , g0(D), gg1(D) - рациональные функции передачи сверточного нерекурсивного кода, используемого для помехоустойчивого кодирования, а хt - двоичный символ псевдослучайной последовательности.Summing the signals on the summing unit 19, the information sequence of each packet is encoded with a convolutional recursive code without introducing redundancy with a rational transfer function depending on time t, where t is an integer and , g 0 (D), g g1 (D) are rational transmission functions of a convolutional non-recursive code used for error-correcting coding, and x t is a binary symbol of a pseudo-random sequence.
В блоке 5 кодирования осуществляют кодирование сверточным кодом со скоростью кодирования R=1/2. Из двух параллельных сигналов на выходах блока 5 кодирования посредством мультиплексора 20 формируют последовательный сигнал, представляющий собой кодовое слово, которое передают по каналу 9.In
Канал 9 представляет собой совокупность приемо-передающих устройств, а также радиоканал, по которому передают кодовое слово.
На приемном устройстве (фиг.7) по каналу 9 принимают входной сигнал и выполняют его демодуляцию, получая кодовое слово в мягких решениях. Последовательность мягких решений поступает на вход лист-декодера 23, который формирует восстановленные промежуточные кодовые последовательности основного и альтернативных путей следующим образом:At the receiving device (Fig. 7), an input signal is received over
инициализируют массив метрик декодера Витерби априорными значениями метрик, предполагая, что все пути выходят из одного узла решетчатой диаграммы сверточного кода в начальный момент времени, полагают t=0;initialize the Viterbi decoder metric array with a priori metric values, assuming that all paths exit from one node of the trellis diagram of the convolutional code at the initial time, put t = 0;
формируют решетчатую диаграмму сверточного кода, где для каждого узла на глубине q=t+1 находят узлы-предшественники на глубине q=t, с которыми он соединен разрешенным переходом;form a trellis diagram of the convolutional code, where for each node at a depth of q = t + 1 find the predecessor nodes at a depth of q = t, with which it is connected by an allowed transition;
для каждого узла-предшественника вычисляют метрики путей, складывая метрику исходного узла-предшественника и метрику допустимого перехода;path metrics are calculated for each predecessor node, adding up the metric of the source predecessor node and the metric of the allowable transition;
обновляют метрику состояния путем выбора наименьшей метрики разрешенного пути в это состояние,update the state metric by selecting the smallest metric of the allowed path to this state,
запоминают разрешенный переход с наименьшей метрикой;remember the allowed transition with the least metric;
повторяют вычисление метрик путей, обновление метрики состояния и запоминание разрешенного перехода с наименьшей метрикой до тех пор, пока не достигнут заданной глубины q=tmax;repeat the calculation of path metrics, updating the state metric and remembering the allowed transition with the smallest metric until the specified depth q = t max is reached;
выбирают известный финальный узел на глубине q=tmax;choose a known final node at a depth q = t max ;
отслеживают основной выживший путь, выполняя запомненные переходы по решетчатой диаграмме в обратном направлении, получают таким образом промежуточную кодовую последовательность из основного выжившего пути;tracking the main surviving path, performing memorized transitions along the trellis diagram in the opposite direction, thus obtaining an intermediate code sequence from the main surviving path;
выполняют запомненные переходы из финального узла в обратном направлении до тех пор, пока следующему переходу не будут соответствовать кодовые символы, в одном из которых отображен i-й информационный символ;performing memorized transitions from the final node in the opposite direction until the next transition corresponds to code symbols, in one of which the i-th information symbol is displayed;
выполняют переход по другому разрешенному пути в решетчатой диаграмме, отличному от того перехода, который был запомнен;perform the transition along another permitted path in the trellis diagram, different from the transition that was memorized;
из текущего узла выполняют запомненные переходы по решетчатой диаграмме в обратном направлении до достижения начала решетчатой диаграммы, формируя альтернативный путь соответствующий i-му информационному символу;from the current node, memorized transitions are performed along the trellis diagram in the opposite direction until the beginning of the trellis diagram is reached, forming an alternative path corresponding to the ith information symbol;
для каждого информационного символа формируют свой альтернативный путь;for each information symbol form their own alternative path;
для основного пути и каждого пути из списка альтернативных путей получают промежуточную кодовую последовательность, причем промежуточные кодовые последовательности могут обрабатываться как параллельно, так и последовательно, до тех пор, пока в какой-либо восставленной информационной последовательности совпадет циклическая контрольная сумма CRC. В последовательном случае обработку начинают с восстановленной информационной последовательности, соответствующей основному выжившему пути. В качестве примера выполнения приведен параллельный вариант обработки.for the main path and each path from the list of alternative paths, an intermediate code sequence is obtained, and intermediate code sequences can be processed both in parallel and sequentially until the cyclic CRC checksum matches in any restored information sequence. In the sequential case, the processing begins with the restored information sequence corresponding to the main surviving path. As an example of execution, a parallel processing variant is given.
Восстановленные промежуточные кодовые последовательности с выходов лист-декодера 23 поступают на входы N блоков 241-24N обратного кодирования, которые функционально аналогичны блоку 5 кодирования. Сигналы с выходов N блоков 241-24N обратного кодирования поступают на первые и вторые входы N ключей 251-25N, на третьи входы которых поступает управляющий сигнал синхронизации с генератора 26 ПСП, который функционально аналогичен генератору 21 ПСП на передающей стороне, который запускают управляющим сигналом синхронизации, обеспечивая посимвольную синхронизацию на приемной и передающей сторонах. По выходным сигналам с генератора 26 ПСП на выходы ключей 251-25N поступает тот сигнал, который соответствует последовательности кодовых символов, определяемых рациональной функцией передачи gy(D), где у∈{0,1} и , а хt - двоичный символ псевдослучайной последовательности, синхронизированный с двоичным символом псевдослучайной последовательности на передающей стороне, получая, таким образом, восстановленную информационную последовательность символов, которая поступает с выхода ключей 251-25N на входы блоков 271-27N проверки циклической контрольной суммы CRC.The recovered intermediate code sequences from the outputs of the
Проверяют полученные восстановленные информационные последовательности в блоках 271-27N проверки циклической контрольной суммы CRC, например, добавляя к поступившей на вход последовательности проверочный символ, который равен нулю, если проведенная проверка была успешной, и единица - если циклическая контрольная сумма CRC не совпала. Восстановленные и проверенные информационные последовательности поступают с выходов блоков 271-27N на входы блока 28 выбора, в котором заканчивают декодирование в случае совпадения циклической контрольной суммы CRC у какой-либо из этих последовательностей. Подают восстановленную проверенную информационную последовательность на выход блока 28, который является выходным сигналом приемного устройства.Check the recovered information sequences obtained in the cyclic CRC checksum check blocks 27 1 -27 N , for example, adding a check character to the input sequence, which is zero if the check was successful, and one if the cyclic CRC checksum did not match. The recovered and verified information sequences come from the outputs of blocks 27 1 -27 N to the inputs of the
Если ни одна из циклических контрольных сумм при проверке не совпала, то с выхода блока 28 возвращают восставленную информационную последовательность.If none of the cyclic checksums during the verification match, then the restored information sequence is returned from the output of
Для лучшего понимания заявляемого изобретения рассмотрим подробнее работу некоторых блоков.For a better understanding of the claimed invention, let us consider in more detail the operation of some blocks.
На Фиг.8 показан блок 3 предварительного кодирования без обратной связи и несистематический кодер 5 сверточного кода и сумматор 19. Суть процедуры состоит в следующем. Все блоки 3 предварительного кодирования без обратной связи представляют собой каскады сверточного нерекурсивного кодирования, выполненные на одной линии задержки. Каждый из блоков нерекурсивного предварительного кодирования без обратной связи характеризуется рациональной функцией передачи, которые приведены на рисунке: или . Однако предварительное кодирование с обратной связью выполняют путем суммирования по псевдослучайному закону одного из выходов блоков предварительного кодирования без обратной связи, формируя промежуточную кодовую последовательность. Рекурсивное предварительное кодирование с обратной связью характеризуется своей функцией рациональной функцией передачи , зависящей от времени t, где t - целое g(t, D) число и , g0(D), g1(D) - рациональные функции передачи сверточного нерекурсивного кода, используемого для помехоустойчивого кодирования, а хt - двоичный символ псевдослучайной последовательности. В конце каждого пакета в линию задержки поступают предопределенные символы, обычной практикой является обнулять линию задержки нулями.On Fig shows the
На Фиг.9 представлен упрощенный лист декодер к заявляемому изобретению, основанный на разрешенных переходах по решетчатой диаграмме сверточного кода, показанного на фиг.2. Стрелками показаны допустимые переходы в решетчатой диаграмме. Пути по диаграмме отслеживают в обратном, противоположном стрелкам, направлении, запоминая в каждом узле решетчатой диаграммы один из возможных переходов приведший в этот узел в соответствии с алгоритмом Витерби. Однако другой переход может быть легко восстановлен из структуры решетчатой диаграммы. Выполняя этот переход вместо запомненного перехода, формируют альтернативный путь. Остальные переходы в этом пути соответствуют запомненным путям в процессе декодирования Витерби. Жирной линией показан основной выживший путь, жирной прерывистой линией показаны альтернативные пути, соответствующие каждому информационному символу. Альтернативные пути показаны не до конца, остальные переходы в каждом из альтернативных путей соответствуют запомненным путям в процессе декодирования по алгоритму Витерби.Figure 9 presents a simplified sheet of the decoder to the claimed invention, based on the allowed transitions on the trellis diagram of the convolutional code shown in figure 2. The arrows indicate the permissible transitions in the trellis diagram. The paths along the diagram are tracked in the opposite direction opposite the arrows, remembering in each node of the trellis diagram one of the possible transitions that led to this node in accordance with the Viterbi algorithm. However, another transition can be easily reconstructed from the structure of the trellis diagram. Performing this transition instead of the memorized transition, an alternative path is formed. The remaining transitions in this path correspond to the stored paths in the Viterbi decoding process. The bold line shows the main surviving path, the bold dotted line shows alternative paths corresponding to each information symbol. Alternative paths are not shown to the end, the remaining transitions in each of the alternative paths correspond to the stored paths in the Viterbi decoding process.
На Фиг.10 выполнен блок 24 обратного кодирования, где показано, что выделение информационной последовательности из восстановленного кодового слова осуществляют посредством ключа и далее в восстановленном кодовом слове выполняют проверку циклической контрольной суммы CRC. Блок 24 обратного кодирования идентичен блоку 5 кодирования.10, a reverse coding unit 24 is implemented, where it is shown that the information sequence is extracted from the recovered codeword by means of a key, and then the cyclic CRC checksum is checked in the recovered codeword. The reverse encoding unit 24 is identical to the
Эффективность заявляемого изобретения подтверждена результатами компьютерного моделирования, которые приведены на фиг.11, где информационные пакеты, длиной 192 бита, кодируют сверточным кодом с длиной кодового ограничения К=9 и скоростью кодирования R=1/2, а также используют циклическую контрольную сумму CRC в 12 бит. Показан энергетический выигрыш кодирования по сравнению с известным алгоритмом Витерби в многолучевом канале с федингом определенным как Case II, 30 км/ч в "Spatial Channel Model AHG (Combined ad-hoc from 3GPP & 3GPP2)" (SCM Text V6.0) April 22, 2003 // www.3gpp2.org [15]. К сожалению, не представляется возможным провести сравнение с прототипом, поскольку не определены матрицы предварительного кодирования без обратной связи для подобного кода. Однако из уровня техники ясно, что энергетический выигрыш кодирования кода с длиной кодового ограничения К=9 по сравнению с кодом с К=5 составляет 1-2 дБ. Сравнение с известным алгоритмом Витерби позволяет утверждать, что вероятность символьной ошибки снижается в среднем на 30%.The effectiveness of the claimed invention is confirmed by the results of computer simulations, which are shown in Fig. 11, where information packets with a length of 192 bits are encoded with a convolutional code with a code restriction length of K = 9 and a coding rate of R = 1/2, and they also use a CRC cyclic checksum in 12 bit Shows the energy gain of coding compared to the well-known Viterbi algorithm in a multipath channel with fading defined as Case II, 30 km / h in "Spatial Channel Model AHG (Combined ad-hoc from 3GPP & 3GPP2)" (SCM Text V6.0) April 22 , 2003 // www.3gpp2.org [15]. Unfortunately, it is not possible to make a comparison with the prototype, since no precoding matrices without feedback for such a code are defined. However, it is clear from the prior art that the energy gain of coding a code with a code restriction length of K = 9 compared to a code with K = 5 is 1-2 dB. A comparison with the well-known Viterbi algorithm suggests that the probability of a symbolic error is reduced by an average of 30%.
Проведенный сравнительный анализ подтверждает преимущество заявляемого изобретения, которое заключается в повышении качества связи.A comparative analysis confirms the advantage of the claimed invention, which consists in improving the quality of communication.
Заявляемое изобретение может быть использовано в цифровых системах радиосвязи 3-го поколения, использующих сверточное кодирование и кодирование по алгоритму Витерби.The claimed invention can be used in digital radio communication systems of the 3rd generation, using convolutional coding and coding according to the Viterbi algorithm.
Claims (2)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2005126242/09A RU2301492C2 (en) | 2005-08-18 | 2005-08-18 | Method and device for transmitting voice information in digital radio communication system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2005126242/09A RU2301492C2 (en) | 2005-08-18 | 2005-08-18 | Method and device for transmitting voice information in digital radio communication system |
Publications (2)
Publication Number | Publication Date |
---|---|
RU2005126242A RU2005126242A (en) | 2007-02-27 |
RU2301492C2 true RU2301492C2 (en) | 2007-06-20 |
Family
ID=37990321
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2005126242/09A RU2301492C2 (en) | 2005-08-18 | 2005-08-18 | Method and device for transmitting voice information in digital radio communication system |
Country Status (1)
Country | Link |
---|---|
RU (1) | RU2301492C2 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2484589C2 (en) * | 2007-10-01 | 2013-06-10 | Нтт Досомо, Инк. | User terminal, base station and signal transmission method used in mobile communication system |
RU2546070C1 (en) * | 2013-11-12 | 2015-04-10 | Открытое акционерное общество "Калужский научно-исследовательский институт телемеханических устройств" | Method for soft-decision decoding of noise-immune code |
RU2573263C2 (en) * | 2014-05-15 | 2016-01-20 | Федеральное государственное казенное военное образовательное учреждение высшего профессионального образования "Рязанское высшее воздушно-десантное командное училище (военный институт) имени генерала армии В.Ф. Маргелова" Министерства обороны Российской Федерации" | Method for noiseless coding of speech signals in digital radio communication system |
-
2005
- 2005-08-18 RU RU2005126242/09A patent/RU2301492C2/en not_active IP Right Cessation
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2484589C2 (en) * | 2007-10-01 | 2013-06-10 | Нтт Досомо, Инк. | User terminal, base station and signal transmission method used in mobile communication system |
RU2546070C1 (en) * | 2013-11-12 | 2015-04-10 | Открытое акционерное общество "Калужский научно-исследовательский институт телемеханических устройств" | Method for soft-decision decoding of noise-immune code |
RU2573263C2 (en) * | 2014-05-15 | 2016-01-20 | Федеральное государственное казенное военное образовательное учреждение высшего профессионального образования "Рязанское высшее воздушно-десантное командное училище (военный институт) имени генерала армии В.Ф. Маргелова" Министерства обороны Российской Федерации" | Method for noiseless coding of speech signals in digital radio communication system |
Also Published As
Publication number | Publication date |
---|---|
RU2005126242A (en) | 2007-02-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3857320B2 (en) | Parallel connected tail biting convolution codes and decoders thereof | |
Bauer et al. | On variable length codes for iterative source/channel decoding | |
JP3610329B2 (en) | Turbo coding method using large minimum distance and system for realizing the same | |
JP3452560B2 (en) | Predecoder for turbo decoder for recovering punctured parity symbol and turbo code recovery method | |
US6848069B1 (en) | Iterative decoding process | |
US20070260772A1 (en) | Apparatus and method for transmitting/receiving data in a communication system | |
US6167552A (en) | Apparatus for convolutional self-doubly orthogonal encoding and decoding | |
KR20010023315A (en) | A method of and apparatus for selecting cyclic redundancy check generators in a concatenated code | |
Oliveira et al. | Puncturing based on polarization for polar codes in 5G networks | |
Yang et al. | Error-correcting performance comparison for polar codes, LDPC codes and convolutional codes in high-performance wireless | |
JP2001257601A (en) | Method for digital signal transmission of error correction coding type | |
CN109660265B (en) | An Adaptive Dual Binary Turbo Code Encoding and Decoding Method Based on DVB-RCS Standard | |
RU2301492C2 (en) | Method and device for transmitting voice information in digital radio communication system | |
JP2002535910A (en) | Decoding method and decoding device for convolutional code | |
US6801588B1 (en) | Combined channel and entropy decoding | |
CN101753261A (en) | Coder, decoder and coding and decoding methods | |
Jiang et al. | A Raptor Code Based Unsourced Random Access with Coordinated Tree-Raptor Decoding Algorithm | |
EP2406908B1 (en) | Mimo communication method and devices | |
KR100928861B1 (en) | Turbo decoding method and apparatus for wireless communication | |
US7225392B2 (en) | Error correction trellis coding with periodically inserted known symbols | |
Lamy et al. | Low complexity iterative decoding of variable-length codes | |
CN108649966B (en) | A Low-Complexity Iterative Decoding Method for Reed Solomon-Convolutional Concatenated Codes | |
Hanif | Design of Single Kernel Polar Codes with Exible Lengths | |
Mueadkhunthod et al. | An early termination technique of polar codes for IR-HARQ scheme | |
Oliveira et al. | Polarization-driven puncturing for polar codes in 5g systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | The patent is invalid due to non-payment of fees |
Effective date: 20190819 |