способ передачи данных и устройство для кодирования сигнала
Классы МПК: | H03M13/23 с использованием сверточных кодов, например кодов единичной памяти |
Автор(ы): | ПЕХКОНЕН Кари (FI) |
Патентообладатель(и): | НОКИА МОБАЙЛ ФОУНС ЛТД. (FI) |
Приоритеты: |
подача заявки:
1997-01-10 публикация патента:
20.10.2002 |
Изобретение относится к способу передачи данных и устройству для кодирования и декодирования сигнала, содержащему на стороне кодирования по меньшей мере два параллельных блока кодирования, а на стороне декодирования - по меньшей мере два параллельных блока декодирования. Каждый блок кодирования содержит определенное число регистров, каскадно соединенных между собой, и определенное число сумматоров, обеспечивающих суммирование выходных сигналов регистров с кодируемой информацией, и генератор Уолша-Адамара, входной сигнал которого соответствует выходным сигналам регистров, а выходной сигнал - символу Уолша, выбранному на основе его входных сигналов, причем входной сигнал каждого блока декодирования содержит принятый символ Уолша и информацию о достоверности принятого решения для символа, получаемую с других блоков декодирования. Технический результат, достигаемый при реализации заявленной группы изобретений, состоит в повышении пропускной способности и эффективности системы передачи данных. 2 с. и 7 з.п. ф-лы, 7 ил.
Рисунок 1, Рисунок 2, Рисунок 3, Рисунок 4, Рисунок 5, Рисунок 6, Рисунок 7
Формула изобретения
1. Способ передачи данных для передачи цифрового сигнала, включающий обработку передаваемого сигнала для минимизации ошибок передачи в канале, отличающийся тем, что кодирование сигнала осуществляют посредством совместного использования параллельного каскадного сверточного кодирования и суперортогонального сверточного кода, причем передаваемую информацию подвергают операции параллельного каскадного сверточного кодирования, в результате чего формируют биты, обеспечивающие выбор одной из суперортогональных передаваемых последовательностей, при этом число передаваемых последовательностей равно числу параллельных блоков сверточного кодирования. 2. Способ по п.1, отличающийся тем, что он дополнительно включает подачу передаваемой информации на два или более параллельных блоков кодирования таким образом, чтобы информация, подаваемая на каждый блок кодирования, перемежалась различным образом, осуществление рекурсивным образом сверточного кодирования передаваемой информации в каждом блоке кодирования на основе предварительно определенных полиномов генератора, при этом сигнал с выхода каждого блока кодирования отображают в виде функции Уолша или дополнительного к ней значения функции. 3. Способ по п.2, отличающийся тем, что бит исходных данных определяет тот факт, передается ли функция Уолша или дополнительная к ней функция. 4. Способ по п. 2, отличающийся тем, что бит в выходном сигнале блока сверточного кодирования определяет тот факт, передается ли функция Уолша или дополнительная к ней функция. 5. Способ по п.1, отличающийся тем, что он дополнительно включает итеративное декодирование принятого сигнала с помощью двух или более параллельных блоков декодирования, которые формируют в дополнение к декодированному биту информацию о достоверности принятого решения, при этом информацию о достоверности принятого решения для каждого итерационного цикла подают на другие параллельные блоки декодирования. 6. Способ по п.2 или 5, отличающийся тем, что принимаемые функции Уолша или дополнительные к ним функции подают на соответствующий параллельный блок декодирования, при этом информацию, формируемую каждым блоком декодирования, относительно надежности принятого решения перемежают и подают на другие параллельные блоки декодирования и используют упомянутую информацию в очередном итерационном цикле. 7. Способ по п.6, отличающийся тем, что эффект от воздействия информации, передаваемой с параллельного блока декодирования, исключают из информации достоверности перед ее подачей на другие блоки декодирования. 8. Устройство для кодирования и декодирования цифрового сигнала, содержащее на стороне кодирования по меньшей мере два параллельных блока кодирования (600,602), на вход которых подается передаваемая информационная последовательность (604), которая перемежается таким образом, чтобы данные для каждого блока кодирования (600,602) имели различный вид, и содержащее на стороне декодирования по меньшей мере два параллельных блока декодирования (700,702), отличающееся тем, что на стороне кодирования каждый параллельный блок кодирования (600,602) включает в себя средства рекурсивного турбокодирования, которые состоят из группы регистров (612а-618а), соединенных между собой каскадно, на каждую группу подается кодируемая информация, группу средств суммирования (620а-626а), соединение которых зависит от заданного полинома генератора, и которые суммируют выходные сигналы регистров (612а-618а) с кодируемой информацией, а также генератор Уолша-Адамара (628), входной сигнал которого соответствует выходным сигналам регистров (612а-618а), а выходной сигнал (608) - символу Уолша или его дополнению, выбираемым на основе входных сигналов генератора Уолша-Адамара (628а), а на стороне декодирования входной сигнал (704,706) каждого параллельного блока декодирования (700,702) включает в себя принятый символ Уолша или его дополнение и информацию достоверности (718,720) принятого решения для символа, полученную от других параллельных блоков декодирования. 9. Устройство по п.8, отличающееся тем, что на стороне кодирования кодируемая информация (530а) подается на вход генератора Уолша-Адамара (628а), причем упомянутая информация указывает на то, представлен ли выходной сигнал (608) генератора Уолша-Адамара символом Уолша или его дополнением.Описание изобретения к патенту
Настоящее изобретение относится к способу передачи данных, предназначенному для передачи цифрового сигнала и заключающемуся в обработке сигнала, подлежащего передаче, для минимизации ошибок передач, возникающих в канале. Характеристика известного уровня техникиВ линиях передачи данных канал передачи, используемый для передачи сигналов, как известно, является источником возникновения телекоммуникационных помех. Эти помехи появляются вне зависимости от физических характеристик канала передачи, т.е. вне зависимости от того, является ли этот канал каналом радиосвязи, каналом оптиковолоконной связи или выполнен на основе медного кабеля. Для того, чтобы уменьшить эффект влияния помех, вызываемых каналом передачи, цифровой сигнал кодируется таким образом, чтобы соединение было осуществлено более надежно. В подобном случае ошибки в передаваемых сигналах, вызываемые помехами в канале, могут соответствующим образом обнаруживаться и корректироваться, исключая необходимость повторной передачи этих сигналов, последнее в зависимости от используемого способа кодирования. Традиционные способы кодирования, используемые в области цифровой связи, включают в себя блочное кодирование и сверточное кодирование. При блочном кодировании кодируемые биты группируются в блоки, и биты четности добавляются в конце блоков таким образом, чтобы корректность битов в предшествующем блоке можно было проконтролировать с помощью этих битов четности. При сверточном кодировании биты четности помещаются среди битов данных так, что кодирование осуществляется непрерывно. Биты данных в этом случае не группируются в блоки, а биты четности не связаны с непосредственно предшествующими им битами данных, а распределяются в группе битов определенной длины, при этом число битов этой группы принято называть характеристическим размером сверточного кода. Устройства сверточного кодирования и декодирования широко используются в технике. Подобное устройство кодирования, например, может быть выполнено на сдвиговых регистрах. Известен способ, который объединяет в себе принципы сверточного кодирования и многоуровневой ортогональной модуляции (cм. Very Low Rate Convolutional Codes for Maximum Theoretical Performance of Spread-Spectrum Multiple-Access Channels, Viterbi, IEEE Journal on Selected Areas in Communications, v. 8, 4, May 1990, p. 641-649). В этом способе кодирование осуществляется, как показано на фиг.1, где устройство кодирования состоит из k-разрядного блока сверточного кодирования на сдвиговом регистре 100 и формирует на выходе m кодовых битов 106, которые используются для управления модулятором 102 ортогонального типа, на выходе которого обеспечивается формирование одного из М=2m возможных ортогональных символов, который проиллюстрирован в виде параллельной посылки, содержащей М битов. Эта группа М-уровневых ортогональных сигналов может быть, например, представлена группой М-уровневых сигналов Уолша. На фиг.2 показано устройство декодирования, реализующее способ в соответствии с изложенным в упомянутой выше работе и содержащее демодулятор 200 М-уровневого типа, который может быть построен, например, на основе группы корреляторов или схемы преобразования Уолша-Адамара; на выходе этого демодулятора формируется М значений 204 корреляции, которые передаются на декодер Витерби 202. В патенте США 5193094 описан способ, аналогичный описанному выше способу, согласно которому первый и последний биты выходного значения сдвигового регистра подаются на вход логического элемента "исключающее ИЛИ", сигнал с выхода которого передается, совместно с сигналом с выхода ортогонального модулятора, на другой логический элемент "исключающее ИЛИ", сигнал с выхода которого и соответствует символу, подлежащему передаче. В работе Near Shannon limit error-correcting coding and decoding: Turbo-codes by Berrou, C., Glavieux, A., Thitimajshima, P., IEEE International Conf. on Communications, ICC"93, Geneva, Switzerland 23-26 May, 1993, v. 2, p. 1064-1070 описан способ параллельного каскадного сверточного кодирования. Подобные коды часто еще называют турбокодами. Эффективность турбокодов применительно к каналам с аддитивным белым гауссовым шумом является весьма высокой. Кодирование осуществляется с использованием двух или более параллельных устройств кодирования, при этом сигналы, вводимые в устройства кодирования, перемежаются для получения независимого потока данных. Недостатком известных способов является то, что они требуют отношения сигнал/шум для принимаемого сигнала более высокого, чем в настоящем изобретении, для достижения необходимого качества передачи. Сущность изобретения
Задачей изобретения является создание способа кодирования, который бы обладал лучшими свойствами по сравнению с известными способами и который бы позволил улучшить пропускную способность и эффективность системы передачи данных, в частности систем многостанционного доступа с кодовым разделением каналов (МДКР). Указанный результат достигается с помощью способа, аналогичного описанному выше и отличающегося тем, что кодирование сигналов осуществляется с использованием параллельного каскадного сверточного кодирования и суперортогонального сверточного кода. Настоящее изобретение также относится к устройству для кодирования и декодирования цифрового сигнала, причем устройство на стороне кодирования содержит, по меньшей мере, два параллельных кодера, на вход которых подается передаваемая последовательность данных, сформированная с перемежением так, что данные на вход каждого кодера подаются в разном порядке и, по меньшей мере, два параллельных декодера. Устройство в соответствии с настоящим изобретением отличается тем, что на стороне кодирования каждый параллельный кодер содержит группу регистров, которые соединены каскадно и на входы которых подается кодируемая информация, и группу средств суммирования, подсоединения которых зависят от заданного полинома генератора и которые суммируют выходные сигналы регистров с кодируемыми данными, и средство отображения, вход которого образован выходами регистров, а на выходе средства отображения формируется символ Уолша или его дополнение, выбираемые на основе входных сигналов средства преобразования, а на стороне декодирования на вход каждого параллельного декодера подается принятый символ Уолша или его дополнение и информация о достоверности решения для этого символа, принятая от других параллельных декодеров. Способ, соответствующий изобретению, обеспечивает более высокую пропускную способность по сравнению с известными способами кодирования. В способе, соответствующем изобретению, кодирование выполняется рекурсивно, а декодирование выполняется итеративно, при этом степень сложности реализации зависит от реализуемого числа циклов итераций. В устройстве, соответствующем изобретению, можно использовать весьма низкие скорости кода (1/N, N>>1). Способ, соответствующий изобретению, особенно эффективен для систем МДКР, когда несколько пользователей осуществляют передачу в одном частотном канале, скорость передачи данных в котором различается относительно используемой скорости передачи битов данных. Краткое описание чертежей
Ниже настоящее изобретение будет более подробно описано со ссылками на примеры его реализации, иллюстрируемые с помощью чертежей, на которых изображено следующее:
фиг. 1 и 2 - схемы описанных выше устройств кодирования и декодирования, соответствующие известному уровню техники;
фиг.3 - структура устройства кодирования, использующего турбокод;
фиг. 4а и 4b - иллюстрация решетчатой структуры для бинарного и суперортогонального кода;
фиг.5а и 5b - матрицы Адамара;
фиг. 6 - структурная схема устройства кодирования, реализующего способ в соответствии с настоящим изобретением;
фиг. 7 - структурная схема устройства декодирования, реализующего способ в соответствии с настоящим изобретением. Описание предпочтительных вариантов осуществления настоящего изобретения
В устройстве, соответствующем настоящему изобретению, канальное кодирование сигналов реализуется посредством совместного использования параллельного каскадного сверточного кодирования и суперортогонального сверточного кода. Ниже устройство, соответствующее настоящему изобретению, будет описано сначала путем рассмотрения параллельного каскадного сверточного кодирования, а затем уже совместного кодирования в соответствии с настоящим изобретением. Пример турбокодирования рассмотрен на основе кодовой структуры, показанной на фиг.3. Устройство кодирования для случая использования турбокода состоит из двух или большего числа средств каскадного сверточного кодирования 300, 302, которые функционируют параллельным образом. На фиг.3 показаны, для примера, два параллельных кодера, которые характеризуются полиномами генератора вида g1=37 и g2=21 (в восьмеричном представлении). Первый кодер 300 осуществляет непосредственную обработку передаваемой последовательности битов данных D = (d0, d1,...,dN-1) 304. На выходе этого кодера формируются одновременно текущая информация хk 306 и
рекурсивно кодированная избыточная информация y1k 310. В результате операция кодирования в этом случае носит систематический характер. Текущая информация определенным образом перемежается (308) с целью формирования независимого информационного потока перед тем, как она подается на второй кодер 302, на выходе которого формируется рекурсивно вычисленная избыточная информация y2k 312. Ниже рассматривается способ суперортогонального кодирования. Способ суперортогонального кодирования в том виде, в котором он известен в данной области техники, описан применительно к системам МДКР Principles of spread spectrum communication by Viterbi, A., Addison-Wesley Publishing Company, 1995, p. 155-166. На фиг.4а показана часть решетчатой диаграммы для случая двоичного сверточного кода с длиной ограничения L = 4. На фиг.4а также проиллюстрированы состояния соответствующих выходов. Каждая ветвь диаграммы характеризуется 8 состояниями, причем две ветви сливаются в каждом состоянии и две ветви выходят из каждого состояния. Если используемый код представлен кодом скорости 1/2, кодер обеспечивает для каждого состояния одну из последовательностей в виде 00, 01, 10 или 11. Поскольку всего имеет место 8 состояний и 16 различных переходов, одинаковые последовательности могут использоваться достаточно часто. Упомянутая скорость кода может быть снижена за счет использования последовательностей большей длины, так, что все выходные последовательности будут взаимно ортогональными, т. е. корреляция между последовательностями равна нулю. Можно использовать, например, строки матрицы Адамара H16. При этом имеют место 16 переходов из одного состояния в другое. Таким образом, можно задавать одну строку матрицы Адамара H16 для одного перехода. В этом случае все входные и выходные последовательности для состояний являются ортогональными, что приводит к увеличению ширины полосы. Скорость кода при этом составляет 1/16. Вышеописанный код может быть дополнительно усовершенствован посредством использования матрицы Адамара 8, которая формируется из последовательностей, образуемых в результате умножения матрицы Н8 (-1). Подобные матрицы проиллюстрированы на фиг.5а и 5b. В результате получают биортогональную группу из 16 последовательностей. Однако все последовательности являются взаимно биортогональными. Свойством взаимной биортогональности будут обладать лишь 8 пар последовательностей, которые одновременно будут ортогональными по отношению к другим 14 последовательностям. Если последовательности сформированы таким образом, что переходы из одного и того же состояния обеспечиваются взаимно биортогональными последовательностями, пропускная способность может быть повышена. Скорость кода для такого биортогонального кода составляет 1/8. Описанный выше код может быть дополнительно усовершенствован посредством задания последовательностей таким образом, чтобы переходы для соседних состояний характеризовались одними и теми же биортогональными последовательностями. Они должны быть поставлены в соответствие различным переходам, так, чтобы входящие и исходящие переходы носили биортогональный характер. Подобный подход проиллюстрирован на фиг.4 b. Скорость кода при этом может быть увеличена до 1/4, поскольку оказывается возможным использовать матрицу Адамара Н4 и дополнительные к ней матрицы, которые совместно обеспечивают достаточное число последовательностей. Упоминающаяся здесь дополнительная матрица представляет собой матрицу, в которой значения "1" преобразованы к виду "-1" и наоборот. В результате подобных операций формируется так называемый суперортогональный код. Далее рассмотрим процедуру, в соответствии с настоящим изобретением, используемую для целей кодирования сигналов в канале на основе использования устройства кодирования, показанной на фиг.6. На фиг.6 в упрощенной форме проиллюстрирована процедура кодирования, в соответствии с настоящим изобретением, однако для специалиста в данной области техники очевидно, что могут быть реализованы и другие варианты осуществления настоящего изобретения. В соответствии со способом по настоящему изобретению, передаваемая информационная последовательность подается на два или более параллельных блока кодирования, два из которых показаны на фиг.6 (600, 602). На блок кодирования 602 информация подается после выполнения операции перемежения (блок 606). Каждый блок кодирования содержит средства рекурсивного турбокодирования, которые включают в себя группу регистров 612а-618а, соответственно 612b-618b, группу средств суммирования в виде сумматоров 622а-626а, соответственно 622b-626b. Свойство рекурсивности обеспечивается путем подачи сигналов с выходов регистров на сумматор 620а, 620b, где они суммируются с кодируемой информационной последовательностью. В примере по фиг.6 полином генератора соответствует 37 (в восьмеричном представлении), а характеристический размер b= 5. Каждый кодер дополнительно содержит средство отображения 628 а и 628b, например в виде генератора Уолша-Адамара, который формирует определенную строку матрицы Адамара на основе состояний регистров 612а-618а и 612b-618b. Формируемые последовательности, т.е. символы Уолша и их дополнения 608, 619 передаются затем на последующие схемы передающего устройства для передачи в канал. В примере по фиг.6 матрица Адамара представлена матрицей H8 или дополнительной ей матрицей. Управление генератором может осуществляться таким образом, чтобы регистры определяли строку матрицы Адамара, а бит данных 630а, 630и определял знак матрицы, т.е. используется ли собственно матрица Адамара или ее дополнение. Указанный бит данных может также выделяться с выхода сумматора 620а или может представлять собой другой выходной бит блока сверточного кодирования. Скорость кодирования для процедуры в соответствии с настоящим изобретением составляет, таким образом, 1/2L-1. Средство отображения (генератор Уолша-Адамара) может быть реализовано, например, на основе элемента памяти или процессора. Рассмотрим соответствующую изобретению процедуру декодирования кодированных сигналов в канале с помощью блок-схемы, показанной на фиг.7. В устройстве согласно настоящему изобретению средство декодирования содержит два или более параллельных блока декодирования, два из которых показаны на фиг.7 (700, 702). Каждый блок декодирования принимает на входе символ Уолша или его дополнение 704, 706, поступающий из канала. Упомянутый символ Уолша может относиться как к собственно символу Уолша, так и к его дополнению. В устройстве, соответствующем настоящему изобретению, блок декодирования формирует в дополнение к решению для символа на выходах 708, 710 информацию относительно достоверности принятого решения 718, 720. Эта информация о достоверности поступает на параллельные блоки декодирования в качестве вспомогательной информации, которую последние могут использовать при декодировании символа Уолша. Поскольку биты данных, поступающие на параллельные блоки декодирования, предварительно (на этапе их передачи) перемежаются, эти блоки декодирования должны также реализовывать функцию перемежения (712, 714), а при передаче информации между ними должна реализовываться функция, обратная функции перемежения. Соответственно функция, обратная функции перемежения, должна также реализовываться на выходе декодирования 702, на вход которого подается символ Уолша 706, полученный из данных с перемежением. Рассмотрим операцию декодирования с самого начала. Блок декодирования 700 принимает первый символ Wi. В этот момент средство декодирования еще не имеет информации о достоверности с параллельного блока декодирования 702, в результате чего инициализируется определенная входная величина Zk, зависящая от типа используемого алгоритма декодирования. Блок декодирования принимает решение относительно типа символа, а также вычисляет показатель достоверности решения. В блоке декодирования можно использовать известные в данной области техники алгоритмы принятия решений (см., например, Optimal decoding of linear codes for minimizing symbol error rate, Bahl.L., Cocke,J., Jelinek, F., Raviv,J., IEEE Transactions on Information Theory, March 1974, pp. 284-287). Блоки декодирования могут быть реализованы, например, на основе сигнального процессора или на основе другого соответствующего логического блока. Информация о показателях достоверности 718 подвергается операции перемежения и передается на вход параллельного блока декодирования 702, который осуществляет обработку полученного символа Уолша Wj, поступающего на его вход, и использует полученную информацию о достоверности Zn. Блок декодирования 702 принимает решение, а также вычисляет информацию достоверности. Далее величина Zn исключается из информации о показателях достоверности и результат 720 передается, после выполнения операции, обратной операции перемежения 714, на параллельный блок декодирования 700, который может, в свою очередь, осуществить повторную обработку первого символа W, на основе использования поступающей на его вход вспомогательной информации Zk. Операция декодирования, таким образом, реализуется итеративным путем посредством ее повторения требуемое число раз. Полученное решение для символа может быть получено с выходов 708, 710. Хотя изобретение было описано со ссылками на его пример реализации, иллюстрируемый чертежами, ясно, что объем изобретения не ограничивается приведенным примером и что в него могут вноситься многочисленные модификации без изменения объема изобретения, определяемого формулой изобретения.
Класс H03M13/23 с использованием сверточных кодов, например кодов единичной памяти