Способ передачи голосовых данных в цифровой системе радиосвязи и устройство для его осуществления

Изобретение относится к области радиотехники, в частности к передаче голосовых данных в цифровой системе радиосвязи. Технический результат состоит в повышении качества радиосвязи за счет отображения информационного слова в кодовые символы различных параллельных каскадов. Для этого на передающей стороне формируют пакеты данных, каждый из которых содержит информационную последовательность символов, в каждом пакете данных дополняют информационную последовательность символов циклической контрольной суммой CRC, формируют промежуточную кодовую последовательность, для чего выполняют кодирование дополненной циклической контрольной суммой информационной последовательности каждого пакета данных сверточным рекурсивным кодом без внесения избыточности с рациональной функцией передачи, зависящей от времени, и формируют решетчатую диаграмму нерекурсивного сверточного кода с рациональными функциями передачи, добавляют к сформированной промежуточной кодовой последовательности, кодированной рекурсивным сверточным кодом, назначенные кодовые символы таким образом, чтобы был известен единственный финальный узел на заданной глубине. 2 н.п. ф-лы, 11 ил.

 

Изобретение относится к области радиотехники, в частности к способу и устройству передачи голосовых данных в цифровой системе радиосвязи.

Преобразование голосового сообщения в цифровой системе радиосвязи включает в себя следующие этапы:

- аналого-цифровое преобразование речевого сигнала,

- канальное кодирование,

- передача по радиоканалу кодового слова,

- декодирование входного сигнала

- цифроаналоговое преобразование цифровой последовательности в речевой сигнал

Аналого-цифровое преобразование и цифроаналоговое преобразование выполняет вокодер, известный как "waveform coder" (см. L.R.Rabiner R.W.Schafer, Digital processing of speech signal. Prentice Hall. Englewood Cliffs New Jersey 1978 [1]). В настоящее время гибридные вокодеры позволяют преобразовывать в голосовой сигнал пакеты данных, содержащие ошибки, если количество ошибочных символов не превышает установленного предела, то исходный сигнал может быть восстановлен с потерями, субъективно малозаметными, для абонента. Таким образом, актуальной является задача повышения качества связи при передаче голосовых данных в цифровой системе радиосвязи за счет снижения символьной ошибки помехоустойчивого кодирования.

Следует отметить, что для обнаружения ошибочного пакета голосовых данных также используют код, обнаруживающий ошибки. Наиболее эффективной технологией обнаружения ошибок является циклическая контрольная сумма, которую добавляют к передаваемому пакету. Полное описание способа кодирования циклической контрольной суммой CRC дано, например, в книге Блейхут. Теория и практика кодов, контролирующих ошибки. - М: 1986 [2]. Циклическая контрольная сумма является практически надежным способом обнаружения ошибок. Использование контрольной суммы не только для обнаружения ошибок, но и для их коррекции может снизить символьную ошибку помехоустойчивого кодирования.

Помехоустойчивое кодирование сверточным кодом известно из 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 - двоичные символы, расположенные в очередности их передачи.

Тогда последовательность символов на выходе сверточного кодера, представленного на фиг.1 (а), можно рассматривать как свертку импульсной характеристики кодера с входной последовательностью. В компактном виде линейная свертка записывается как произведение многочленов:

c(x)=s(x)g(x)

Коэффициенты сi, этого многочлена определяются равенствами

Свертку следует понимать, как свертку в поле Галуа. То есть для двоичных сообщений сумму надо понимать как сумму по модулю 2, а умножение на х как операцию задержки. Таким образом, si - входная последовательность; сi - отсчет выходной последовательности; g(x) - образующий полином, a gk - его коэффициенты. Для введения избыточности с помощью другого образующего полинома g'(x) получают выходной отсчет с'(х). В результате этого входному символу si соответствуют два выходных с(х) и с'(х). Образующий полином также можно представить в виде двоичного числа, где k-т разряд равен бинарному коэффициенту gk. Так для кодера, представленного на Фиг.1 (а), образующие полиномы равны g=58 и g'=78, где нижний индекс обозначает основание системы счисления. Физически кодер реализуется при помощи линии задержки. Скоростью кодера называется отношение числа входных символов к числу выходных, а длиной кодового ограничения - длина линии задержки, которая равна степени образующего полинома. Скорость кодирования этого кодера составляет R=1/2. Длина кодового ограничения определена как минимальная длина линии задержки, при которой код может быть реализован, и равна К=3.

Другим видом представления помехоустойчивого кода является представление при помощи порождающей матрицы, так в этом представлении операция кодирования может быть записана как умножение вектора информационных символов на порождающую матрицу, результатом которого будет вектор кодовых символов: SG=С.

Вид порождающей матрицы сверточного кода определяется откликом на единичное воздействие на кодер, показанным на фиг.1 (а). Пусть в кодер поступает символ 1, за которым следуют символы 0. В таком случае отклик на такое единичное воздействие, то есть соответствующая выходная последовательность кодера имеет вид . Выходная последовательность, соответствующая произвольной входной последовательности, получается сложением по модулю 2 сдвигов указанной последовательности. Поэтому порождающая матрица может быть представлена в виде:

Как видно из способа построения матрицы, она имеет бесконечный размер, но, тем не менее, кодер достаточно просто реализуется на линии задержки.

Сверточный код можно представить посредством порождающих подматриц, каждая из которых соответствует задержанному одному импульсному отклику, как показано на фиг.2 (см. R.Johannesson and К.S.Zigangirov, Fundamentals of Convolutional Coding. New York, NY, USA: IEEE Press, 1999 [4]). Размер подматрицы соответствует числу порождающих полиномов Gk={gk,1, gk,2} и определяет скорость кодирования R. Порождающую матрицу для сверточного кода в этом случае можно представить в виде:

Для кода, показанного на фиг.1 (а), порождающие подматрицы равны

Наряду с термином "порождающий полином" используется термин "рациональная функция передачи" от оператора задержки D:

gk(D)=gk0+gk1D+gk2D2+gk3D3+...+gkmDm

В таком случае говорят о том, что информационную последовательность умножают на порождающий полином кода или на рациональную функцию передачи gk(D), где D оператор задержки или D-преобразование (см. [4] стр.31).

Избыточность кодирования достигается за счет введения множества каскадов кодирования сверточного кода gk(D), g1(D),..., gN(D). В каждом из каскадов кодирования формируют один кодовый символ. Все кодовые символы, сформированные в каскадах кодирования, соответствуют одному информационному символу, поступившему в линию задержки. Операции кодирования в каждом каскаде проводят параллельно.

Известен рекурсивный сверточный код или сверточный код с обратной связью (см. G.D.Fomey, Jr., "Convolutional codes I: Algebraic structure," IEEE Trans. Inform. Theory, vol.IT-16, p.720-738, Nov. 1970 [5]). Обратная связь в кодере реализована делением на полином. Такой кодер также характеризуется рациональной функцией передачи. Необходимым условием реализуемости такой схемы является равенство единице элемента с нулевой степенью D в полиноме-знаменателе.

На фиг.3 представлены два варианта реализации рекурсивного сверточного кодера и соответствующие им рациональные функции передачи:

а) рациональная функция передачи сверточного кодера (вариант а)

б) рациональная функция передачи сверточного кодера (вариант б)

Сверточные коды допускают сравнительно простой алгоритм мягкого декодирования, известный как алгоритм Витерби (Витерби А. Границы ошибок для сверточных кодов и асимптотический оптимальный алгоритм декодирования. - см. А.Витерби. Некоторые вопросы теории кодирования. - М., 1970. - С.142-165 [6]). Декодирование сверточного кода основано на сравнении двух кодовых последовательностей путем определения "расстояния" между ними в пространстве допустимых кодовых слов или определения "веса" одного кодового слова относительно другого. Для случая последовательностей из двоичных символов простейшей метрикой, определяющей расстояние между кодовыми словами, является метрика Хемминга, которая равна количеству отличных друг от друга символов в рассматриваемых последовательностях. Также определена метрика в мягких решениях, которая равна сумме геометрических расстояний в пространстве сигналов между соответствующими кодовыми символами в обеих последовательностях [2].

Процесс декодирования сверточного кода представляет собой поиск пути с наименьшим весом по дереву, ветви которого представляют собой допустимые кодовые комбинации. Отбрасывание заведомо неправильных путей позволит избежать экспоненциального роста сложности в зависимости от длины кодового блока. Учитывая тот факт, что кодер является автоматом с конечным числом состояний, удобно графически изображать код, как решетчатую диаграмму. Для кодера, представленного на фиг.1 (а), решетчатая диаграмма показана на фиг.1 (б), где узлы соответствуют состояниям кодера, определяемым двумя первыми битами из линии задержки, а ребра соответствуют допустимым переходам и промаркированы соответствующими значениями выходных бит. В начальный момент времени t0 биты, записанные в линию задержки, определяют инициализацию кодера, обычно кодер инициализируют нулями. Каждый столбец - это состояние кодера в дискретный момент времени ti. В декодере каждый возможный путь накапливает свой вес путем сравнения с действительно принятой последовательностью, используя метрику Хемминга или метрику в мягких решениях. И, таким образом, продвигается в глубину решетчатой диаграммы, где глубина решетчатой диаграммы сверточного кода q в декодере соответствует дискретным отсчетам времени ti в кодирующем устройстве. Отметим, что в каждое состояние также приходят два пути, один из которых с худшей метрикой отбрасывается.

Модифицированный алгоритм декодирования Витерби, приведенный в [4], заключается в следующем:

- в построении массива метрик, размером равного числу внутренних состояний кодера, который рассматривают как автомат с конечным числом состояний,

- инициализации массива метрик априорными значениями метрик,

- вычислении метрик путей, которые равны метрике исходного состояния плюс метрика допустимого перехода (ADD),

- обновлении метрик состояния путем выбора наименьшей метрики разрешенного пути в это состояние (COMPARE),

- запоминании разрешенного перехода с наименьшей метрикой (SELECT),

- повторении описанной процедуры до тех пор, пока не достигнут конца кодового слова,

- выборе финального состояния, отслеживании основного выжившего пути по запомненным разрешенным переходам в обратном направлении.

Алгоритм Витерби является оптимальным в своем классе кодов по критерию минимальной вероятности ошибки в приеме кодового слова, что, однако, не гарантирует минимального числа ошибочных символов.

Известен алгоритм 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]), который является оптимальным по критерию минимума символьной ошибки, но он требует сложной реализации, больших вычислительных ресурсов и вносит задержку обработки. Алгоритм заключается в проходе кодового слова в прямом и обратном направлении, сохранении промежуточных результатов и последующем проходе, где промежуточные результаты объединяют и выносят мягкие решения по принятым символам.

По сравнению с алгоритмом Витерби процесс декодирования по алгоритму MAP может быть начат только после приема кодового слова в целом, что увеличивает задержку декодирования и предполагает наличие сложных вычислительных операций.

Алгоритм Витерби позволяет декодировать кодовое слово по мере поступления кодовых символов, задержку вносит только процесс выбора решений по декодированным символам или процесс отслеживания выживших путей, однако эта задержка не является значительной и определяется максимальной глубиной решетчатой диаграммы сверточного кода, обычно равной 5-6 длинам кодового ограничения.

Известны систематический и несистематический виды кодирования, которые отличаются тем, что в случае систематического кодирования исходное информационное сообщение является частью кодового слова в явном виде, то есть кодовое слово может быть разделено на информационную и проверочную составляющие.

Для кодов, декодируемых по алгоритму Витерби, оптимальным является несистематический вид кодирования, однако известно, что любой несистематический сверточный код может быть представлен в систематическом виде, притом будет сохранена возможность его декодирования стандартным декодером (см. [5], а также Min-Goo Kirn, On Systematic Punctured Convolutional Codes, IEEE Transactions on Communications, Vol.45 No.2, P.133-9, February 1997 [8]). Это достигается путем предварительного сверточного рекурсивного кодирования, без внесения избыточности, может быть сформирована промежуточная кодовая последовательность таким образом, что, будучи закодирована стандартным кодом сверточного кода, полученное кодовое слово будет содержать в себе исходную информационную последовательность как составную часть, таким образом, информационные символы могут быть отображены в назначенные кодовые символы. Полученный код может быть декодирован стандартным декодером Витерби, исходная информационная последовательность может быть получена как обратным кодированием, так и прямым преобразованием промежуточной кодовой последовательности в исходное информационное сообщение, выполненным непосредственно в декодере, с незначительными модификациями последнего. Следует отметить, что в этом случае предварительное кодирование выполняют с обратной связью рекурсивным сверточным кодером.

Однако, если отображать информационную последовательность только в один из каскадов кодирования, например, при скорости кодирования R=1/2, эффект снижения битовой ошибки не может быть достигнут, из-за кодовой зависимости бит в этом каскаде, так ошибка в одном из кодовых символов, с высокой вероятностью приводит к ошибке в следующем символе этого каскада. Однако в литературе показана эффективность данного способа предварительного кодирования для скорости с обратной связью R=1/2 в канале с федингом (см. Channel coding techniques for Adaptive Multi Rate Speech Transmission / T.Hindelang, J.Hagenauer, M.Schmauts, Wen Xu [9]). Выигрыш в символьной ошибке получается за счет того, что алгоритм Витерби оптимален только по критерию минимальной пакетной ошибки, соответственно выигрыш состоит в том, что будет уменьшено количество ошибочных символов в ошибочных пакетах за счет предварительного кодирования с обратной связью с последующим восстановлением информационной последовательности из промежуточной кодовой последовательности.

Известным способом повышения эффективности декодирования является лист-декодирование или декодирование списком (см. Elias P. Error-Correcting Codes for List Decoders / P. Elias // IEEE Transactions on Information Theory. - 1991. - Vol.37, №1. - P.5-13. [10]), которое заключается в том, что декодер возвращает список возможных вариантов кодовых слов. Выбор из них правильного информационного сообщения может быть осуществлен путем проверки циклической контрольной суммы. Например, в алгоритме Витерби лист-декодирование может быть реализовано путем добавления в список некоторых путей, которые ранее были отброшены.

Известны следующие реализации Лист Витерби Алгоритма:

- N.Seshadri, С.Е.W. Sundberg "List Viterbi decoding and its application" // IEEE Trans on Communication, Vol.COM-42, №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].

Фактически, данный алгоритм характеризуется поиском по дереву сохраненных переходов в решетчатой диаграмме декодера Витерби, где поиск осуществляют на несколько уровней в глубину, меняя решения сделанные декодером Витерби.

Лист Витерби алгоритм, описанный [11], характеризуется следующей последовательностью действий:

1) выбирают основной выживший путь, выполняя декодирование Витерби;

2) формируют первый список альтернативных путей, отслеживая основной выживший путь в обратном направлении, начиная с шага с наибольшим номером, для чего на каждом шаге добавляют в первый список альтернативные пути, которые были слиты с основным выжившим путем;

3) для каждого пути в первом списке формируют второй список, добавляя в него альтернативные пути, которые были слиты с этим путем из первого списка;

4) вычисляют метрики путей из второго списка, если метрика пути из второго списка меньше, чем метрика какого-либо пути из первого списка, то путь в первом списке, меняют на путь из второго списка путей;

5) рекурсивно повторяют действия до тех пор, пока не будет достигнут шаг с нулевым номером;

6) проверяют CRC у всех путей из первого списка;

Недостатком данного алгоритма является его техническая сложность, алгоритм может быть упрощен путем выполнения только действий 1, 2, 6, однако в таком случае его эффективность резко падает, например, в канале с федингом.

Наиболее близкое к заявляемому изобретению техническое решение - прототип описано в патенте США №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. Следует отметить, что в устройстве-прототипе выполняют предварительное кодирование без обратной связи.

Способ характеризуется следующей последовательностью действий:

1) на передающей стороне умножают информационный сигнал на матрицу предварительного кодирования, получая предварительно кодированный информационный сигнал;

2) умножают порождающую матрицу, имеющую первую скорость сверточного кода, на предварительно кодированный информационный сигнал, получая кодированный информационный сигнал;

3) умножают матрицу выкалывания, имеющую вторую скорость сверточного кода, которая выше, чем первая скорость сверточного кода, на кодированный информационный сигнал, получая выколотый информационный сигнал;

4) передают выколотый информационный сигнал по каналу;

5) на приемной стороне принимают выколотый информационный сигнал;

6) принятый выколотый информационный сигнал умножают на матрицу, обратную матрице выкалывания, получая невыколотый информационный сигнал;

7) декодируют невыколотый информационный сигнал, получая максимальную оценочную последовательность кода;

8) умножают максимальную оценочную последовательность кода на матрицу, обратную порождающей матрице, получая некодированный сигнал;

9) умножают некодированный информационный сигнал на матрицу, обратную матрице предварительного кодирования, получая переданный информационный сигнал, где матрица предварительного кодирования согласована с матрицей выкалывания, таким образом, чтобы уменьшить скорость возникновения ошибок в передаваемом выколотом информационном сигнале.

Описанный способ-прототип осуществляют на устройстве, два варианта реализации которых приведены в [13]. Наиболее близким техническим решением - прототипом заявляемому устройству является устройство по второму варианту выполнения. Структурная схема устройства-прототипа выполнена на фиг.4 (передающее устройство) и фиг.5 (приемное устройство).

Устройство-прототип содержит передающее и приемное устройства, соединенные посредством канала 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.

Приемное устройство 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, выход которого является выходом устройства.

Осуществляют способ-прототип на устройстве (фиг.4 и 5) следующим образом.

На передающем устройстве (фиг.4) на вход первого коммутатора 2 поступает информационный сигнал, который он подает на вход одного из L блоков предварительного кодирования без обратной связи 3.

В блоке предварительного кодирования без обратной связи 3 выполняют кодирование информационного сигнала, умножая информационный сигнал на матрицу предварительного кодирования, получая предварительно кодированный информационный сигнал, который поступает на один из L входов второго коммутатора 4.

Второй коммутатор 4 подает предварительно кодированный информационный сигнал на вход блока кодирования 5, где осуществляют его кодирование, получая кодированный информационный сигнал, который поступает на вход третьего коммутатора 6.

Третий коммутатор 6 подает кодированный информационный сигнал на вход одного из L блоков выкалывания кодовых символов 7, который осуществляет выкалывание кодовых символов в кодированном информационном сигнале путем умножения матрицы выкалывания, имеющую вторую скорость сверточного кода, которая выше, чем первая скорость сверточного кода, на кодированный информационный сигнал, получая выколотый кодированный информационный сигнал.

Выходной сигнал с блока выкалывания кодовых символов 7 поступает на один из L входов четвертого коммутатора 8. Выколотый кодированный информационный сигнал поступает с выхода четвертого коммутатора 8 на вход канала 9, по которому передается на приемное устройство 10.

На приемном устройстве 10 (фиг.5) принимают выколотый информационный сигнал по каналу 9, коммутируют принятый выколотый информационный сигнал на первом коммутаторе 11 и передают его на вход одного из L блоков согласования количества кодовых символов 12. В блоке согласования количества кодовых символов 12 принятый выколотый информационный сигнал умножают на матрицу, обратную матрице выкалывания, получая невыколотый информационный сигнал, который с выхода блока 10 поступает на один из L входов второго коммутатора 13.

С выхода второго коммутатора 13 невыколотый информационный сигнал поступает на вход блока декодирования 14. В блоке 14 декодируют невыколотый информационный сигнал, получая некодированный информационный сигнал (максимально оценочную последовательность кода), который передают с выхода блока 14 на вход третьего коммутатора 15.

С одного из L выходов третьего коммутатора 15 на вход соответствующего ему блока декодирования предварительного кода 16 поступает некодированный информационный сигнал.

В блоке 16 декодируют некодированный информационный сигнал, умножая некодированный информационный сигнал на матрицу, обратную матрице предварительного кодирования, получая переданный информационный сигнал, причем матрица предварительного кодирования согласована с матрицей выкалывания таким образом, чтобы уменьшить скорость возникновения ошибок в передаваемом выколотом информационном сигнале. Переданный информационный сигнал с выхода одного из L блоков 16 поступает на один из L входов четвертого коммутатора 17.

С выхода четвертого коммутатора 17 переданный информационный сигнал передают на выход приемного устройства 10.

Это известное решение направлено на уменьшение символьных ошибок в системе передачи данных, использующей выколотый сверточный код с незначительным увеличением сложности (всей системы и/или декодера), а также на обеспечение неравномерной защиты от ошибок в системе с выколотым сверточным кодом. Однако, оно, по-прежнему не обеспечивает уменьшения количества символьных ошибок в кодах со скоростью кодирования больше или равной R=1/2.

Описанные выше способ и устройство-прототип требует выкалывания кодовых символов и определены только для кода с длиной кодового ограничения К=5, т.е. кода, который является слабым. Поэтому способ-прототип и устройство для его осуществления не могут обеспечить высокое качество радиосвязи.

Следует учитывать, что упомянутый прототип [13] включает в себя ряд устройств предварительного кодирования без обратной связи, задаваемых соответствующим множеством матриц, устройство кодирования сверточным кодом, заданное порождающей матрицей с первой скоростью сверточного кода, блок выкалывания, содержащий ряд узлов выкалывания, задаваемых соответствующим множеством матриц выкалывания, для формирования выколотого информационного сигнала, передаваемого по каналу, где выбранная матрица устройства предварительного кодирования без обратной связи согласуется с выбранной матрицей выкалывания с целью уменьшения BER (вероятности ошибки) в переданном выколотом информационном сигнале, блок согласования количества кодовых символов, в котором умножают на матрицу, обратную исходной матрице выкалывания, переданный выколотый информационный сигнал для формирования невыколотого информационного сигнала, декодер Витерби, отображающий невыколотый информационный сигнал в сигнал оценки символов кодовой последоветельности по правилу максимального правдоподобия, блок формирования информационных последовательностей по путям решетчатой диаграммы декодера Витерби (uncoder), умножающий матрицу, обратную порожадющей матрице, на сигнал оценки символов кодовой последоветельности для формирования некодированного информационного сигнала, и блок обратный примененному блоку предварительного кодирования, умножающий матрицу, обратную выбранной матрице предварительного кодирования, на некодированный информационный сигнал для формирования переданного информационного сигнала.

Техническая сложность при реализации прототипа [13] состоит в трудности поиска матриц предварительного кодирования, согласованных с порождающей матрицей кода и с матрицей выкалывания для кодов с большим кодовым ограничением.

Задача, на решение которой направлено заявляемое изобретение - это повышение качества радиосвязи, при этом технический результат достигается за счет снижения символьной ошибки при декодировании сверточного кода по алгоритму Витерби.

В частности, для достижения технического результата разработан заявляемый способ передачи голосовых данных в цифровой системе радиосвязи, заключающийся в том, что

на передающей стороне формируют пакеты данных, каждый из которых содержит информационную последовательность символов,

в каждом пакете данных дополняют информационную последовательность символов циклической контрольной суммой CRC,

формируют промежуточную кодовую последовательность, для чего выполняют кодирование информационной последовательности каждого пакета данных сверточным рекурсивным кодом без внесения избыточности с рациональной функцией передачи , зависящей от времени t, где t - целое число , g0(D), g1(D) - рациональные функции передачи сверточного нерекурсивного кода, используемого для помехоустойчивого кодирования, а хt - двоичный символ псевдослучайной последовательности;

формируют решетчатую диаграмму сверточного кода,

добавляют к сформированной промежуточной кодовой последовательности назначенные кодовые символы таким образом, чтобы для сформированной решетчатой диаграммы сверточного кода был известен финальный узел на заданной глубине q=tmax,

кодируют сформированную промежуточную кодовую последовательность нерекурсивным сверточным кодом с рациональными функциями передачи g0(D), g1(D), получая кодовое слово с отображенными информационными символами;

передают кодовое слово по каналу;

на приемной стороне выполняют демодуляцию входного сигнала, получая кодовое слово в мягких решениях;

декодируют кодовое слово в мягких решениях посредством декодера Витерби для чего:

инициализируют массив метрик декодера Витерби априорными значениями метрик, предполагая что все пути выходят из одного узла решетчатой диаграммы сверточного кода в начальный момент времени, полагают t=0;

формируют решетчатую диаграмму сверточного кода, где - для каждого узла на глубине q=t+1 находят узлы-предшественники на глубине q=t, с которыми он соединен разрешенным переходом;

для каждого узла-предшественника вычисляют метрики путей, складывая метрику исходного узла-предшественника и метрику допустимого перехода,

обновляют метрику состояния путем выбора наименьшей метрики разрешенного пути в это состояние,

запоминают разрешенный переход с наименьшей метрикой,

повторяют вычисление метрик путей, обновление метрики состояния и запоминание разрешенного перехода с наименьшей метрикой до тех пор, пока не достигнут заданной глубины q=tmax,

выбирают известный финальный узел, на глубине q=tmax,

отслеживают основной выживший путь, выполняя запомненные переходы по решетчатой диаграмме в обратном направлении, получают таким образом промежуточную кодовую последовательность из основного выжившего пути;

кодируют промежуточную кодовую последовательность нерекурсивным сверточным кодом с рациональными функциями передачи g0(D), g1(D), получая восстановленное кодовое слово;

осуществляют выкалывание в восстановленном кодовом слове, где из каждой пары кодовых символов, соответствующих переходу в решетчатой диаграмме сверточного кода, на глубине q=t оставляют кодовый символ, определяемый рациональной функцией передачи gy(D), где у∈{0,1} и , a xt - двоичный символ псевдослучайной последовательности, синхронизированный с двоичным символом псевдослучайной последовательности на передающей стороне, получая восстановленную информационную последовательность, и проверяют циклическую контрольную сумму CRC, в случае ее совпадения заканчивают декодирование;

при несовпадении циклической контрольной суммы CRC формируют список альтернативных путей, для чего:

выполняют запомненные переходы из финального узла в обратном направлении до тех пор, пока следующему переходу не будут соответствовать кодовые символы, в одном из которых отображен i-й информационный символ,

выполняют переход по другому разрешенному пути в решетчатой диаграмме, отличному от того перехода, который был запомнен,

из текущего узла выполняют запомненные переходы по решетчатой диаграмме в обратном направлении до достижения начала решетчатой диаграммы, формируя альтернативный путь, соответствующий i-му информационному символу,

для каждого информационного символа формируют свой альтернативный путь,

для каждого пути из списка альтернативных путей:

получают промежуточную кодовую последовательность, кодируют промежуточную кодовую последовательность нерекурсивным сверточным кодом с рациональными функциями передачи g0(D), g1(D),

осуществляют выкалывание в восстановленном кодовом слове, где из каждой пары кодовых символов, соответствующих переходу в решетчатой диаграмме сверточного кода, на глубине q=t оставляют кодовый символ, определяемый рациональной функцией передачи gy(D), где у∈{0,1} и , а хt - двоичный символ псевдослучайной последовательности, синхронизированный с двоичным символом псевдослучайной последовательности на передающей стороне, получая восстановленную информационную последовательность символов, и проверяют циклическую контрольную сумму CRC, в случае ее совпадения заканчивают декодирование,

возвращают информационную последовательность символов, соответствующую основному выжившему пути, если ни одна проверка циклической контрольной суммы CRC не совпала.

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

Отличительными признаками заявляемого способа передачи голосовых данных в цифровой системе радиосвязи относительно прототипа являются следующие:

на передающей стороне:

кодируют каждый пакет информационных символов кодом CRC,

отображают информационные символы в кодовые символы сверточного кода со скоростью кодирования R=1/2, причем выбор каскада кодирования осуществляют по псевдослучайному закону,

формируют поток кодовых символов путем мультиплексирования кодовых символов в последовательный поток без выкалывания кодовых символов,

на приемной стороне:

декодируют принятую последовательность упрощенным лист декодером Витерби, формируя список промежуточных кодовых последовательностей, причем каждому информационному символу соответствует свой альтернативный путь. Упрощение состоит в том, что поиск осуществляют только на один уровень в глубину,

в каждой промежуточной кодовой последовательности проводят обратное кодирование, восстанавливая последовательность кодовых символов,

в каждой восстановленной последовательности кодовых символов выделяют восстановленную информационную последовательность по псевдослучайному закону, аналогично тому, который был применен на передающей стороне для выбора кодового символа для отображения,

в каждой восстановленной информационной последовательности проверяют циклическую контрольную сумму CRC, если CRC совпадает хотя бы в одной восстановленной последовательности, то ее объявляют декодированной верно.

Отличительными признаками заявляемого устройства передачи голосовых данных в цифровой системе радиосвязи относительно прототипа являются следующие:

в передающем устройстве

введен блок для формирования циклической контрольной суммы CRC, которой дополняют информационную последовательность в каждом пакете данных, кодируя, таким образом, информационную последовательность по определенному правилу;

введен сумматор, который выполняет посимвольное суммирование по модулю 2 дополненной циклической контрольной суммой информационной последовательности с сигналом с выхода ключа, формируя промежуточную кодовую последовательность;

введен ключ, который подает на выход сигнал одного из двух блоков предварительного кодирования без обратной связи по заданному правилу;

первый и второй блоки предварительного кодирования без обратной связи имеют существенное упрощение по сравнению с прототипом, который использует L блоков предварительного кодирования, кроме того, они функционально работают по-другому:

в первом блоке предварительного кодирования без обратной

связи кодируют сформированную промежуточную кодовую

последовательность нерекурсивным сверточным кодом с

рациональной функцией передачи ;

во втором блоке предварительного кодирования без обратной связи кодируют сформированную промежуточную кодовую последовательность нерекурсивным сверточным кодом с рациональной функцией передачи ;

выполняя суммирование по модулю 2 на сумматоре 19 осуществляют кодирование информационной последовательности каждого пакета сверточным рекурсивным кодом без внесения избыточности с рациональной функцией передачи , зависящей от времени t, где t - целое число и , g0(D), g1(D) - рациональные функции передачи сверточного нерекурсивного кода, используемого для помехоустойчивого кодирования, а хt - двоичный символ псевдослучайной последовательности;

введен мультиплексор, который из двух параллельных сигналов на выходах блока кодирования формирует последовательный сигнал, представляющий собой кодовое слово, которое передают по каналу причем необходимая в прототипе операция выкалывания не требуется;

введен генератор ПСП, который посредством управляющего сигнала обеспечивает выбор кодового символа, в который будет отображен информационный символ;

в приемное устройство

введен лист-декодер, который формирует восстановленные промежуточные кодовые последовательности основного и альтернативных путей, при этом за основу взят алгоритм лист-декодирования по Витерби, отличительной частью заявляемого изобретения от известного лист-декодирования по Витерби являются следующие признаки, обеспечивающие достижение технического эффекта более простым путем:

выполняют запомненные переходы из финального узла в обратном направлении до тех пор, пока следующему переходу не будут соответствовать кодовые символы, в одном из которых отображен i-й информационный символ,

выполняют переход по другому разрешенному пути в решетчатой диаграмме, отличному от того перехода, который был запомнен,

из текущего узла выполняют запомненные переходы по решетчатой диаграмме в обратном направлении до достижения начала решетчатой диаграммы, формируя альтернативный путь, соответствующий i-му информационному символу,

для каждого информационного символа формируют свой альтернативный путь,

введены N блоков обратного кодирования, которые функционально аналогичны блоку кодирования 5 на передающем устройстве, и N ключей, обеспечивающих (по управляющему сигналу синхронизации с генератора ПСП 26) упрощенное (по сравнениею с прототипом) декодирование предварительного кода, в результате на выходы ключей поступает тот сигнал, который соответствует последовательности кодовых символов, определяемых рациональной функцией передачи, получая, таким образом, восстановленную информационную последовательность символов,

введены N блоков проверки контрольной суммы CRC, в которых проверяют полученные восстановленные информационные последовательности путем добавления к ним проверочных символов - "ноль", если проведенная проверка была успешной, или "единица", если циклическая контрольная сумма не совпала;

введен блок выбора, в котором заканчивают декодирование в случае совпадения циклической контрольной суммы CRC у какой-либо из восстановленных и проверенных информационных последовательностей.

Таким образом заявляемые способ передачи голосовых данных в цифровой системе радиосвязи и устройство для его осуществления позволяют повысить качество радиосвязи за счет снижения символьной ошибки при декодировании сверточного кода по алгоритму Витерби, технический эффект достигается за счет отображения информационного слова в кодовые символы различных параллельных каскадов кодирования сверточного кода, обеспечивая эффективность декодирования упрощенным лист-декодером. Кроме того, заявляемое изобретение имеет существенное упрощение в реализации по сравнению с прототипом, т.к. исключается необходимость формирование множества матриц путем их перебора.

Далее описание заявляемого изобретения поясняется примерами выполнения и чертежами.

На фиг.6 выполнена структурная схема передающего устройства 1 по заявляемому изобретению.

На фиг.7 выполнена структурная схема приемного устройства 10 по заявляемому изобретению.

На фиг.8 показана структура блока 3 предварительного кодирования без обратной связи, блока 5 кодирования и приведены их рациональные функции передачи.

На фиг.9 выполнена решетчатая диаграмма для лист-декодера 23, основанного на алгоритме Витерби.

На фиг.10 представлен блок 24 обратного кодирования, ключ 25 и блок 27 проверки циклической контрольной суммы.

На фиг.11 приведены результаты моделирования предлагаемого алгоритма.

Заявляемое устройство передачи голосовых данных в цифровой системе радиосвязи (фиг.6 и 7) содержит передающее устройство 1 и приемное устройство 10, соединенные посредством канала 9, обеспечивающего передачу данных,

причем передающее устройство 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;

приемное устройство 10 (фиг.7) содержит лист-декодер 23, N блоков 241-24N обратного кодирования, N ключей 251-25N, N блоков 271-27N проверки циклической контрольной суммы и блок 28 выбора,

причем вход лист-декодера 23 является первым входом приемного устройства - входом информационного сигнала, и соединен с выходом канала 9, N выходов лист-декодера 23 соединены соответственно с входами N блоков 241-24N обратного кодирования, первые и вторые выходы N блоков 241-24N обратного кодирования, соединены с первыми и вторыми входами соответствующих им N ключей 251-25N, третьи входы которых соединены с выходами генератора ПСП 26, вход которого является вторым входом устройства - входом управляющего сигнала синхронизации, выходы N ключей 251-25N соединены соответственно с входами N блоков 271-27N проверки циклической контрольной суммы, выходы которых соединены соответственно с N входами блока 28 выбора, выход которого является выходом приемного устройства.

Заявляемый способ передачи голосовых данных в цифровой системе радиосвязи осуществляют на устройстве, структурная схема которого выполнена на фиг.6 и 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.

Из дополненной циклической контрольной суммой информационной последовательности формируют промежуточную кодовую последовательность без внесения кодовой избыточности. Выходной сигнал с блока 18 поступает на первый вход сумматора 19. В сумматоре 19 выполняют посимвольное суммирование по модулю 2, дополненное циклической контрольной суммой информационной последовательности с сигналом, поступающим на второй вход сумматора с выхода ключа 22. При этом на первый и второй входы ключа 22 поступают соответственно сигналы с выходов первого блока 31 и второго блока 32 предварительного кодирования без обратной связи, а на третий вход ключа 22 поступает управляющий сигнал синхронизации с генератора 21 ПСП. Ключ 22 подает на выход сигнал одного из блоков предварительного кодирования без обратной связи 31 или 32 по правилу, определяемому формулой

где g0,t, g1,t - отсчеты сигнала с выходов блоков предварительного кодирования без обратной связи 31 и 32,

хt - отсчет псевдослучайной последовательности, сформированной по способу указанному, например, в [14] с порождающим полином h(D)=D17+D14+1.

хt выступает в качестве управляющего сигнала синхронизации ключа 22.

Генератор 21 ПСП запускают управляющим сигналом синхронизации, обеспечивая тем самым посимвольную синхронизацию на приемной и передающей сторонах.

Промежуточная кодовая последовательность с выхода сумматора 19 поступает на вход блока 5 кодирования, первого блока 31 и второго блока 32 предварительного кодирования без обратной связи.

В блоке 5 кодирования формируют решетчатую диаграмму сверточного кода, добавляют к сформированной промежуточной кодовой последовательности назначенные кодовые символы таким образом, чтобы для сформированной решетчатой диаграммы сверточного кода был известен финальный узел на заданной глубине q=tmax, кодируют сформированную промежуточную кодовую последовательность нерекурсивным сверточным кодом с рациональными функциями передачи g0(D), g1(D), получая кодовое слово с отображенными информационными символами. В качестве примера, рассмотрим порождающие полиномы, определенные в [14] для нерекурсивного сверточного кода со скоротью R=1/2, где g0=5618, a g1=7538.

В первом блоке 31 предварительного кодирования без обратной связи формируют решетчатую диаграмму сверточного кода, добавляют к сформированной промежуточной кодовой последовательности назначенные кодовые символы таким образом, чтобы для сформированной решетчатой диаграммы сверточного кода был известен финальный узел на заданной глубине q=tmax, кодируют сформированную промежуточную кодовую последовательность нерекурсивным сверточным кодом с рациональной функцией передачи

Во втором блоке 32 предварительного кодирования без обратной связи формируют решетчатую диаграмму сверточного кода, добавляют к сформированной промежуточной кодовой последовательности назначенные кодовые символы таким образом, чтобы для сформированной решетчатой диаграммы сверточного кода был известен финальный узел на заданной глубине q=tmax, кодируют сформированную промежуточную кодовую последовательность нерекурсивным сверточным кодом с рациональной функцией передачи

Суммируя сигналы на блоке 19 суммирования, осуществляют кодирование информационной последовательности каждого пакета сверточным рекурсивным кодом без внесения избыточности с рациональной функцией передачи , зависящей от времени t, где t - целое число и , g0(D), gg1(D) - рациональные функции передачи сверточного нерекурсивного кода, используемого для помехоустойчивого кодирования, а хt - двоичный символ псевдослучайной последовательности.

В блоке 5 кодирования осуществляют кодирование сверточным кодом со скоростью кодирования R=1/2. Из двух параллельных сигналов на выходах блока 5 кодирования посредством мультиплексора 20 формируют последовательный сигнал, представляющий собой кодовое слово, которое передают по каналу 9.

Канал 9 представляет собой совокупность приемо-передающих устройств, а также радиоканал, по которому передают кодовое слово.

На приемном устройстве (фиг.7) по каналу 9 принимают входной сигнал и выполняют его демодуляцию, получая кодовое слово в мягких решениях. Последовательность мягких решений поступает на вход лист-декодера 23, который формирует восстановленные промежуточные кодовые последовательности основного и альтернативных путей следующим образом:

инициализируют массив метрик декодера Витерби априорными значениями метрик, предполагая, что все пути выходят из одного узла решетчатой диаграммы сверточного кода в начальный момент времени, полагают t=0;

формируют решетчатую диаграмму сверточного кода, где для каждого узла на глубине q=t+1 находят узлы-предшественники на глубине q=t, с которыми он соединен разрешенным переходом;

для каждого узла-предшественника вычисляют метрики путей, складывая метрику исходного узла-предшественника и метрику допустимого перехода;

обновляют метрику состояния путем выбора наименьшей метрики разрешенного пути в это состояние,

запоминают разрешенный переход с наименьшей метрикой;

повторяют вычисление метрик путей, обновление метрики состояния и запоминание разрешенного перехода с наименьшей метрикой до тех пор, пока не достигнут заданной глубины q=tmax;

выбирают известный финальный узел на глубине q=tmax;

отслеживают основной выживший путь, выполняя запомненные переходы по решетчатой диаграмме в обратном направлении, получают таким образом промежуточную кодовую последовательность из основного выжившего пути;

выполняют запомненные переходы из финального узла в обратном направлении до тех пор, пока следующему переходу не будут соответствовать кодовые символы, в одном из которых отображен i-й информационный символ;

выполняют переход по другому разрешенному пути в решетчатой диаграмме, отличному от того перехода, который был запомнен;

из текущего узла выполняют запомненные переходы по решетчатой диаграмме в обратном направлении до достижения начала решетчатой диаграммы, формируя альтернативный путь соответствующий i-му информационному символу;

для каждого информационного символа формируют свой альтернативный путь;

для основного пути и каждого пути из списка альтернативных путей получают промежуточную кодовую последовательность, причем промежуточные кодовые последовательности могут обрабатываться как параллельно, так и последовательно, до тех пор, пока в какой-либо восставленной информационной последовательности совпадет циклическая контрольная сумма CRC. В последовательном случае обработку начинают с восстановленной информационной последовательности, соответствующей основному выжившему пути. В качестве примера выполнения приведен параллельный вариант обработки.

Восстановленные промежуточные кодовые последовательности с выходов лист-декодера 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.

Проверяют полученные восстановленные информационные последовательности в блоках 271-27N проверки циклической контрольной суммы CRC, например, добавляя к поступившей на вход последовательности проверочный символ, который равен нулю, если проведенная проверка была успешной, и единица - если циклическая контрольная сумма CRC не совпала. Восстановленные и проверенные информационные последовательности поступают с выходов блоков 271-27N на входы блока 28 выбора, в котором заканчивают декодирование в случае совпадения циклической контрольной суммы CRC у какой-либо из этих последовательностей. Подают восстановленную проверенную информационную последовательность на выход блока 28, который является выходным сигналом приемного устройства.

Если ни одна из циклических контрольных сумм при проверке не совпала, то с выхода блока 28 возвращают восставленную информационную последовательность.

Для лучшего понимания заявляемого изобретения рассмотрим подробнее работу некоторых блоков.

На Фиг.8 показан блок 3 предварительного кодирования без обратной связи и несистематический кодер 5 сверточного кода и сумматор 19. Суть процедуры состоит в следующем. Все блоки 3 предварительного кодирования без обратной связи представляют собой каскады сверточного нерекурсивного кодирования, выполненные на одной линии задержки. Каждый из блоков нерекурсивного предварительного кодирования без обратной связи характеризуется рациональной функцией передачи, которые приведены на рисунке: или . Однако предварительное кодирование с обратной связью выполняют путем суммирования по псевдослучайному закону одного из выходов блоков предварительного кодирования без обратной связи, формируя промежуточную кодовую последовательность. Рекурсивное предварительное кодирование с обратной связью характеризуется своей функцией рациональной функцией передачи , зависящей от времени t, где t - целое g(t, D) число и , g0(D), g1(D) - рациональные функции передачи сверточного нерекурсивного кода, используемого для помехоустойчивого кодирования, а хt - двоичный символ псевдослучайной последовательности. В конце каждого пакета в линию задержки поступают предопределенные символы, обычной практикой является обнулять линию задержки нулями.

На Фиг.9 представлен упрощенный лист декодер к заявляемому изобретению, основанный на разрешенных переходах по решетчатой диаграмме сверточного кода, показанного на фиг.2. Стрелками показаны допустимые переходы в решетчатой диаграмме. Пути по диаграмме отслеживают в обратном, противоположном стрелкам, направлении, запоминая в каждом узле решетчатой диаграммы один из возможных переходов приведший в этот узел в соответствии с алгоритмом Витерби. Однако другой переход может быть легко восстановлен из структуры решетчатой диаграммы. Выполняя этот переход вместо запомненного перехода, формируют альтернативный путь. Остальные переходы в этом пути соответствуют запомненным путям в процессе декодирования Витерби. Жирной линией показан основной выживший путь, жирной прерывистой линией показаны альтернативные пути, соответствующие каждому информационному символу. Альтернативные пути показаны не до конца, остальные переходы в каждом из альтернативных путей соответствуют запомненным путям в процессе декодирования по алгоритму Витерби.

На Фиг.10 выполнен блок 24 обратного кодирования, где показано, что выделение информационной последовательности из восстановленного кодового слова осуществляют посредством ключа и далее в восстановленном кодовом слове выполняют проверку циклической контрольной суммы CRC. Блок 24 обратного кодирования идентичен блоку 5 кодирования.

Эффективность заявляемого изобретения подтверждена результатами компьютерного моделирования, которые приведены на фиг.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%.

Проведенный сравнительный анализ подтверждает преимущество заявляемого изобретения, которое заключается в повышении качества связи.

Заявляемое изобретение может быть использовано в цифровых системах радиосвязи 3-го поколения, использующих сверточное кодирование и кодирование по алгоритму Витерби.

1. Способ передачи голосовых данных в цифровой системе радиосвязи, заключающийся в том, что на передающей стороне формируют пакеты данных, каждый из которых содержит информационную последовательность символов, в каждом пакете данных дополняют информационную последовательность символов циклической контрольной суммой CRC, формируют промежуточную кодовую последовательность, для чего выполняют кодирование дополненной циклической контрольной суммой информационной последовательности каждого пакета данных сверточным рекурсивным кодом без внесения избыточности с рациональной функцией передачи , зависящей от времени t, где t - целое число и , g0(D), g1(D) - рациональные функции передачи сверточного нерекурсивного кода, используемого для помехоустойчивого кодирования, a xt - двоичный символ псевдослучайной последовательности, формируют решетчатую диаграмму нерекурсивного сверточного кода с рациональными функциями передачи g0(D), g1(D), где показаны все допустимые пути, соответствующие кодированным сигналам, добавляют к сформированной промежуточной кодовой последовательности, кодированной рекурсивным сверточным кодом, назначенные кодовые символы таким образом, чтобы для сформированной решетчатой диаграммы нерекурсивного сверточного кода с рациональными функциями передачи g0(D), g1(D), где показаны все допустимые пути, соответствующие кодированным сигналам, был известен единственный финальный узел на заданной глубине q=tmax, кодируют сформированную промежуточную кодовую последовательность нерекурсивным сверточным кодом с рациональными функциями передачи g0(D), g1(D), получая кодовое слово с отображенными информационными символами, передают кодовое слово по каналу, на приемной стороне выполняют демодуляцию входного сигнала, получая кодовое слово в мягких решениях, декодируют кодовое слово в мягких решениях посредством декодера Витерби, для чего инициализируют массив метрик декодера Витерби априорными значениями метрик, предполагая, что все пути выходят из одного узла решетчатой диаграммы сверточного кода в начальный момент времени, полагают t=0, формируют решетчатую диаграмму сверточного кода, где для каждого узла на глубине q=t+1 находят узлы-предшественники на глубине q=t, с которыми он соединен разрешенным переходом, для каждого узла-предшественника вычисляют метрики путей, складывая метрику исходного узла-предшественника и метрику допустимого перехода, обновляют метрику состояния путем выбора наименьшей метрики разрешенного пути в это состояние, запоминают разрешенный переход с наименьшей метрикой, повторяют вычисление метрик путей, обновление метрики состояния и запоминание разрешенного перехода с наименьшей метрикой до тех пор, пока не достигнут заданной глубины q=tmax, выбирают известный финальный узел, на глубине q=tmax, отслеживают основной выживший путь, выполняя запомненные переходы по решетчатой диаграмме в обратном направлении, получают таким образом промежуточную кодовую последовательность из основного выжившего пути, кодируют промежуточную кодовую последовательность нерекурсивным сверточным кодом с рациональными функциями передачи g0(D), g1(D), получая восстановленное кодовое слово, осуществляют выкалывание в восстановленном кодовом слове, где из каждой пары кодовых символов, соответствующих переходу в решетчатой диаграмме сверточного кода, на глубине q=t оставляют кодовый символ, определяемый рациональной функцией передачи gy(D), где у∈{0,1} и , а xt двоичный символ псевдослучайной последовательности, синхронизированный с двоичным символом псевдослучайной последовательности на передающей стороне, получая восстановленную информационную последовательность, и проверяют циклическую контрольную сумму CRC, в случае ее совпадения заканчивают декодирование, при несовпадении циклической контрольной суммы CRC формируют список альтернативных путей, для чего выполняют запомненные переходы из финального узла в обратном направлении до тех пор, пока следующему переходу не будут соответствовать кодовые символы, в одном из которых отображен i-й информационный символ, выполняют переход по другому разрешенному пути в решетчатой диаграмме, отличному от того перехода, который был запомнен, из текущего узла выполняют запомненные переходы по решетчатой диаграмме в обратном направлении до достижения начала решетчатой диаграммы, формируя альтернативный путь, соответствующий i-му информационному символу, для каждого информационного символа формируют свой альтернативный путь, для каждого пути из списка альтернативных путей получают промежуточную кодовую последовательность, кодируют промежуточную кодовую последовательность нерекурсивным сверточным кодом с рациональными функциями передачи g0(D), g1(D), осуществляют выкалывание в восстановленном кодовом слове, где из каждой пары кодовых символов, соответствующих переходу в решетчатой диаграмме сверточного кода, на глубине q=t оставляют кодовый символ, определяемый рациональной функцией передачи gy(D), где у∈{0,1} и , а xt двоичный символ псевдослучайной последовательности, синхронизированный с двоичным символом псевдослучайной последовательности на передающей стороне, получая восстановленную информационную последовательность символов, и проверяют циклическую контрольную сумму CRC, в случае ее совпадения заканчивают декодирование, возвращают информационную последовательность символов, соответствующую основному выжившему пути, если ни одна проверка циклической контрольной суммы CRC не совпала.

2. Устройство передачи голосовых данных в цифровой системе радиосвязи, содержащее передающее и приемное устройства, соединенные посредством канала, обеспечивающего передачу данных, причем передающее устройство содержит блок формирования циклической контрольной суммы CRC, сумматор, блок кодирования, первый и второй блоки предварительного кодирования без обратной связи, мультиплексор, генератор псевдослучайной последовательности ПСП и ключ, при этом вход блока формирования циклической контрольной суммы CRC является первым входом устройства - входом информационного сигнала, выход блока формирования циклической контрольной суммы CRC соединен с первым входом сумматора, выход которого соединен со входами блока кодирования и первого и второго блоков предварительного кодирования без обратной связи, первый и второй выходы блока кодирования соединены соответственно с первым и вторым входами мультиплексора, выход которого является выходом передающего устройства и соединен со входом канала, выходы первого и второго блоков предварительного кодирования без обратной связи соединены соответственно с первым и вторым входами ключа, третий вход которого соединен с выходом генератора ПСП, вход которого является вторым входом передающего устройства - входом управляющего сигнала синхронизации, выход ключа соединен со вторым входом сумматора, приемное устройство содержит лист-декодер, выполненный на основе декодера Витерби и формирующий список наиболее вероятных вариантов информационной последовательности, дополненной циклической контрольной суммой, N блоков обратного кодирования, N ключей, N блоков проверки циклической контрольной суммы и блок выбора, причем вход лист-декодера является первым входом приемного устройства - входом информационного сигнала, и соединен с выходом канала, N выходов лист-декодера соединены соответственно со входами N блоков обратного кодирования, первые и вторые выходы N блоков обратного кодирования соответственно соединены с первыми и вторыми входами N ключей, третьи входы которых соединены с выходами генератора ПСП, вход которого является вторым входом приемного устройства - входом управляющего сигнала синхронизации, выходы N ключей соединены соответственно со входами N блоков проверки циклической контрольной суммы, выходы которых соединены соответственно с N входами блока выбора, выход которого является выходом приемного устройства.



 

Похожие патенты:

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

Изобретение относится к вычислительной технике и может быть использовано в комбинационных устройствах, а также устройствах хранения и передачи информации. .

Изобретение относится к вычислительной технике и может быть использовано в комбинационных устройствах, а также устройствах хранения и передачи информации. .

Изобретение относится к вычислительной технике и может быть использовано в комбинационных устройствах, а также устройствах хранения и передачи информации. .

Изобретение относится к вычислительной технике и может быть использовано в комбинационных устройствах, а также устройствах хранения и передачи информации. .

Изобретение относится к вычислительной технике и может быть использовано в комбинационных устройствах, а также устройствах хранения и передачи информации. .

Изобретение относится к вычислительной технике и может быть использовано в комбинационных устройствах, а также устройствах хранения и передачи информации. .

Изобретение относится к вычислительной технике и может быть использовано в комбинационных устройствах, а также устройствах хранения и передачи информации. .

Изобретение относится к вычислительной технике и может быть использовано в комбинационных устройствах, а также устройствах хранения и передачи информации. .

Изобретение относится к вычислительной технике и может быть использовано в комбинационных устройствах, а также устройствах хранения и передачи информации. .

Изобретение относится к области радиосвязи, в частности к устройствам и способам определения логарифмического отношения правдоподобия (LLR) для турбокодов и метрики ветвления для сверточных кодов при использовании предварительного кодирования

Изобретение относится к системам мобильной связи с пакетной передачей данных, в частности к способу и устройству для передачи управляющей информации, необходимой для гибридного автоматического запроса повторной передачи

Изобретение относится к области электросвязи и может быть использовано в системах передачи дискретной информации для декодирования помехоустойчивого каскадного кода переменной длины

Изобретение относится к способу кодирования данных

Изобретение относится к области техники связи и может быть использовано в системах передачи данных, системах телеизмерения, телеуправления, в радиопередающей аппаратуре малых космических аппаратов и телеметрии дальнего космоса

Изобретение относится к области техники связи и может быть использовано в системах передачи данных, системах телеизмерения, телеуправления, в радиопередающей аппаратуре малых космических аппаратов и телеметрии дальнего космоса

Изобретение относится к устройство и способу для генерации кодов, имеющих переменную скорость передачи, с прямым исправлением ошибок в беспроводной системе передачи данных

Изобретение относится к технике связи и может быть использовано в системах передачи данных, преимущественно без обратной связи, для осуществления помехоустойчивого кодирования и декодирования информации каскадным кодом

Изобретение относится к устройству и способу кодирования/декодирования канала с использованием параллельного каскадного кода проверки на четность с низкой плотностью (LDPC)

Изобретение относится к технике цифровой связи, а именно к устройствам дескремблирования цифровых систем передачи информации с временным уплотнением цифровых потоков
Наверх