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

Классы МПК:H03M13/27 с использованием техники чередования
Автор(ы):, ,
Патентообладатель(и):МОТОРОЛА, ИНК. (US)
Приоритеты:
подача заявки:
2007-11-12
публикация патента:

Изобретение относится к кодированию и декодированию данных, в частности к способу и устройству турбокодирования и турбодекодирования. При осуществлении способов и устройства для турбокодирования при работе турбокодера (101) размер турбоперемежителя (201) определяется в зависимости от размера информационного блока, и выбираются соответствующие параметры перемежения. Эти параметры конфигурируют турбоперемежитель, который представляет собой бесконфликтный перемежитель и который основывается на перемежителе с перестановкой с использованием квадратного многочлена QPP или перемежителе с почти регулярной перестановкой ARP. Если размер информационного блока не совпадает с поддерживаемым размером перемежителя, тогда информационный блок заполняется при помощи вставки битов заполнителя. Технический результат - обеспечение высокого уровня параллельной обработки без конфликтов при обращении к памяти. 6 н. и 2 з.п. ф-лы, 6 ил., 3 табл. способ и устройство кодирования и декодирования данных, патент № 2437208

способ и устройство кодирования и декодирования данных, патент № 2437208 способ и устройство кодирования и декодирования данных, патент № 2437208 способ и устройство кодирования и декодирования данных, патент № 2437208 способ и устройство кодирования и декодирования данных, патент № 2437208 способ и устройство кодирования и декодирования данных, патент № 2437208 способ и устройство кодирования и декодирования данных, патент № 2437208

Формула изобретения

1. Способ работы турбокодера, причем способ содержит этапы:

приема информационного блока размера K;

определения размера K' перемежителя, который связан с K'', где K'' из набора размеров; причем набор размеров содержит K''=ap·f, pminспособ и устройство кодирования и декодирования данных, патент № 2437208 pспособ и устройство кодирования и декодирования данных, патент № 2437208 pmax; fminспособ и устройство кодирования и декодирования данных, патент № 2437208 fспособ и устройство кодирования и декодирования данных, патент № 2437208 fmax, где a представляет собой целое число, f представляет собой постоянное целое число между fmin и fmax, и p принимает целочисленные значения между pmin и pmax, a>1, pmax>p min, pmin>1, и набор не содержит никаких других K'' в диапазоне способ и устройство кодирования и декодирования данных, патент № 2437208

заполнения информационного блока размера K во входной блок размера K'; и

перемежения входного блока, используя перемежитель размера K', причем этап перемежения входного блока содержит этап использования перестановки способ и устройство кодирования и декодирования данных, патент № 2437208 (i)=(f1·i+f2·i2 )modK', где 0способ и устройство кодирования и декодирования данных, патент № 2437208 iспособ и устройство кодирования и декодирования данных, патент № 2437208 K'-1 представляет собой последовательный индекс положений символа после перемежения, способ и устройство кодирования и декодирования данных, патент № 2437208 (i) представляет собой индекс символа перед перемежением, соответствующий положению i, K' представляет собой размер перемежителя в символах, и f1 и f2 представляют собой коэффициенты, определяющие перемежитель;

кодирования исходного входного блока и перемеженного входного блока для получения блока кодового слова; и

передачи блока кодового слова по каналу.

2. Способ по п.1, в котором значения K', f1, f2 берут из, по меньшей мере, одной строки следующей таблицы;

способ и устройство кодирования и декодирования данных, патент № 2437208

3. Способ работы турбокодера, причем способ содержит этапы:

приема входного блока размера K' и

кодирования входного блока, используя перемежитель размера K' и перестановку способ и устройство кодирования и декодирования данных, патент № 2437208 (i)=(iP0+A+d(i))modK', где 0способ и устройство кодирования и декодирования данных, патент № 2437208 iспособ и устройство кодирования и декодирования данных, патент № 2437208 K'-1 представляет собой последовательный индекс положений бита после перемежения, способ и устройство кодирования и декодирования данных, патент № 2437208 (i) представляет собой индекс бита перед перемежением, соответствующий положению i, P0 представляет собой число, которое является относительно простым для K', А представляет собой постоянную, равную 3, C представляет собой небольшое число, которое делит K', и d(i) представляет собой вектор возмущения вида d(i)=способ и устройство кодирования и декодирования данных, патент № 2437208 (imodC)+P0·способ и устройство кодирования и декодирования данных, патент № 2437208 (imodC), где способ и устройство кодирования и декодирования данных, патент № 2437208 (способ и устройство кодирования и декодирования данных, патент № 2437208 ) и способ и устройство кодирования и декодирования данных, патент № 2437208 (способ и устройство кодирования и декодирования данных, патент № 2437208 ) представляют собой векторы, каждый длиной С, периодически применяемые для 0способ и устройство кодирования и декодирования данных, патент № 2437208 iспособ и устройство кодирования и декодирования данных, патент № 2437208 K'-1, и значения K', C, P0, способ и устройство кодирования и декодирования данных, патент № 2437208 (способ и устройство кодирования и декодирования данных, патент № 2437208 ) и способ и устройство кодирования и декодирования данных, патент № 2437208 (способ и устройство кодирования и декодирования данных, патент № 2437208 ) берутся, по меньшей мере, из одной строки нижеследующей таблицы:

когда длина цикла C=4,

способ и устройство кодирования и декодирования данных, патент № 2437208 =

способ и устройство кодирования и декодирования данных, патент № 2437208 ;

способ и устройство кодирования и декодирования данных, патент № 2437208

когда длина цикла C=8,

способ и устройство кодирования и декодирования данных, патент № 2437208 =

способ и устройство кодирования и декодирования данных, патент № 2437208 ;

способ и устройство кодирования и декодирования данных, патент № 2437208

способ и устройство кодирования и декодирования данных, патент № 2437208

4. Способ работы турбокодера, причем способ содержит этапы:

приема входного блока размера K' и

кодирования входного блока, используя перемежитель размера K' и перестановку способ и устройство кодирования и декодирования данных, патент № 2437208 (i)=(f1·i+f2·i2 )modK', где 0способ и устройство кодирования и декодирования данных, патент № 2437208 iспособ и устройство кодирования и декодирования данных, патент № 2437208 K'-1 представляет собой последовательный индекс положений символа после перемежения, способ и устройство кодирования и декодирования данных, патент № 2437208 (i) представляет собой индекс символа перед перемежением, соответствующий положению i, K' представляет собой размер перемежителя в символах, и f1 и f2 представляют собой коэффициенты, определяющие перемежитель, и значения K', f1, f2 берут, по меньшей мере, из одной строки нижеследующей таблицы:

способ и устройство кодирования и декодирования данных, патент № 2437208

5. Устройство для работы турбокодера, причем устройство содержит:

схему определения размера перемежителя, которая определяет размер K' перемежителя, который связан с K'', где K'' из набора размеров; причем набор размеров содержит K''=ap·f, pmin способ и устройство кодирования и декодирования данных, патент № 2437208 pспособ и устройство кодирования и декодирования данных, патент № 2437208 pmax; fminспособ и устройство кодирования и декодирования данных, патент № 2437208 fспособ и устройство кодирования и декодирования данных, патент № 2437208 fmax, где a представляет собой целое число, f представляет собой постоянное целое число между fmin и fmax, и p принимает целочисленные значения между pmin и pmax, a>1, pmax>p min, pmin>1, и набор не содержит никаких других K'' в диапазоне способ и устройство кодирования и декодирования данных, патент № 2437208

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

перемежитель, перемежающий входной блок размера K', причем перемежитель использует перестановку способ и устройство кодирования и декодирования данных, патент № 2437208 (i)=(f1·i+f2·i2 )modK', где 0способ и устройство кодирования и декодирования данных, патент № 2437208 iспособ и устройство кодирования и декодирования данных, патент № 2437208 K'-1 представляет собой последовательный индекс положений символа после перемежения, способ и устройство кодирования и декодирования данных, патент № 2437208 (i) представляет собой индекс символа перед перемежением, соответствующий положению i, K' представляет собой размер перемежителя в символах, и f1 и f2 представляют собой коэффициенты, определяющие перемежитель; и

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

6. Устройство по п.5, где значения K', f1, f2 берутся, по меньшей мере, из одной строки нижеследующей таблицы:

способ и устройство кодирования и декодирования данных, патент № 2437208

7. Устройство для работы турбокодера, причем устройство содержит:

приемную схему, которая принимает входной блок размера K'; и

кодер, который кодирует входной блок, используя перемежитель размера K' и перестановку способ и устройство кодирования и декодирования данных, патент № 2437208 (i)=(iP0+A+d(i))modK', где 0способ и устройство кодирования и декодирования данных, патент № 2437208 iспособ и устройство кодирования и декодирования данных, патент № 2437208 K'-1 представляет собой последовательный индекс положений бита после перемежения, способ и устройство кодирования и декодирования данных, патент № 2437208 (i) представляет собой индекс бита перед перемежением, соответствующий положению i, P0 представляет собой число, которое является относительно простым для K', А представляет собой постоянную, равную 3, C представляет собой небольшое число, которое делит K', и d(i) представляет собой вектор возмущения вида d(i)=способ и устройство кодирования и декодирования данных, патент № 2437208 (imodC)+P0·способ и устройство кодирования и декодирования данных, патент № 2437208 (imodC), где способ и устройство кодирования и декодирования данных, патент № 2437208 (способ и устройство кодирования и декодирования данных, патент № 2437208 ) и способ и устройство кодирования и декодирования данных, патент № 2437208 (способ и устройство кодирования и декодирования данных, патент № 2437208 ) представляют собой векторы, каждый длиной С, периодически применяемые для 0способ и устройство кодирования и декодирования данных, патент № 2437208 iспособ и устройство кодирования и декодирования данных, патент № 2437208 K'-1, и значения K', C, P0, способ и устройство кодирования и декодирования данных, патент № 2437208 (способ и устройство кодирования и декодирования данных, патент № 2437208 ) и способ и устройство кодирования и декодирования данных, патент № 2437208 (способ и устройство кодирования и декодирования данных, патент № 2437208 ) берутся, по меньшей мере, из одной строки нижеследующей таблицы:

когда длина цикла C=4,

способ и устройство кодирования и декодирования данных, патент № 2437208 =

способ и устройство кодирования и декодирования данных, патент № 2437208 ;

способ и устройство кодирования и декодирования данных, патент № 2437208

когда длина цикла C=8,

способ и устройство кодирования и декодирования данных, патент № 2437208 =

способ и устройство кодирования и декодирования данных, патент № 2437208 ;

способ и устройство кодирования и декодирования данных, патент № 2437208

способ и устройство кодирования и декодирования данных, патент № 2437208

8. Устройство для работы турбокодера, причем устройство содержит:

приемную схему, которая принимает входной блок размера K'; и

кодер, который кодирует входной блок, используя перемежитель размера K' и перестановку способ и устройство кодирования и декодирования данных, патент № 2437208 (i)=(f1·i+f2·i2 )modK', где 0способ и устройство кодирования и декодирования данных, патент № 2437208 iспособ и устройство кодирования и декодирования данных, патент № 2437208 K'-1 представляет собой последовательный индекс положений символа после перемежения, способ и устройство кодирования и декодирования данных, патент № 2437208 (i) представляет собой индекс символа перед перемежением, соответствующий положению i, K' представляет собой размер перемежителя в символах, и f1 и f2 представляют собой коэффициенты, определяющие перемежитель, и значения K', f1, f2 берутся, по меньшей мере, из одной строки нижеследующей таблицы:

способ и устройство кодирования и декодирования данных, патент № 2437208

Описание изобретения к патенту

Область техники, к которой относится изобретение

Настоящее изобретение относится, в основном, к кодированию и декодированию данных, в частности к способу и устройству турбокодирования и турбодекодирования.

Уровень техники

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

Одним методом, используемым для коррекции ошибок, является турбокодирование информационного блока, перед тем как он будет передан по каналу. Используя такой метод, кодер в передатчике системы связи кодирует входной блок u длины K' битов в блок x кодового слова из N битов. Блок кодового слова затем передается по каналу, возможно после дополнительной обработки, такой как канальное перемежение, как определено в спецификациях Института инженеров по электротехнике и радиоэлектронике IEEE 802 16е. В приемнике турбодекодер принимает вектор y принятого сигнала длины N в качестве входа и генерирует оценку способ и устройство кодирования и декодирования данных, патент № 2437208 вектора u.

Обычно турбокодер состоит из двух составных сверточных кодеров. Первый составной кодер принимает входной блок u в качестве входа в его исходном порядке, и второй составной кодер принимает входной блок u в его перемеженном порядке после пропускания u через турбоперемежитель способ и устройство кодирования и декодирования данных, патент № 2437208 . Выходной сигнал x турбокодера состоит из систематических битов (равных входному блоку u), битов контроля четности от первого составного кодера и битов контроля четности от второго составного кодера.

Соответственно, турбодекодер в приемнике системы связи состоит из двух составных сверточных декодеров, один для каждого составного кода. Составные декодеры разделяются перемежителем способ и устройство кодирования и декодирования данных, патент № 2437208 и соответствующим деперемежителем способ и устройство кодирования и декодирования данных, патент № 2437208 -1. Сообщения в формате логарифмических отношений правдоподобия (LLR) пропускаются между составными декодерами итеративно. Решение способ и устройство кодирования и декодирования данных, патент № 2437208 принимается после нескольких итераций.

Турбоперемежитель способ и устройство кодирования и декодирования данных, патент № 2437208 является ключевым компонентом в турбокодовой конструкции. Он отвечает за скремблирование входного блока u псевдослучайным образом, таким образом обеспечивая кодовые слова x с хорошим распределением весов, следовательно, с хорошими возможностями исправления ошибок. В дополнение к рабочим характеристикам декодирования определение турбоперемежителя способ и устройство кодирования и декодирования данных, патент № 2437208 в значительной степени оказывает влияние на реализацию турбодекодера в приемнике. Чтобы сделать возможным высокий уровень параллельной обработки без конфликтов при обращении к памяти, турбоперемежитель способ и устройство кодирования и декодирования данных, патент № 2437208 должен иметь бесконфликтные свойства.

Краткое описание чертежей

Фиг.1 представляет собой блок-схему передатчика.

Фиг.2 представляет собой блок-схему турбокодера по фиг.1.

Фиг.3 представляет собой блок-схему приемника.

Фиг.4 представляет собой блок-схему турбодекодера по фиг.4.

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

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

Подробное описание чертежей

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

Во время работы принимается информационный блок размера K. Определяется размер K' перемежителя, где K' связан с Kспособ и устройство кодирования и декодирования данных, патент № 2437208 , где Kспособ и устройство кодирования и декодирования данных, патент № 2437208 из набора размеров; причем набор размеров содержит Kспособ и устройство кодирования и декодирования данных, патент № 2437208 =ap×f, pminспособ и устройство кодирования и декодирования данных, патент № 2437208 pспособ и устройство кодирования и декодирования данных, патент № 2437208 pmax; fminспособ и устройство кодирования и декодирования данных, патент № 2437208 fспособ и устройство кодирования и декодирования данных, патент № 2437208 fmax, где a представляет собой целое число, f представляет собой постоянное целое число между fmin и fmax, и p принимает целочисленные значения между pmin и pmax, a>1, pmax >pmin, pmin>1. Информационный блок размера K заполняется во входной блок размера K'. Входной блок перемежается с использованием перемежителя размера K'. Исходный входной блок и перемеженный входной блок кодируются для получения блока кодового слова. Блок кодового слова передается по каналу.

В другом варианте осуществления настоящего изобретения этап определения размера K' перемежителя, который связан с Kспособ и устройство кодирования и декодирования данных, патент № 2437208 , содержит этап использования K'=Kспособ и устройство кодирования и декодирования данных, патент № 2437208 .

В еще другом варианте осуществления настоящего изобретения этап определения размера K' перемежителя, который связан с Kспособ и устройство кодирования и декодирования данных, патент № 2437208 , содержит этап использования K'=Kспособ и устройство кодирования и декодирования данных, патент № 2437208 , когда Kспособ и устройство кодирования и декодирования данных, патент № 2437208 не является кратным (2m-1); в противном случае, использования K'=Kспособ и устройство кодирования и декодирования данных, патент № 2437208 +способ и устройство кодирования и декодирования данных, патент № 2437208 (Kспособ и устройство кодирования и декодирования данных, патент № 2437208 ), когда Kспособ и устройство кодирования и декодирования данных, патент № 2437208 является кратным (2m-1), причем m представляет собой емкость памяти составного сверточного кодера, и способ и устройство кодирования и декодирования данных, патент № 2437208 (Kспособ и устройство кодирования и декодирования данных, патент № 2437208 ) представляет собой небольшое положительное или отрицательное целое число, не равное кратному (2m-1). В одном варианте осуществления m=3.

В еще другом варианте осуществления настоящего изобретения этап перемежения входного блока содержит этап использования перестановки способ и устройство кодирования и декодирования данных, патент № 2437208 (i)=(iP0+A+d (i))modK', где 0способ и устройство кодирования и декодирования данных, патент № 2437208 iспособ и устройство кодирования и декодирования данных, патент № 2437208 K'-1 представляет собой последовательный индекс положений символа после перемежения, способ и устройство кодирования и декодирования данных, патент № 2437208 (i) представляет собой индекс символа перед перемежением, соответствующий положению i, K' представляет собой размер перемежителя в символах, P 0 представляет собой число, которое является относительно простым для K', А представляет собой постоянную, С представляет собой небольшое число, которое делит K', и d(i) представляет собой вектор возмущения вида d(i)=способ и устройство кодирования и декодирования данных, патент № 2437208 (imodC)+P0× способ и устройство кодирования и декодирования данных, патент № 2437208 (imodC), где способ и устройство кодирования и декодирования данных, патент № 2437208 (способ и устройство кодирования и декодирования данных, патент № 2437208 ) и способ и устройство кодирования и декодирования данных, патент № 2437208 (способ и устройство кодирования и декодирования данных, патент № 2437208 ) представляют собой векторы, каждый длиной С, периодически применяемый для 0способ и устройство кодирования и декодирования данных, патент № 2437208 iспособ и устройство кодирования и декодирования данных, патент № 2437208 K'-1.

В еще другом варианте осуществления настоящего изобретения этап перемежения входного блока содержит этап использования перестановки способ и устройство кодирования и декодирования данных, патент № 2437208 (i)=(f1×i+f 2×i2)modK', где 0способ и устройство кодирования и декодирования данных, патент № 2437208 iспособ и устройство кодирования и декодирования данных, патент № 2437208 K'-1 представляет собой последовательный индекс положений символа после перемежения, способ и устройство кодирования и декодирования данных, патент № 2437208 (i) представляет собой индекс символа перед перемежением, соответствующий положению i, K' представляет собой размер перемежителя в символах, и f 1 и f2 представляют собой коэффициенты, определяющие перемежитель.

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

- K обозначает размер информационного блока.

- K' обозначает размер перемежителя (т.е. размер входного блока, для которого определяется перемежитель турбокода).

- Kспособ и устройство кодирования и декодирования данных, патент № 2437208 обозначает вспомогательную переменную, которая может использоваться при определении размера перемежителя.

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

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

- Операция определения нижнего значения способ и устройство кодирования и декодирования данных, патент № 2437208 обозначает наибольшее целое число, которое меньше или равно x, и операция определения верхнего значения способ и устройство кодирования и декодирования данных, патент № 2437208 обозначает наименьшее целое число, которое больше или равно x.

- u обозначает входной блок, который имеет длину K' и который посылается на турбокодер в передатчике. способ и устройство кодирования и декодирования данных, патент № 2437208 обозначает оцененный входной блок, который имеет длину K' и который создается турбодекодером в приемнике. Отметьте, что способ и устройство кодирования и декодирования данных, патент № 2437208 , когда нет ошибки декодирования. В противном случае, способ и устройство кодирования и декодирования данных, патент № 2437208 .

Обратимся теперь к чертежам, на которых подобные позиции обозначают подобные компоненты, фиг.1 представляет собой блок-схему передатчика 100. Как показано, передатчик 100 содержит схему 109 вставки заполнителя, турбокодер 101, схему 103 определения размера перемежителя, таблицу 105 параметров перемежителя и передатчик 107. Кодер 101, предпочтительно, представляет собой турбокодер Проекта партнерства по созданию системы 3-го поколения (3GPP) со скоростью 1/3, однако, методы, описанные в данном документе для работы кодера 101, могут быть применены к другим кодерам, включая, но не ограничиваясь турбокодерами, выполняющими турбокодирование с хвостовыми битами или без хвостовых битов, циклически замкнутыми, бинарными или дуобинарными турбокодерами, турбокодерами, использующими различные методы согласования скорости и выкалывания, и т.д. Схема 103 определяет размер K' перемежителя, который связан с Kспособ и устройство кодирования и декодирования данных, патент № 2437208 , где Kспособ и устройство кодирования и декодирования данных, патент № 2437208 из набора размеров; причем набор размеров содержит Kспособ и устройство кодирования и декодирования данных, патент № 2437208 =ap×f,pmin способ и устройство кодирования и декодирования данных, патент № 2437208 pспособ и устройство кодирования и декодирования данных, патент № 2437208 pmax; fminспособ и устройство кодирования и декодирования данных, патент № 2437208 fспособ и устройство кодирования и декодирования данных, патент № 2437208 fmax, причем a представляет собой целое число, f представляет собой постоянное целое число между fmin и fmax, и p принимает целые значения между pmin и p max , a>1, pmax> pmin, pmin>1.

Во время работы передатчика 100 информационный блок размера K должен кодироваться турбокодером 101. Для некоторых систем связи, где используется большое количество различных K , является неэффективным (и часто невозможным) определение бесконфликтного (CF) перемежителя для каждого размера K информационного блока. Является предпочтительным, если малый набор (K') хорошо сконструированных CF-перемежителей может охватывать все размеры информационных блоков. При заданном размере K информационного блока подходящий размер K' перемежителя может быть выбран схемой 103 из набора доступных размеров (например, размеров перемежителя, перечисленных в таблице 105). Информационный блок затем заполняется во входной блок размера K' посредством схемы 109 и посылается в качестве входа на турбокодер 101. Типовым размещением является заполнение информационного блока Kfiller битами заполнителя (при помощи схемы 109 вставки заполнителя). Отметьте, что термины «размер» и «длина» используются попеременно для указания количества элементов в блоке или векторе.

Если K' выбрано схемой 103, оно подается на турбокодер 101. Во время кодирования может использоваться бесконфликтный перемежитель (не показан на фиг.1). Например, перемежитель может использовать перестановку способ и устройство кодирования и декодирования данных, патент № 2437208 (i)=(iP0+A+d (i))modK', причем 0способ и устройство кодирования и декодирования данных, патент № 2437208 iспособ и устройство кодирования и декодирования данных, патент № 2437208 K'-1 представляет собой последовательный индекс положений символа после перемежения, способ и устройство кодирования и декодирования данных, патент № 2437208 (i) представляет собой индекс символа перед перемежением, соответствующий положению i, K' представляет собой размер перемежителя в символах, P 0 представляет собой число, которое является относительно простым для K', А представляет собой постоянную, С представляет собой небольшое число, которое делит K', и d(i) представляет собой вектор «возмущения» вида d(i)=способ и устройство кодирования и декодирования данных, патент № 2437208 (imodC)+P0× способ и устройство кодирования и декодирования данных, патент № 2437208 (imodC), где способ и устройство кодирования и декодирования данных, патент № 2437208 (способ и устройство кодирования и декодирования данных, патент № 2437208 ) и способ и устройство кодирования и декодирования данных, патент № 2437208 (способ и устройство кодирования и декодирования данных, патент № 2437208 ) представляют собой векторы, каждый длиной C, периодически применяемый для 0способ и устройство кодирования и декодирования данных, патент № 2437208 iспособ и устройство кодирования и декодирования данных, патент № 2437208 K'-1. В качестве другого примера, перемежитель может использовать перестановку способ и устройство кодирования и декодирования данных, патент № 2437208 (i)=(f1×i+f 2×i2)modK', где 0способ и устройство кодирования и декодирования данных, патент № 2437208 iспособ и устройство кодирования и декодирования данных, патент № 2437208 K'-1 представляет собой последовательный индекс положений символа после перемежения, способ и устройство кодирования и декодирования данных, патент № 2437208 (i) представляет собой индекс символа перед перемежением, соответствующий положению i, K' представляет собой размер перемежителя в символах, и f 1 и f2 представляют собой коэффициенты, определяющие перемежитель. Как правило, символ может состоять из многочисленных битов, и этап перемежения может использовать дополнительный этап перестановки битов в символе. Без потери общности, обсуждение ниже рассматривает типовой случай, где символ состоит только из одного бита (таким образом, нет необходимости переставлять биты в символе), и термины «бит» и «символ» могут использоваться попеременно.

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

Фиг.2 представляет собой блок-схему кодера 101 по фиг.1. Как показано, кодер 101 содержит перемежитель 201, схему 202 кодирования и схему 203 кодирования. Пример кодера представляет собой турбокодер, определенный в спецификации 3GPP. Исходная скорость кодирования турбокодера, определенного в 3GPP, имеет присущую данной системе скорость кодирования R=1/3. На выходе турбокодера три бита создаются для каждого бита во входном блоке: один систематический бит (равный биту во входном блоке), один бит контроля четности от составного кодера 1, один бит контроля четности от составного кодера 2. Кроме того, выходной результат турбокодера также может включать в себя NTB хвостовых битов, которые используются для завершения решетки составных кодов. Например, для турбокода 3GPP NTB=12 битов на выходе турбокодера, 6 хвостовых битов на составной код. С другой стороны, можно использовать циклически замкнутые составные сверточные коды, таким образом делая NTB=0.

Перемежителем 201 может быть бесконфликтный перемежитель. Перемежитель способ и устройство кодирования и декодирования данных, патент № 2437208 (i), 0способ и устройство кодирования и декодирования данных, патент № 2437208 iспособ и устройство кодирования и декодирования данных, патент № 2437208 K', например, является бесконфликтным для размера W окна, если и только если он удовлетворяет следующему ограничению как для способ и устройство кодирования и декодирования данных, патент № 2437208 =способ и устройство кодирования и декодирования данных, патент № 2437208 (перемежитель), так и для способ и устройство кодирования и декодирования данных, патент № 2437208 =способ и устройство кодирования и декодирования данных, патент № 2437208 -1 (деперемежитель),

способ и устройство кодирования и декодирования данных, патент № 2437208 (1),

где 0способ и устройство кодирования и декодирования данных, патент № 2437208 j<W, 0способ и устройство кодирования и декодирования данных, патент № 2437208 t; способ и устройство кодирования и декодирования данных, патент № 2437208 <M(=K'/W) и tспособ и устройство кодирования и декодирования данных, патент № 2437208 способ и устройство кодирования и декодирования данных, патент № 2437208 . Хотя это не всегда необходимо, для эффективной конструкции турбодекодера обычно все M окон заполнены, где K '=MW. Члены в (1) представляют собой адреса банка памяти, по которым одновременно обращаются M процессоров при записи косвенных значений в выходные банки памяти во время итеративного декодирования. Если все эти адреса банка памяти являются уникальными в течение каждой операции считывания и записи, то нет конфликтов при обращении к памяти и, следовательно, может быть исключена задержка перемежения (деперемежения), приводя к высокоскоростной реализации декодера.

Во время работы турбокодера 101 входной блок длиной K' битов поступает как на перемежитель 201, так и на схему 202 кодирования. Перемежителем 201 может быть бесконфликтный перемежитель размера K'.

Перемежитель 201 перемежает входной блок и пропускает входной блок в перемеженном порядке на схему 203 кодирования. Схема 203 кодирования затем кодирует перемеженный входной блок. Аналогичным образом, схема 202 кодирования кодирует исходный входной блок. Блок x кодового слова состоит из систематического блока (равного входному блоку), выходного результата схемы 202 кодирования и выходного результата схемы 203 кодирования. Блок x кодового слова затем посылается на передатчик 107, который также может непосредственно принимать копию входного блока.

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

способ и устройство кодирования и декодирования данных, патент № 2437208 (i)=(iP0+A+d (i))modK',

где 0способ и устройство кодирования и декодирования данных, патент № 2437208 iспособ и устройство кодирования и декодирования данных, патент № 2437208 K'-1 представляет собой последовательный индекс положений бита после перемежения, способ и устройство кодирования и декодирования данных, патент № 2437208 (i) представляет собой индекс бита перед перемежением, соответствующий положению i, K' представляет собой размер перемежителя, P0 представляет собой число, которое является относительно простым для K ', А представляет собой постоянную, С представляет собой небольшое число, которое делит K', и d (i) представляет собой вектор возмущения вида d (i)=способ и устройство кодирования и декодирования данных, патент № 2437208 (imodC)+P0× способ и устройство кодирования и декодирования данных, патент № 2437208 (imodC), где способ и устройство кодирования и декодирования данных, патент № 2437208 (способ и устройство кодирования и декодирования данных, патент № 2437208 ) и способ и устройство кодирования и декодирования данных, патент № 2437208 (способ и устройство кодирования и декодирования данных, патент № 2437208 ) представляют собой векторы, каждый длиной С, периодически применяемые для 0способ и устройство кодирования и декодирования данных, патент № 2437208 iспособ и устройство кодирования и декодирования данных, патент № 2437208 K'-1. Как способ и устройство кодирования и декодирования данных, патент № 2437208 (способ и устройство кодирования и декодирования данных, патент № 2437208 ), так и способ и устройство кодирования и декодирования данных, патент № 2437208 (способ и устройство кодирования и декодирования данных, патент № 2437208 ) состоят из кратных C. Общий перемежитель способ и устройство кодирования и декодирования данных, патент № 2437208 (способ и устройство кодирования и декодирования данных, патент № 2437208 ), составленный таким образом, имеет квазициклические (т.е. периодические) свойства с периодом C, и при использовании циклически замкнутых турбокодов сам турбокод становится квазициклическим, приводя к упрощенной процедуре конструирования кода.

В качестве другого примера бесконфликтного перемежителя, перемежитель с перестановкой с использованием квадратного многочлена (QPP) определяется следующим выражением способ и устройство кодирования и декодирования данных, патент № 2437208 (i)=(f1×i+f 2×i2)modK', где 0способ и устройство кодирования и декодирования данных, патент № 2437208 iспособ и устройство кодирования и декодирования данных, патент № 2437208 K'-1 представляет собой последовательный индекс положений символа после перемежения, способ и устройство кодирования и декодирования данных, патент № 2437208 (i) представляет собой индекс символа перед перемежением, соответствующий положению i, K' представляет собой размер перемежителя в символах, и f 1 и f2 представляют собой коэффициенты, определяющие перемежитель. Подобно перемежителям ARP турбокод также является квазициклическим, если он циклически замкнутый.

Если перемежитель 201 может удовлетворять (1) различным значениям M, тогда декодер может быть реализован с использованием различных степеней параллельности (один для каждого M). Таким образом, желательно выбрать K', который имеет различные коэффициенты. Для перемежителя ARP длины K' может использоваться любой размер W окна, где W представляет собой кратное C и коэффициента K', для высокоскоростного декодирования без конфликтов при обращении к памяти. С различным определением параллельных окон можно использовать любой коэффициент K в качестве числа параллельных окон. Для перемежителя QPP любой коэффициент размера K' перемежителя представляет собой возможный уровень параллельности M. Это обеспечивает гибкость и масштабируемость конструкции декодера, допуская широкий диапазон коэффициентов M параллельности. Таким образом, хороший компромисс между скоростью декодирования и сложностью может быть достигнут на основе требований к системе (или классам пользовательских элементов).

Выбор размера K' перемежителя

Как описано выше, схема 103 определения размера перемежителя должна определять размер K' перемежителя для данного K. Этот раздел описывает путь выбора ограниченного количества размеров (т.е. K'), для которых перемежители турбокода могут быть определены. Как указано ранее, схема вставки заполнителя (вместе со способами выкалывания или согласования скорости) может использоваться для обработки любого размера K информационного блока. Как правило, выбор размера перемежителя должен принимать во внимание нагрузку декодирования и ухудшение рабочих характеристик из-за битов заполнителя.

Желательно, чтобы количество битов Kfiller заполнителя, добавляемых к информационному блоку для формирования входного блока, ограничивалось небольшим процентом (например, примерно 10-13%) от размера K информационного блока. Это достигается посредством ограничения разности между соседними размерами перемежителя, т.е. соседними значениями K' (предполагая, что все доступные значения K' хранятся в возрастающем порядке). Количество битов заполнителя минимизируется посредством выбора наименьшего доступного K ', так что K'способ и устройство кодирования и декодирования данных, патент № 2437208 K. Количество битов заполнителя равно K filler=K'-K. Однако также могут быть выбраны другие доступные значения K'способ и устройство кодирования и декодирования данных, патент № 2437208 K, если потребуется.

Рассмотрим следующий набор размеров, определенный для охвата размеров информации между Kmin и Kmax.

K"=ap×f, Pmin способ и устройство кодирования и декодирования данных, патент № 2437208 Pспособ и устройство кодирования и декодирования данных, патент № 2437208 Pmax, fminспособ и устройство кодирования и декодирования данных, патент № 2437208 fспособ и устройство кодирования и декодирования данных, патент № 2437208 fmax (2),

где a представляет собой целое число, f представляет собой постоянное целое число между fmin и fmax, и p принимает целые значения между pmin и pmax, a>1, pmax >pmin, pmin>1. Хотя это и не является обязательным, можно выбрать эти параметры, так что способ и устройство кодирования и декодирования данных, патент № 2437208 и способ и устройство кодирования и декодирования данных, патент № 2437208 в тоже время отбрасывая любые размеры, которые могут быть необязательными. Этот способ выбора ограниченного набора размеров для охвата диапазона размеров информационного блока упоминается как полулогарифмическое расслоение. Для данного информационного блока размера K размер K' связан с K способ и устройство кодирования и декодирования данных, патент № 2437208 , основанном на таблице полулогарифмического расслоения, и размером K входного блока.

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

Из нескольких путей выбора параметров одним путем выбора значений f min и fmax является выравнивание значений Kспособ и устройство кодирования и декодирования данных, патент № 2437208 , вытекающих из p, друг с другом, т.е. a p×(fmax+1)=ap+1 ×fmin, таким образом

fmax=a×fmin-1.

Для данного значения p разделение между двумя соседними размерами Kспособ и устройство кодирования и декодирования данных, патент № 2437208 блоков определяется посредством ap, которое означает, что добавляется максимум ap -1 битов заполнителя, если размер K информационного блока находится в группе p, и размер перемежителя равен K способ и устройство кодирования и декодирования данных, патент № 2437208 . Таким образом, доля битов Kfiller заполнителя относительно размера K информационного блока ограничивается так, как показано ниже, что происходит тогда, когда размер K блока несколько больше размера, определяемого посредством (p, fmin), и, используя K'= Kспособ и устройство кодирования и декодирования данных, патент № 2437208 , определяемого посредством (p, fmin +1), следующим:

способ и устройство кодирования и декодирования данных, патент № 2437208

Альтернативно, значения Kспособ и устройство кодирования и декодирования данных, патент № 2437208 , вытекающие из соседнего p, могут выравниваться друг с другом посредством ap×f max=ap+1×(fmin -1), приводя к fmax=a×(f min-1). Это даст аналогичную границу K filler/K. Поэтому параметры для полулогарифмического расслоения могут быть настроены в соответствии с диапазоном поддерживаемых размеров блока и также по допустимой доли битов заполнителя. Выбор fmin требует равновесия между следующими двумя требованиями:

- fmin должна быть большой, чтобы уменьшить долю битов заполнителя;

- fmin должна быть малой, чтобы ограничивать размер таблицы перемежителя, так как количество размеров блока, определенных для каждого p, равно fmax -fmin+1=(a-1)×fmin , предполагая, что fmax=a×f min-1.

Способ полулогарифмического расслоения является очень простым в том, что для любого размера блока подлежащий использованию размер K' перемежителя может легко определяться на основе Kспособ и устройство кодирования и декодирования данных, патент № 2437208 , вычисленного из (2). Если размеры полулогарифмического расслоения определены (Kспособ и устройство кодирования и декодирования данных, патент № 2437208 ), размер K' перемежителя может быть получен из размеров полулогарифмического расслоения (без существенного отклонения) посредством, например:

1. Используя K'=Kспособ и устройство кодирования и декодирования данных, патент № 2437208 . Другими словами, размеры полулогарифмического расслоения могут непосредственно использоваться в качестве действительных размеров перемежителя.

2. Используя K'= Kспособ и устройство кодирования и декодирования данных, патент № 2437208 , когда Kспособ и устройство кодирования и декодирования данных, патент № 2437208 не является кратным (2m-1), в противном случае, используя K'=Kспособ и устройство кодирования и декодирования данных, патент № 2437208 +способ и устройство кодирования и декодирования данных, патент № 2437208 (Kспособ и устройство кодирования и декодирования данных, патент № 2437208 ), когда Kспособ и устройство кодирования и декодирования данных, патент № 2437208 является кратным (2m-1), причем m является емкостью памяти составного сверточного кодера, и способ и устройство кодирования и декодирования данных, патент № 2437208 (Kспособ и устройство кодирования и декодирования данных, патент № 2437208 ) представляет собой небольшое положительное или отрицательное целое число, не равное кратному (2m-1). Это полезно, если составные сверточные коды являются циклически замкнутыми, где кратные (2m-1) являются недопустимыми. Размеры, определенные по способу полулогарифмического расслоения по (2), иногда могут включать в себя размеры, которые являются неподходящими размерами перемежителя для турбокодирования. Например, циклически замкнутая версия турбокодера 3GPP с восемью состояниями (m =3) не поддерживает размеры входного блока (т.е. размеры перемежителя), которые являются кратными 7 (т.е. 2m-1). В таких случаях, всякий раз, когда уравнение (2) приводит к размеру, который является кратным 2m-1, малое значение вычитается или добавляется к нему, так что результирующий размер больше не является кратным 2m-1.

Например, если a=2, fmin=8 и fmax=15, тогда размеры перемежителя вида K'=Kспособ и устройство кодирования и декодирования данных, патент № 2437208 =2p×14 являются кратными 7, и, следовательно, являются недействительными размерами перемежителя при использовании циклически замкнутого турбокода (TC) 3GPP. Поэтому этот случай должен обрабатываться с небольшим изменением, например, используя K'=Kспособ и устройство кодирования и декодирования данных, патент № 2437208 , когда Kспособ и устройство кодирования и декодирования данных, патент № 2437208 не является кратным 7; в противном случае, используя K'=Kспособ и устройство кодирования и декодирования данных, патент № 2437208 +способ и устройство кодирования и декодирования данных, патент № 2437208 (Kспособ и устройство кодирования и декодирования данных, патент № 2437208 ), когда Kспособ и устройство кодирования и декодирования данных, патент № 2437208 является кратным 7, и способ и устройство кодирования и декодирования данных, патент № 2437208 (Kспособ и устройство кодирования и декодирования данных, патент № 2437208 ) является малым положительным или отрицательным целым числом, не равным кратному 7.

Для размеров Kспособ и устройство кодирования и декодирования данных, патент № 2437208 , которые являются недействительным выбором для циклически замкнутых перемежителей, одним простым путем определения связанного размера K' перемежителя является посредством вычитания (добавление также допустимо) d×C из K способ и устройство кодирования и декодирования данных, патент № 2437208 , где d представляет собой малое положительное целое число, и d не является кратным 7. Для перемежителя ARP C может быть длиной цикла перемежителя ARP, используемой для размеров блока, близких к K', в наборе доступных размеров. (Вспомните, что размер блока перемежителя ARP представляет собой кратное длин C цикла.) Другими словами,

K'=Kспособ и устройство кодирования и декодирования данных, патент № 2437208 -dC (3)

или

K '=Kспособ и устройство кодирования и декодирования данных, патент № 2437208 +dC (4),

где Kспособ и устройство кодирования и декодирования данных, патент № 2437208 является кратным 7. Так как C обычно представляет собой четное целое число, такое как 4, 8, 12 или 16, эта подстройка дает два преимущества, а именно, (а) K' не является кратным 7, и (b) K' является кратным C и, следовательно, может быть разработан перемежитель ARP для размера K'.

Для простоты, один и тот же d может выбираться для всех Kспособ и устройство кодирования и декодирования данных, патент № 2437208 , которые необходимо подстраивать. Одним важным моментом для выбора d является то, что он должен быть таким, чтобы все размеры, полученные посредством (3) или (4), имели значительное количество коэффициентов, которые позволяют поддерживать широкий диапазон параллельности для CF-перемежителя, определенного таким образом.

Пример выбора размера перемежителя

Для системы долгосрочной эволюции (LTE) 3GPP не является существенным определение CF-перемежителя для каждого размера блока между 40 и 5114 битами. Ограниченный или малый набор хорошо разработанных CF-перемежителей достаточен для того, чтобы охватить все размеры блока. Для неопределенных размеров блока (т.е. для которых не определены CF-перемежители) дополнение нулями (т.е. присоединение битов заполнителя) может эффективно использоваться, как описано выше.

В качестве первого примера, набор перемежителей, пригодный для охватывания размеров информационного блока для долгосрочной эволюции (LTE) 3GPP в таблице 105, определяется на основе способа полулогарифмического расслоения, описанного выше. Конкретно,

K"=2 p×f,p=4,5,способ и устройство кодирования и декодирования данных, патент № 2437208 ,9;f=8,9,способ и устройство кодирования и декодирования данных, патент № 2437208 ,15, (5)

и K' определяется из Kспособ и устройство кодирования и декодирования данных, патент № 2437208 . Размеры перемежителя определяются следующим образом: используя K'=Kспособ и устройство кодирования и декодирования данных, патент № 2437208 и для p=4,5,6,7,8,9 и f=8,9,10,11,12,13,15, и используя K'=Kспособ и устройство кодирования и декодирования данных, патент № 2437208 -dC для p=4,5,6,7,8,9 и f=14, охватывая K от 128 до 7680. Последние три размера (f=13,14,15), соответствующие p=9, могут быть удалены, так что K max=6144 при Kmin=128. Уравнение (3) используется вместе с d=2, когда f=14 (т.е. чтобы исключить размеры перемежителя, которые являются множителями 7), чтобы обрабатывать циклически замкнутые ТС. Если определены размеры перемежителя в 105, CF-перемежитель может быть разработан для каждого размера перемежителя.

При заданном любом размере K информационного блока схема 103 может определять размер K' перемежителя, подлежащий использованию для K, посредством выбора наименьшего значения K ' из 105, которое больше или равно K. С известным K и fmin=2b, f max=2b+1-1, где b представляет собой целое число, параметры p и f могут быть вычислены следующим образом:

способ и устройство кодирования и декодирования данных, патент № 2437208 (6)

способ и устройство кодирования и декодирования данных, патент № 2437208

В частности, для параметров в (5) b =3, и

способ и устройство кодирования и декодирования данных, патент № 2437208

С параметрами p и f размер K' блока может вычисляться с использованием (2) или (5), и, кроме того, когда f является кратным 7, и используется циклически замкнутое кодирование, дополнительно может использоваться размер перемежителя, вычисленный с использованием (3) или (4). Затем выполняется поиск параметров, ассоциированных с перемежителем размера K', из запоминающего средства для параметра 105 перемежителя, который обычно хранится в памяти для устройства связи.

В качестве второго примера, предполагаемый набор полных размеров K' перемежителя для охватывания К от 40 до 8192 битов представляет собой:

Для K'способ и устройство кодирования и декодирования данных, патент № 2437208 [264, 8192], K'=2p×f, p=3,способ и устройство кодирования и декодирования данных, патент № 2437208 ,7; f=33,34,способ и устройство кодирования и декодирования данных, патент № 2437208 ,64.

Для K' менее 264 используется размер шага 8, так что K'=40, 48, способ и устройство кодирования и декодирования данных, патент № 2437208 , 256.

Эти размеры также перечислены ниже.

40 4856 6472 8088 96104 112
120 128 136144 152160 168176 184192
200 208216 224232 240248 256264 272
280 288 296304 312320 328336 344352
360 368376 384392 400408 416424 432
440 448 456464 472480 488496 504512
528 544560 576592 608624 640656 672
688 704 720736 752768 784800 816832
848 864880 896912 928944 960976 992
1008 1024 10561088 11201152 11841216 12481280
1312 13441376 14081440 14721504 15361568 1600
1632 1664 16961728 17601792 18241856 18881920
1952 19842016 20482112 21762240 23042368 2432
2496 2560 26242688 27522816 28802944 30083072
3136 32003264 33283392 34563520 35843648 3712
3776 3840 39043968 40324096 42244352 44804608
4736 48644992 51205248 53765504 56325760 5888
6016 6144 62726400 65286656 67846912 70407168
7296 74247552 76807808 79368064 8192способ и устройство кодирования и декодирования данных, патент № 2437208 способ и устройство кодирования и декодирования данных, патент № 2437208

Отметьте, что показанные выше размеры представляют собой только пример, определенный для максимального K' из 8192 битов и используемый в сравнительном исследовании 42 размеров информационного блока. Если используется другой максимум из 6144 битов, тогда любой K', который больше максимума, будет удаляться из списка. Также, для упрощения, размеры не учитывали различие между использованием составных кодов без циклического замыкания или циклически замкнутых составных кодов. Если турбокодер сделан циклически замкнутым, тогда могут использоваться K, которые являются кратными 7. Они или удаляются, или модифицируются, как описано ранее. Наконец, дополнительные размеры перемежителя могут добавляться к этим вышеупомянутым, чтобы уменьшить промежуток между перемежителями. Например, если используется максимальный промежуток 64, дополнительные перемежители определяются между перемежителями с промежутком 128 в таблице. Если тогда используется циклически замкнутый, и K' кратные 7 удалены, то максимальный промежуток тогда снова составляет 128.

В качестве еще другого примера выбора размера перемежителя, система может использовать CF-перемежитель только тогда, когда транспортный блок (TB) (количество информационных битов до сегментирования) превышает некоторое значение. Например, если максимальным определенным размером является 5114, когда транспортный блок превышает 5114, может использоваться CF-перемежитель, такой как ARP или QPP. В этих случаях, сегментирование может создать K' менее 5114, но CF-перемежитель используется для этого K'. K, поэтому может турбоперемежаться, используя как первый перемежитель (такой как не-CF-перемежитель 3GPP, или другой перемежитель), так и второй перемежитель (такой как бесконфликтный перемежитель), в зависимости от размера транспортного блока перед сегментированием. Первый и второй перемежитель может иметь различные наборы K'. Например, первый перемежитель может, по существу, определяться для всех K=K', тогда как второй перемежитель определяется с K', как указано выше. В некоторых случаях, единственный процессор или меньшее количество процессоров может использоваться для первого перемежителя.

Пример перемежителя ARP

Поднабор из 42 CF-перемежителей ARP, пригодных для того, чтобы охватить размеры информационных блоков для долгосрочной эволюции (LTE) 3GPP, показаны в таблице 1. Длина цикла C=4 используется для K<1024, C=8 - для Kспособ и устройство кодирования и декодирования данных, патент № 2437208 1024. Большая длина C цикла приводит к лучшему минимальному расстоянию dmin при больших размерах блока. Также, вместо A=3, A=0 используется для всех размеров. Кроме того, вместо того, чтобы каждый K имел различный вектор способ и устройство кодирования и декодирования данных, патент № 2437208 (способ и устройство кодирования и декодирования данных, патент № 2437208 ) и способ и устройство кодирования и декодирования данных, патент № 2437208 (способ и устройство кодирования и декодирования данных, патент № 2437208 ), разрешен только небольшой набор значений способ и устройство кодирования и декодирования данных, патент № 2437208 и способ и устройство кодирования и декодирования данных, патент № 2437208 , чтобы уменьшить объем хранения определения перемежителя. Набор разрешенных значений способ и устройство кодирования и декодирования данных, патент № 2437208 и способ и устройство кодирования и декодирования данных, патент № 2437208 определен ниже.

Когда длина цикла C =4,

способ и устройство кодирования и декодирования данных, патент № 2437208 =

способ и устройство кодирования и декодирования данных, патент № 2437208

способ и устройство кодирования и декодирования данных, патент № 2437208 =

способ и устройство кодирования и декодирования данных, патент № 2437208

Когда длина цикла C=8,

способ и устройство кодирования и декодирования данных, патент № 2437208 =

способ и устройство кодирования и декодирования данных, патент № 2437208

способ и устройство кодирования и декодирования данных, патент № 2437208 =

способ и устройство кодирования и декодирования данных, патент № 2437208

Таким образом, каждая строка способ и устройство кодирования и декодирования данных, патент № 2437208 может использоваться в качестве вектора способ и устройство кодирования и декодирования данных, патент № 2437208 , каждая строка способ и устройство кодирования и декодирования данных, патент № 2437208 может использоваться в качестве вектора способ и устройство кодирования и декодирования данных, патент № 2437208 . Индекс a и b, поэтому определяются для каждого K, чтобы индексировать строки способ и устройство кодирования и декодирования данных, патент № 2437208 и способ и устройство кодирования и декодирования данных, патент № 2437208 , где 1<=a<=2, 1<=b<=2 C. Способ индексирования существенно уменьшает запоминающее устройство перемежителя ARP, так как только P0 (8 битов), индекс a (1 бит) и b (3-4 бита) необходимо хранить для перемежителя. Длина C цикла может определяться на основе того, меньше ли K 1024 битов. Кроме того, величина запоминающего устройства параметров для использования C =8 в сопоставлении с C=4 представляет собой только разницу в размере матрицы способ и устройство кодирования и декодирования данных, патент № 2437208 и способ и устройство кодирования и декодирования данных, патент № 2437208 , что является тривиальным, поэтому допускает свободу использования больших C, если необходимо.

Запоминающее средство для параметра 105 перемежителя может хранить параметры перемежителя ARP, используя значения K', C, P0, способ и устройство кодирования и декодирования данных, патент № 2437208 (способ и устройство кодирования и декодирования данных, патент № 2437208 ) и способ и устройство кодирования и декодирования данных, патент № 2437208 (способ и устройство кодирования и декодирования данных, патент № 2437208 ), которые берутся, по меньшей мере, из одной строки таблицы 1. Перемежитель 201 может использовать перемежитель ARP со значениями K', C, P0, способ и устройство кодирования и декодирования данных, патент № 2437208 (способ и устройство кодирования и декодирования данных, патент № 2437208 ) и способ и устройство кодирования и декодирования данных, патент № 2437208 (способ и устройство кодирования и декодирования данных, патент № 2437208 ), которые берутся, по меньшей мере, из одной строки следующей таблицы:

Таблица 1.

Параметры набора перемежителей ARP, определенных для LTE. Постоянное смещение A=0 используется для всех размеров. Перечислены возможные параллельности М, использующие естественно параллельные окна, меньшие или равные 32
K_info K CP 0 Индекс а Индекс b Доступная параллельность
4040 441 16 1,2,5,10
5256 413 11 1,2,7,14
6772 413 14 1,2,3,6,9,18
8788 475 23 1,2,11,22
99104 423 11 1,2,3,26
113120 473 18 1,2,3,5,6,10,15,30
129136 411 16 1,2,17
146152 4129 15 1,2,19
167168 425 14 1,2,3,6,7,14,21
190192 443 11 1,2,3,4,6,8,12,16,24
216216 4133 11 1,2,3,6,9,18,27
246248 457 26 1,2,31
280280 433 21 1,2,5,7,10,14
319320 4207 14 1,2,4,5,8,10,16,20
363368 4877 23 1,2,4,23
384384 491 11 1,2,3,4,6,8,12,16,24,32
414416 477 11 1,2,4,8,13,26
471472 461 14 1,2
536 544 4237 11 1,2,4,8,17
611624 449 17 1,2,3,4,6,12,13,26
695704 443 14 1,2,4,8,11,16,22
792800 4151 11 1,2,4,5,8,10,20,25
902912 449 11 1,2,3,4,6,12,19
10271056 8217 21 1,2,3,4,6,11,12,22
11691184 849 111 1,2,4
13311344 8253 22 1,2,3,4,6,7,8,12,14,21,24,28
15361536 8187 28 1,2,3,4,6,8,12,16,24,32
17251728 865 13 1,2,3,4,6,8,9,12,18,24,27
19651984 8121 114 1,2,4,8,31
22372240 8137 26 1,2,4,5,7,8,10,14,20,28
23042304 8193 14 1,2,3,4,6,8,9,12,16,18,24,32
25472560 8157 13 1,2,4,5,8,10,16,20,32
29002944 8121 17 1,2,4,8,16,23
33023328 8137 21 1,2,4,8,13,16,26,32
37603776 8119 13 1,2,4,8
40964096 8169 211 1,2,4,8,16,32
42814352 8179 13 1,2,4,8,16,17,32
48744992 8211 13 1,2,3,4,6,8,12,13,16,24,26
55505632 8237 17 1,2,4,8,11,16,22,32
61446144 8253 213 1,2,3,4,6,8,12,16,24,32
71957296 8181 17 1,2,3,4,6,8,12,16,19,24
81928192 8203 17 1,2,4,8,16,32

Свойства перемежителя ARP

Существует несколько путей модифицирования таблицы перемежителя. Например, запоминающее устройство может быть уменьшено посредством использования набора параметров ARP, которые применяются к более чем одному размеру перемежителя. Например, 1024-битовый, 2048-битовый, 4096-битовый перемежители все могут использовать одни и те же параметры ARP. В другом варианте, некоторые строки таблицы могут быть переработаны на основе различных значений C, если необходимо. При другом улучшении, некоторые элементы параметров (например, способ и устройство кодирования и декодирования данных, патент № 2437208 (0) и способ и устройство кодирования и декодирования данных, патент № 2437208 (0)) могут быть фиксированными (например, всегда нулевыми).

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

1. Постоянное значение смещения A=3 или A=0 выбирается для уменьшения запоминающего устройства.

2. Основываясь на исследовании рабочих характеристик и запоминающем устройстве, длина цикла C=4 используется для K'<1024, C=8 - для K'способ и устройство кодирования и декодирования данных, патент № 2437208 1024.

3. Для каждого размера блока выполнялись имитации, чтобы гарантировать, что рабочие характеристики перемежителя ARP (с циклически замкнутым кодированием) близки или лучше, чем рабочие характеристики с перемежителем, определенным в спецификации для турбокода 3GPP.

4. Таблица 1, основанная на (5), была определена для того, чтобы охватывать конкретный набор размеров перемежителя (например, 40-8192). Если является предпочтительным, могут быть удалены или добавлены другие размеры перемежителя.

5. Все перемежители, определенные в 105, которые не являются кратными 7, могут использоваться или для турбокодов без циклического замыкания, или для циклически замкнутых турбокодов, в зависимости от допустимого ухудшения рабочих характеристик. Те, которые являются кратными 7, также могут использоваться без циклического замыкания.

Пример перемежителя QPP

Поднабор из 42 CF-перемежителей QPP, пригодных для того, чтобы охватывать размеры информационного блока для долгосрочной эволюции (LTE) 3GPP, показан в таблице 2. Эти перемежители имеют квадратный обратный многочлен, так что деперемежитель также представляет собой QPP.

Запоминающее средство для параметра 105 перемежителя может хранить параметры перемежителя QPP, используя значения K', f1, f2, которые берутся из, по меньшей мере, одной строки таблицы 2. Перемежитель 201 может использовать перемежитель QPP со значениями K', f1, f2, которые берутся из, по меньшей мере, одной строки следующей таблицы:

Таблица 2

Параметры набора перемежителей QPP, определенных для LTE. Перечислены возможные параллельности меньше или равные 32
K_info K f1f2 Доступная параллельность
40 40 3720 1,2,4,5,8,10,20
5256 1942 1,2,4,7,8,14,28
6772 1960 1,2,3,4,6,8,9,12,18,24
8788 522 1,2,4,8,11,22
99104 4526 1,2,4,8,13,26
113120 10390 1,2,3,4,5,6,8,10,12,15,20,24,30
129136 19102 1,2,4,8,17
146152 13538 1,2,4,8,19
167168 10184 1,2,3,4,6,7,8,12,14,21,24,28
190192 8524 1,2,3,4,6,8,12,16,24,32
216216 1336 1,2,3,4,6,8,9,12,18,24,27
246248 3362 1,2,4,8,31
280280 103210 1,2,4,5,7,8,10,14,20,28
319320 21120 1,2,4,5,8,10,16,20,32
363368 25138 1,2,4,8,16,23
384384 25240 1,2,3,4,6,8,12,16,24,32
414416 7752 1,2,4,8,13,16,26,32
471472 175118 1,2,4,8
536544 3568 1,2,4,8,16,17,32
611624 41234 1,2,3,4,6,8,12,13,16,24,26
695704 15544 1,2,4,8,11,16,22,32
792800 20780 1,2,4,5,8,10,16,20,25,32
902912 85114 1,2,3,4,6,8,12,16,19,24
10271056 229132 1,2,3,4,6,8,11,12,16,22,24,32
11691184 217148 1,2,4,8,16,32
13311344 211252 1,2,3,4,6,7,8,12,14,16,21,24,28,32
15361536 7148 1,2,3,4,6,8,12,16,24,32
17251728 12796 1,2,3,4,6,8,9,12,16,18,24,27,32
19651984 185124 1,2,4,8,16,31,32
22372240 209420 1,2,4,5,7,8,10,14,16,20,28,32
23042304 253216 1,2,3,4,6,8,9,12,16,18,24,32
25472560 39240 1,2,4,5,8,10,16,20,32
29002944 231184 1,2,4,8,16,23,32
33023328 51104 1,2,4,8,13,16,26,32
37603776 179236 1,2,4,8,16,32
40964096 95192 1,2,4,8,16,32
42814352 477408 1,2,4,8,16,17,32
48744992 233312 1,2,3,4,6,8,12,13,16,24,26,32
55505632 45176 1,2,4,8,11,16,22,32
61446144 263480 1,2,3,4,6,8,12,16,24,32
71957296 137456 1,2,3,4,6,8,12,16,19,24,32
81928192 417448 1,2,4,8,16,32

Фиг.3 представляет собой блок-схему приемника 300. На входе схема 302 обработки заполнителя принимает вектор сигнала, который, возможно, был передан по каналу, например, по радиоканалу. Схема 306 затем определяет размер K' перемежителя, что может быть сделано аналогично тому, что описано выше, например, посредством выполнения поиска в таблице в запоминающем устройстве 308, или при помощи вычислений, таких как (7), (8) и (2). Поэтому при заданном размере K информационного блока декодер 304 использует этот же размер K' перемежителя, что и тот, который использовался кодером 101. Схема 302 обработки заполнителя используется для соответствующей обработки вектора принятого сигнала и положений битов заполнителя (например, если положения битов заполнителя известны, тогда соответствующие величины LLR могут быть установлены на очень высокие величины во время декодирования). Затем турбодекодер 304 выполняет декодирование и получает оценку способ и устройство кодирования и декодирования данных, патент № 2437208 входного блока длины K'. Наконец, схема 310 извлечения информационного блока извлекает оцененный информационный блок из способ и устройство кодирования и декодирования данных, патент № 2437208 . Хотя схема 302 обработки заполнителя показана вне турбодекодера для простоты объяснения, эти две схемы могут быть объединены при реализации.

Фиг.4 представляет собой блок-схему турбодекодера по фиг.3. Как очевидно, перемежитель 402 и деперемежитель 401 находятся между схемой 403 декодирования и схемой 404 декодирования. Итеративное декодирование происходит так, как известно в технике, однако, в отличие от декодеров известного уровня техники, размер K' перемежителя связан с Kспособ и устройство кодирования и декодирования данных, патент № 2437208 , где Kспособ и устройство кодирования и декодирования данных, патент № 2437208 из набора размеров; причем набор размеров содержит Kспособ и устройство кодирования и декодирования данных, патент № 2437208 =ap×f, pmin способ и устройство кодирования и декодирования данных, патент № 2437208 pспособ и устройство кодирования и декодирования данных, патент № 2437208 pmax; fminспособ и устройство кодирования и декодирования данных, патент № 2437208 fспособ и устройство кодирования и декодирования данных, патент № 2437208 fmax, причем a представляет собой целое число, f представляет собой постоянное целое число между fmin и fmax, и p принимает целочисленные значения между pmin и pmax, a>1, pmax >pmin, pmin>1. Параметр Kfiller может быть необходим или может быть необязательным для турбодекодера 304, таким образом обозначен пунктирной линией на фиг.4.

Как описано выше, в одном варианте осуществления K'=Kспособ и устройство кодирования и декодирования данных, патент № 2437208 . В еще другом варианте осуществления K'= Kспособ и устройство кодирования и декодирования данных, патент № 2437208 , когда Kспособ и устройство кодирования и декодирования данных, патент № 2437208 не является кратным (2m-1), в противном случае использование K'=Kспособ и устройство кодирования и декодирования данных, патент № 2437208 +способ и устройство кодирования и декодирования данных, патент № 2437208 (Kспособ и устройство кодирования и декодирования данных, патент № 2437208 ), когда Kспособ и устройство кодирования и декодирования данных, патент № 2437208 является кратным (2m-1), причем m представляет собой емкость памяти составного сверточного кодера, и способ и устройство кодирования и декодирования данных, патент № 2437208 (Kспособ и устройство кодирования и декодирования данных, патент № 2437208 ) представляет собой небольшое положительное или отрицательное целое число, не равное кратному (2m-1). В одном варианте осуществления m=3.

Перемежитель 402 может использовать перестановку способ и устройство кодирования и декодирования данных, патент № 2437208 (i)=(iP0+A+d (i))modK', где 0способ и устройство кодирования и декодирования данных, патент № 2437208 iспособ и устройство кодирования и декодирования данных, патент № 2437208 K'-1 представляет собой последовательный индекс положений символа после перемежения, способ и устройство кодирования и декодирования данных, патент № 2437208 (i) представляет собой индекс символа перед перемежением, соответствующий положению i, K' представляет собой размер перемежителя в символах, P 0 представляет собой число, которое является относительно простым для K', А представляет собой постоянную, С представляет собой небольшое число, которое делит K', и d(i) представляет собой вектор возмущения вида d(i)=способ и устройство кодирования и декодирования данных, патент № 2437208 (imodC)+P0× способ и устройство кодирования и декодирования данных, патент № 2437208 (imodC), где способ и устройство кодирования и декодирования данных, патент № 2437208 (способ и устройство кодирования и декодирования данных, патент № 2437208 ) и способ и устройство кодирования и декодирования данных, патент № 2437208 (способ и устройство кодирования и декодирования данных, патент № 2437208 ) представляют собой векторы, каждый длиной С, периодически применяемые для 0способ и устройство кодирования и декодирования данных, патент № 2437208 iспособ и устройство кодирования и декодирования данных, патент № 2437208 K'-1. Значения K', C, P 0, способ и устройство кодирования и декодирования данных, патент № 2437208 (способ и устройство кодирования и декодирования данных, патент № 2437208 ) и способ и устройство кодирования и декодирования данных, патент № 2437208 (способ и устройство кодирования и декодирования данных, патент № 2437208 ), предпочтительно, берутся из строки таблицы 1. Деперемежитель 401 выполняет функцию, обратную функции перемежителя 402.

Перемежитель 402 может использовать перестановку способ и устройство кодирования и декодирования данных, патент № 2437208 (i)=(f1×i+f 2×i2)modK', где 0способ и устройство кодирования и декодирования данных, патент № 2437208 iспособ и устройство кодирования и декодирования данных, патент № 2437208 K'-1 представляет собой последовательный индекс положений символа после перемежения, способ и устройство кодирования и декодирования данных, патент № 2437208 (i) представляет собой индекс символа перед перемежением, соответствующий положению i, K' представляет собой размер перемежителя в символах, и f1 и f2 представляют собой коэффициенты, определяющие перемежитель. Значения K', f1, f2, предпочтительно, берутся из строки таблицы 2. Деперемежитель 401 выполняет функцию, обратную функции перемежителя 402.

Фиг.5 представляет собой блок-схему последовательности операций, изображающую работу передатчика 100. Логическая последовательность операций начинается на этапе 501, где схема 103 определяет размер K' перемежителя, который связан с Kспособ и устройство кодирования и декодирования данных, патент № 2437208 , где Kспособ и устройство кодирования и декодирования данных, патент № 2437208 из набора размеров; причем набор размеров содержит Kспособ и устройство кодирования и декодирования данных, патент № 2437208 =ap×f, pminспособ и устройство кодирования и декодирования данных, патент № 2437208 pспособ и устройство кодирования и декодирования данных, патент № 2437208 pmax; fminспособ и устройство кодирования и декодирования данных, патент № 2437208 fспособ и устройство кодирования и декодирования данных, патент № 2437208 fmax, причем a представляет собой целое число, f представляет собой постоянное целое число между fmin и fmax, и p принимает целочисленные значения между pmin и pmax, a>1, pmax >pmin, pmin>1. Как описано выше, в одном варианте осуществления K'= Kспособ и устройство кодирования и декодирования данных, патент № 2437208 . В еще другом варианте осуществления K'= Kспособ и устройство кодирования и декодирования данных, патент № 2437208 , когда Kспособ и устройство кодирования и декодирования данных, патент № 2437208 не является кратным (2m-1), в противном случае использование K'=Kспособ и устройство кодирования и декодирования данных, патент № 2437208 +способ и устройство кодирования и декодирования данных, патент № 2437208 (Kспособ и устройство кодирования и декодирования данных, патент № 2437208 ), когда Kспособ и устройство кодирования и декодирования данных, патент № 2437208 является кратным (2m-1), причем m представляет собой емкость памяти составного сверточного кодера, и способ и устройство кодирования и декодирования данных, патент № 2437208 (Kспособ и устройство кодирования и декодирования данных, патент № 2437208 ) представляет собой небольшое положительное или отрицательное целое число, не равное кратному (2m-1). В одном варианте осуществления m=3.

На этапе 503 схема 109 вставки заполнителя принимает информационный блок размера K и заполняет информационный блок размера K во входной блок u размера K' и выводит входной блок u. Перемежитель 201 затем перемежает входной блок размера K' (этап 507) (предпочтительно используя бесконфликтный перемежитель) и посылает перемеженный блок размера K' на схему 203 кодирования (этап 509). Наконец, на этапе 511 кодируются исходный входной блок и перемеженный входной блок.

Как описано выше, этап перемежения входного блока может содержать этап использования перестановки способ и устройство кодирования и декодирования данных, патент № 2437208 (i)=(iP0+A+d (i))modK', где 0способ и устройство кодирования и декодирования данных, патент № 2437208 iспособ и устройство кодирования и декодирования данных, патент № 2437208 K'-1 представляет собой последовательный индекс положений бита после перемежения, способ и устройство кодирования и декодирования данных, патент № 2437208 (i) представляет собой индекс бита перед перемежением, соответствующий положению i, K' представляет собой размер перемежителя в битах, P0 представляет собой число, которое является относительно простым для K ', А представляет собой постоянную, С представляет собой небольшое число, которое делит K', и d (i) представляет собой вектор возмущения вида d (i)=способ и устройство кодирования и декодирования данных, патент № 2437208 (imodC)+P0× способ и устройство кодирования и декодирования данных, патент № 2437208 (imodC), где способ и устройство кодирования и декодирования данных, патент № 2437208 (способ и устройство кодирования и декодирования данных, патент № 2437208 ) и способ и устройство кодирования и декодирования данных, патент № 2437208 (способ и устройство кодирования и декодирования данных, патент № 2437208 ) представляют собой векторы, каждый длиной C, периодически применяемые для 0способ и устройство кодирования и декодирования данных, патент № 2437208 iспособ и устройство кодирования и декодирования данных, патент № 2437208 K'-1. Значения K', C, P 0, способ и устройство кодирования и декодирования данных, патент № 2437208 (способ и устройство кодирования и декодирования данных, патент № 2437208 ) и способ и устройство кодирования и декодирования данных, патент № 2437208 (способ и устройство кодирования и декодирования данных, патент № 2437208 ) берутся, предпочтительно, из таблицы 1. Этап перемежения входного блока также может содержать этап использования перестановки способ и устройство кодирования и декодирования данных, патент № 2437208 (i)=(f1×i+f 2×i2)modK', где 0способ и устройство кодирования и декодирования данных, патент № 2437208 iспособ и устройство кодирования и декодирования данных, патент № 2437208 K'-1 представляет собой последовательный индекс положений символа после перемежения, способ и устройство кодирования и декодирования данных, патент № 2437208 (i) представляет собой индекс символа перед перемежением, соответствующий положению i, K' представляет собой размер перемежителя в символах, и f1 и f2 представляют собой коэффициенты, определяющие перемежитель. Значения K', f1, f2 берутся, предпочтительно, из строки таблицы 2.

Фиг.6 представляет собой блок-схему последовательности операций, изображающую работу приемника по фиг.3. Логическая последовательность операций начинается на этапе 601, где схема 306 определяет размер K' перемежителя. На этапе 603 схема 302 добавляет информацию битов заполнителя в вектор принятого сигнала, например, если известны биты заполнителя и положения битов заполнителя, схема 302 может устанавливать на высокие величины логарифмического отношения правдоподобия (LLR) этих положений во входе турбодекодера. На этапе 607 турбодекодер декодирует входной блок декодера, используя перемежитель и деперемежитель размера K', и выводит оцененный способ и устройство кодирования и декодирования данных, патент № 2437208 входного блока длины K'. На этапе 609 схема 310 извлечения информационного блока удаляет биты заполнителя для получения оценки информационного блока длины K. Наконец, на этапе 611 выводится оцененный информационный блок.

Хотя изобретение было конкретно показано и описано со ссылкой на конкретный вариант осуществления, для специалиста в данной области техники понятно, что в нем могут быть выполнены различные изменения в форме и деталях без отступления от сущности и объема изобретения. В одном примере, таблица перемежителя может быть дополнительно улучшена для обработки специальных случаев, включающих в себя: (а) Использование дополнительного набора размеров перемежителя, определенных для того, чтобы охватывать любые специальные размеры блока, которые должны обрабатываться, например, без битов заполнителя или с меньшим количеством битов заполнителя. (b) Размеры перемежителя могут незначительно подстраиваться посредством добавления или вычитания малого значения из размеров полулогарифмического расслоения. В другом примере, хотя изобретение было описано выше, предполагая турбокодер с бинарным входом, этот же принцип может быть применен, когда турбокодер принимает символы в качестве входа. Например, дуобинарный турбокод принимает символ из двух двоичных разрядов за один раз, и турбоперемежитель выполняет перестановку символов (дополнительно может выполняться скремблирование, такое как чередование битов в символе). В таком случае, размер входного блока измеряется в символах, и размер перемежителя равен количеству символов во входном блоке. В другом примере, хотя вышеупомянутое описание предполагает, что размеры перемежителя и параметры перемежителя хранятся в таблице поиска, возможно, что они могут определяться при помощи других средств, таких как алгебраическое вычисление. В еще другом примере, хотя вышеупомянутое описание предполагает турбокод, способ также применим к другим схемам прямой коррекции ошибок (FEC), включающим в себя, например, коды с низкой плотностью проверок на четность (LDPC), коды Рида-Соломона (RS) и т.д. Предполагается, что такие изменения подпадают под объем нижеследующей формулы изобретения.

Класс H03M13/27 с использованием техники чередования

способ передачи/приема нисходящих данных с использованием ресурсных блоков в системе беспроводной подвижной связи и устройства для его реализации -  патент 2518934 (10.06.2014)
устройство и способ обработки данных и носитель записи, содержащий программу -  патент 2504848 (20.01.2014)
способ планирования распределенных блоков виртуальных ресурсов -  патент 2488219 (20.07.2013)
способ планирования распределенных блоков виртуальных ресурсов -  патент 2468512 (27.11.2012)
способ планирования распределенных блоков виртуальных ресурсов -  патент 2468511 (27.11.2012)
способ и устройство для кодирования и декодирования данных -  патент 2451392 (20.05.2012)
способ и устройство перемежения данных в системе мобильной связи -  патент 2448410 (20.04.2012)
динамическое перемежение потоков и доставка на основе подпотоков -  патент 2440670 (20.01.2012)
турбо-перемежитель для высоких скоростей передачи данных -  патент 2435298 (27.11.2011)
устройство перемежения и приемник для сигнала, сформированного устройством перемежения -  патент 2408980 (10.01.2011)
Наверх