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

Иллюстрации

Показать все

Изобретение относится к системе связи с высокоскоростной передачей пакетных данных и, в частности, к способу и устройству для приема перемеженных данных и для считывания записанных символов посредством перемежения в приемнике системы подвижной связи. Сущность изобретения заключается в том, что перемеженный кодирующий пакет имеет значение m сдвига разрядов, верхнее предельное значение J и остаток R, и поток символов кодирующего пакета записывают по порядку столбец - строка, при этом формируют промежуточный адрес посредством инвертирования порядка разрядов при допущении, что остаток R равен 0 для принятых символов, вычисляют коэффициенты коррекции адреса для коррекции промежуточного адреса с учетом столбца, сформированного с остатком, и формируют адрес считывания путем сложения промежуточного адреса с коэффициентом коррекции адреса для требуемого декодирования символа, и считывают символ, записанный в сформированном адресе считывания. Технический результат - одновременное декодирование множества субблоков позволяет повысить скорость декодирования и обеспечить высокоскоростную передачу данных. 4 н. и 28 з.п. ф-лы, 15 ил., 1 табл.

Реферат

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

Система множественного доступа с кодовым разделением каналов (CDMA), например система стандарта CDMA IS-2000, и система с широкополосным множественным доступом с кодовым разделением (WCDMA), обеспечивающая универсальные мобильные телекоммуникационные услуги (UMTS), поддерживают как речевую связь, так и передачу данных.

В синхронной системе подвижной связи стандарта CDMA2000 Release A/B и асинхронной системе подвижной связи стандарта UMTS для обеспечения надежной передачи мультимедийных данных используются турбокодирование и перемежение. Хорошо известно, что турбокодирование обеспечивает очень высокие возможности восстановления информации с точки зрения коэффициента ошибочных битов (BER) даже при низком отношении сигнал-шум (SNR), а перемежение препятствует концентрации дефектных битов в замирающей среде в одном месте. При перемежении соседние биты подвергаются эффектам замирания случайным образом, что исключает возникновение пакетов ошибок и тем самым повышает эффективность кодирования канала.

Чтобы удовлетворить возрастающую потребность в услугах, требующих высокоскоростной передачи пакетных данных, таких как Интернет и службы передачи мобильного изображения, развитие системы подвижной связи идет в направлении системы, поддерживающей услуги высокоскоростной передачи данных. Согласно стандарту CDMA2000 Release C/D, известному как стандарт Эволюции в передаче данных и речевого сигнала (1xEV-DV), под управлением Программы сотрудничества третьего поколения (3GPP) и Второй программы сотрудничества третьего поколения (3GPP2), базовая станция сегментирует кодовые символы, сформированные путем кодирования потока пакетных данных для передачи канальным кодером, в субблоки заданного размера и перемежает соответствующие сегментированные субблоки. Подвижная станция принимает поток перемеженных субблоков, преобразует принятый поток субблоков в кодовые символы и выполняет деперемежение, т.е. операцию, обратную операции перемежения, которая использовалась в базовой станции, на кодовых символах, чтобы тем самым восстановить принятый поток субблоков в исходный выходной сигнал канального кодера.

В стандарте CDMA2000 Release A/B длина потока кодовых символов, который становится объектом перемежения, должна делиться на степень числа 2. То есть предусмотрено, что длина потока кодовых символов должна быть кратной числу, имеющему 2 в основании, а в качестве его экспоненты - значение сдвига разрядов, одного из параметров перемежения. Что же касается стандарта 1xEV-DV, то в нем длина потока кодовых символов субблока не делится на степень числа 2, т.е. стандарт 1xEV-DV устанавливает правило перемежения, отличное от существующих стандартов. Следовательно, для стандарта 1xEV-DV необходимы методы, которые бы позволили подвижной станции принимать поток данных, перемеженных согласно новому правилу перемежения, и быстро и эффективно выполнять деперемежение принятого потока данных.

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

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

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

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

Задачей изобретения является создание способа и устройства для приема перемеженных данных, записи принятых перемеженных данных и считывания записанных данных с использованием адреса считывания, сформированного согласно правилу деперемежения в системе связи стандарта 1xEV-DV.

Для решения перечисленных выше и других задач предложен способ считывания записанных символов посредством деперемежения для декодирования записанного кодирующего пакета в приемнике системы подвижной связи, поддерживающей турбокодирование и перемежение, причем турбокодированный/перемеженный кодирующий пакет имеет значение m сдвига разрядов, верхнее предельное значение J и остаток R, и поток символов кодирующего пакета записан по порядку столбец - строка. Согласно предложенному способу формируют промежуточный адрес посредством инвертирования порядка разрядов (BRO) при допущении, что остаток R равен 0 для принятых символов, вычисляют коэффициент коррекции адреса для коррекции промежуточного адреса с учетом столбца, сформированного с остатком, и формируют адрес считывания путем сложения промежуточного адреса и коэффициента коррекции адреса для требующего декодирования символа, и считывают символ, записанный в сформированном адресе считывания.

Для достижения перечисленных выше и других задач предложено устройство для считывания записанных символов посредством деперемежения в приемнике системы подвижной связи, поддерживающей турбокодирование и перемежение, причем турбокодированный/перемеженный кодирующий пакет имеет значение m сдвига разрядов, верхнее предельное значение J и остаток R, и приемник содержит буфер для записи символов кодирующего пакета по порядку столбец - строка и канальный декодер для декодирования записанного кодирующего пакета. Устройство содержит генератор промежуточного адреса для формирования промежуточного адреса посредством выполнения операции инвертирования порядка разрядов (BRO) на индексе кодового символа, запрашиваемого канальным декодером, без учета последнего столбца символов, записанных в буфер в форме матрицы, корректор адреса для вычисления коэффициента коррекции адреса для коррекции промежуточного адреса с учетом столбца, сформированного из остатка, и сумматор для выработки адреса считывания для считывания кодового символа, запрашиваемого канальным декодером, из буфера путем сложения коэффициента коррекции адреса с промежуточным адресом.

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

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

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

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

фиг.4 иллюстрирует процесс перемежения, выполняемый на одном субблоке для NEP=408, в котором процесс перемежения разделен на три этапа,

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

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

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

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

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

фиг.10 иллюстрирует структурную схему генератора адреса считывания согласно варианту настоящего изобретения для NEP=408, 792, 1560, 3096, 6168 и 12312,

фиг.11 иллюстрирует структурную схему генератора адреса считывания согласно варианту настоящего изобретения для NEP= 3238,

фиг.12 иллюстрирует структурную схему генератора адреса считывания согласно варианту настоящего изобретения для NEP= 3864,

фиг.13 иллюстрирует структурную схему генератора адреса считывания согласно варианту настоящего изобретения для NEP= 4632,

фиг.14 иллюстрирует структурную схему генератора адреса считывания согласно варианту настоящего изобретения для NEP= 9240, и

фиг.15 иллюстрирует структурную схему генератора адреса считывания согласно варианту настоящего изобретения для NEP= 15384.

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

Согласно настоящему изобретению принимают поток перемеженных пакетных данных, и принятый пакет перемеженных данных подвергают деперемежению. В частности, в изобретении подвергают деперемежению поток пакетных данных, которые перемежались согласно стандарту CDMA2000 1xEV-DV (Эволюция в передаче данных и речевого сигнала) для синхронной системы связи CDMA.

Вначале будут описаны структура и операции перемежения потока пакетных данных и деперемежения потока перемеженных данных в системе подвижной связи стандарта CDMA2000 1xEV-DV.

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

На фиг.1 турбокодер 110 кодирует поток входных пакетных данных кодирующим пакетом с заданной кодовой частотой R и выдает поток кодовых символов. При этом турбокодер 110, имеющий частоту кодирования R=1/5, установленную стандартом 1xEV-DV, состоит из одного турбоперемежителя и двух составляющих кодеров. Теперь будет описана работа турбокодера 110. Входной кодирующий пакет выдается в виде систематического субпакета S как он есть, без изменения, и первый составляющий кодер кодирует входной кодирующий пакет и выдает 2 контрольных (по четности) субблока Р0 и Р1. Турбоперемежитель, входящий в состав турбокодера 110, кодирует входной кодирующий пакет и формирует другой систематический субблок S'. Систематический субблок S', сформированный турбоперемежителем, вводится во второй составляющий кодер. Второй составляющий кодер кодирует систематический субблок S' и выдает другие 2 отличающиеся контрольные субблока Р0' и Р0'. Так как систематический субблок S' не выводится в турбокодер 110, турбокодер 110 выдает 5 субблоков S, Р0, Р1, Р0', Р1', имеющих такой же размер, как и входной кодирующий пакет.

Канальный перемежитель 120 соответствующим образом перемежает кодовые символы на выходе турбокодера 110, так что кодовые символы, составляющие субпакет, гарантируют усиление кодирования на высоком уровне. Кодовые символы, выдаваемые турбокодером 110, имеют правильное размещение. Такое размещение достигается посредством последовательного выполнения разделения символов, перемежения субблоков и группировки символов субблока. В частности, разделитель 122 символов классифицирует 5 видов кодовых символов, выдаваемых турбокодером 110, согласно видам символов, и формирует 5 субблоков. Перемежитель 124 субблоков перемежает каждый из 5 субблоков с выхода разделителя 122 символов согласно такому же правилу перемежения. И, наконец, блок 126 группировки символов субблока попеременно группирует некоторые кодовые символы в перемеженных субблоках.

На фиг.2 проиллюстрированы операции перемежения субблоков и группировки символов субблока канальным перемежителем 120. Как показано на чертеже, 5 субблоков S, Р0, Р0', Р1, Р1' (представленных ссылочными номерами 10-18), разделенные по видам, подвергаются перемежению перемежителем 124 субблоков, а затем выдаются в виде перемеженных субблоков 20-28. После этого блок 126 группировки символов субблока поочередно группирует перемеженные контрольные символы 22-28 без изменения перемеженного систематического субблока 20 среди перемеженных субблоков 20-28. В описании метода группировки кодовые символы перемеженного субблока Р0 (22) и перемеженного субблока Р0' (24) размещаются поочередно, чтобы сформировать первую группу данных 32. Аналогично, кодовые символы перемеженного субблока Р1 (26) и перемеженного субблока Р1' (28) размещаются поочередно, чтобы сформировать вторую группу данных 34.

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

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

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

На фиг.3 блок 210 вставки нуля в субпакет вставляет "0" в заданную позицию принятого субпакета во взаимодействии с блоком 140 выбора символа передатчика базовой станции. Канальный деперемежитель 220 передатчика подвижной станции, соответствующий канальному перемежителю 120 приемника базовой станции, выполняет последовательно дегруппировку символов субблока, деперемежение субблока и обратное разделение символов.

Более конкретно, блок 22 дегруппировки символов субблока разделяет субблоки с выхода блока 210 вставки нуля в субпакет по их видам и выдает 5 перемеженных субблоков. Деперемежитель 224 субблоков деперемежает каждый перемеженный субблок согласно правилу деперемежения, соответствующему правилу перемежения, используемому в перемежителе 124 субблоков передатчика базовой станции. И, наконец, блок 226 обратного разделения символов разделяет деперемеженный вывод и выдает его в канальный декодер 230. Канальный декодер 230 декодирует деперемеженный выход с той же частотой кодирования, что и турбокодер 110 передатчика базовой станции, и формирует декодированные данные.

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

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

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

Согласно стандарту 1хEV-DV имеется 11 размеров кодирующего пакета (ЕР), доступных для трафика, передающего канал пакетных данных (PDCH), которые приведены в представленной ниже таблице 1. Кодовые символы с выхода канального кодера перемежаются согласно субблокам, и в этом случае, поскольку размер каждого субблока идентичен размеру кодирующего пакета, длина потока кодовых символов, который стал объектом перемежения/деперемежения, также идентична размеру кодирующего пакета.

В таблице 1 показаны размеры кодирующего пакета, установленные стандартом 1хEV-DV, и соответствующие параметры перемежения/деперемежения субблоков. В таблице 1 значение m сдвига разрядов и верхнее предельное значение J соответственно связаны с количеством строк и количеством столбцов, когда поток кодовых символов, имеющих размер NEP, располагается в форме матрицы, а остаток R означает количество элементов в последнем столбце матрицы.

Таблица 1
Размер EP (NEP)Сдвиг разрядов (m)Верхний предел (J)Остаток (R)
4087424
7928424
15609424
2328103280
309610424
38641121816
4632113536
616811424
92401231048
1231212424
153841327192

В результате, отношение между размером NEP кодирующего пакета и параметрами перемежения/деперемежения определяется как

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

На фиг.4 проиллюстрирован процесс перемежения, выполняемый на одном субблоке для NEP = 408, где процесс перемежения разделен на три этапа.

Как показано на чертеже, на этапе 40 в буфер последовательно записываются 408 кодовых символов в соответствии с индексом k (k=0, 1, 2, ..., 407) выходного кодового символа канального декодера. Стрелки показывают порядок, в котором записываются кодовые символы (вниз→ влево), и кодовые символы записываются в порядке столбец→строка, как показано на чертеже. То есть кодовые символы в первом столбце записываются в направлении строки, кодовые символы во втором и третьем столбцах записываются тем же самым методом, и, наконец, записываются остальные кодовые символы в четвертом столбце. На этапе 42 записанные кодовые символы переставляются для каждого столбца посредством инвертирования порядка разрядов (BRO) номера столбца. В данном контексте под "инвертированием порядка разрядов" подразумевается изменение порядка разрядов на обратный порядок. Например, на фиг.4 номер строки "1" выражается в двоичном коде как "0000001". Это сделано потому, что количество элементов, которое можно включить в каждый столбец, равно 128, так как размер кодирующего пакета равен 408, а верхнее предельное значение установлено на 4. То есть, чтобы выразить 128, требуется 7 двоичных разрядов. Поэтому номер строки "1" выражается как "0000001", и номер строки "1" инвертируется в операции BRO в "1000000". То же самое можно выразить номером строки "64" в десятичной системе. Согласно настоящему изобретению генерируется адрес считывания. На этапе 44 переставленные кодовые символы выдаются из буфера в порядке строка→столбец по строке BRO согласно сформированному адресу считывания. Стрелка показывает порядок, в котором записаны кодовые символы (вправо→ вниз).

На фиг.4 матрица кодовых символов, записанных в буфер, состоит из 27 строк и 4 столбцов, причем последний 4-й столбец имеет всего 24 элемента. Если бы 4-й столбец не содержал ни одного элемента, т.е. при R=0, перемежение субблоков в передатчике базовых станций можно было бы осуществить простой генерацией адреса считывания Bi i-го кодового символа (где i=0, 1, 2, ..., 407) в соответствии с уравнением (2), с последующим считыванием кодового символа в соответствующий адрес из буфера.

В уравнении (2) "i" означает индекс выходного кодового символа перемежителя субблоков, "mod" означает операцию по модулю, "BRO7(.)" означает 7-разрядную операцию BRO и указывает максимальное целое число, не превышающее ввод ".".

Тем временем, кодовые символы, перемеженные в базовой станции, передаются в сторону подвижной станции посредством известной процедуры, такой как модуляция и расширение. Кодовые символы, принятые подвижной станцией, записываются во входной буфер канального декодера в порядке перемежения субблоков. Поэтому перемежение субблоков можно обеспечить путем генерации адреса считывания Ak k-го кодового символа для индекса k (k=0, 1, 2, ..., 407) входного кодового символа канального декодера в соответствии с обратной функцией уравнения (2), приведенного выше, и считывания кодового символа в соответствующий адрес из канального декодера. Представленное ниже уравнение (3) является выражением для генерации адреса считывания Ak с использованием обратной функции Bi из уравнения (2).

Уравнение (2) и уравнение (3) рассматривались для R=0. Однако, так как R имеет ненулевые значения для всех размеров кодирующих пакетов, указанных в таблице 1, включая NEP=408, выражение для генерации адреса считывания для перемежения субблоков не такое простое, как уравнение (3).

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

На фиг.5 проиллюстрировано устройство для выполнения деперемежения субблоков на прямом трафике пакетных данных согласно варианту осуществления настоящего изобретения. Показанное устройство выполняет деперемежение субблоков на каждом перемеженном субблоке с выхода блока 222 дегруппировки символов субблока в приемнике подвижной станции, изображенном на фиг.3.

На фиг.5 перемеженные кодовые символы одного субблока записываются во входной буфер 310 для канального декодера 330 в перемеженном порядке. При этом структура памяти входного буфера 310 построена в форме матрицы памяти 2mxJ согласно размеру NEP кодирующего пакета, и кодовые символы записываются в матрицу памяти в порядке столбец→строка, как было описано этапом 40 на фиг.4. Генератор 320 адреса деперемежения генерирует адрес считывания для считывания кодовых символов из входного буфера 310 согласно правилу деперемежения, соответствующему правилу перемежения, использованному в передатчике базовой станции.

Уравнение (4), приведенное ниже, иллюстрирует выражение для генерации адреса считывания в генераторе 320 адреса деперемежения.

В данном случае "k" - индекс кодового символа, который запрошен канальным декодером 330, "Ak" - адрес считывания из входного буфера 310, в котором было отражено перемежение субблока, "IAk" - промежуточный адрес, "C(rk)" - коэффициент коррекции адреса для промежуточного адреса, и "rk" индекс строки матрицы перемеженных кодовых символов.

Более конкретно, генератор 323 промежуточного адреса принимает индекс k кодового символа из канального декодера 330 и генерирует промежуточный адрес IAk, для которого не рассматривался последний столбец, и индекс строки rk для k. Корректор 324 адреса принимает индекс строки rk и генерирует коэффициент коррекции адреса C(rk) для соответствующей строки, а сумматор 326 суммирует коэффициент коррекции адреса C(rk) соответствующей строки с промежуточным адресом IAk и посылает конечный адрес считывания Ak во входной буфер 310.

Затем входной буфер 310 выдает кодовый символ, соответствующий адресу считывания Ak в канальный декодер 330. Цикл этих процедур продолжается до тех пор, пока не будут считаны все кодовые символы, записанные во входном буфере 310.

Теперь будет более подробно описана генерация промежуточного адреса генератором 322 промежуточного адреса. Изображенный на фиг.5 генератор 322 промежуточного адреса принимает индекс k кодового символа, который запрошен для приема канальным декодером 330, и выдает промежуточный адрес IAk и соответствующий индекс строки rk. Допустим, что матрица памяти входного буфера 310 для записи перемеженных кодовых символов одного субблока имеет формат матрицы, показанной на этапе 44 на фиг.4, тогда индекс строки rk k-го кодового символа можно просто вычислить как

где "m" указывает величину сдвига разрядов, показанную в таблице 1.

Как отмечалось выше, промежуточным адресом является промежуточный адрес считывания, сгенерированный при допущении, что остаток R в таблице 1 равен 0 или общему количеству (=2m) строк. В этом случае перемеженные кодовые символы, записанные во входной буфер 310, образуют идеальную матрицу 2mx(J-1) или 2mxJ.

Согласно таблице 1 для 5 видов кодирующих пакетов с NEP ≤3096, R меньше, чем 2m-1, что равно половине общего количества строк, тогда как для кодирующих пакетов с NEP=3864, R больше, чем 2m-1. Когда R меньше, чем половина количества строк, если используется матрица 2mx(J-1), только R элементов можно рассматривать дальше во время коррекции адреса. И напротив, когда R больше, чем половина количества строк, если используется матрица 2mxJ, только (2m-R) элементов исключаются во время коррекции адреса. Поэтому выражение для генерации промежуточного адреса в целях дополнительного упрощения работы корректора 324 адреса делится на два типа в зависимости от величины остатка R, как показано уравнением (6) ниже.

(6)

Далее будет более подробно описана коррекция адреса корректором 324 адреса. Корректор 324 адреса принимает индекс строки rk из генератора 322 промежуточного адреса и выдает коэффициент коррекции адреса C(rk). Как отмечалось выше, если остаток R по размеру кодирующего пакета меньше, чем половина, т.е. 2m-1, количества строк, то коэффициент коррекции адреса повышается на единицу каждый раз, когда возникает элемент, который следует рассматривать дополнительно. И напротив, если остаток R больше, чем половина количества строк, то коэффициент коррекции адреса уменьшается на единицу каждый раз, когда генерируется элемент, подлежащий исключению.

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

Пример 1: NEP=20, m=4, J=2 и R=4

В примере 1 остаток R меньше, чем 8(=2m-1), составляющее половину числа строк.

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

В матрице перед операцией BRO кодовые символы последнего столбца располагаются в индексах строк 0, 1, 2 и 3, но после операции BRO кодовые символы последнего столбца равномерно рассеиваются, сохраняя при этом одинаковое расстояние 4 (=16/4) и сдвигаясь тем самым к соответствующим индексам строк 0, 4, 8 и 12. Такая дисперсия возникает в результате особенности операции BRO, при этом понятно, что при использовании такой особенности коэффициент коррекции адреса для R<2m-1 увеличивается на единицу в каждой 4-й строке после того, как кодовый символ впервые появляется в последнем столбце.

На фиг.7 проиллюстрированы последовательно индекс строки rk, промежуточный адрес IAk, коэффициент коррекции адреса C(rk) и конечный адрес считывания Ak, сгенерированный для индекса k кодового символа в примере 1. Как показано, конечный адрес считывания Ak - это значение, определенное путем прибавления коэффициента коррекции адреса C(rk) к промежуточному адресу IAk, и коэффициент коррекции адреса C(rk) увеличивается на единицу в следующих строках каждый раз, когда кодовый символ появляется в последнем столбце, потому что если вставить кодовый символ, подлежащий дальнейшему учету для последнего столбца, который не был учтен во время генерации промежуточного адреса, то дополнительно размещается адрес считывания для вставленного кодового символа, и в результате следующие за ним промежуточные адреса должны сдвигаться вперед на единицу.

Это значит, что коэффициент коррекции адреса C(rk) можно вычислить путем определения строки матрицы, к которой принадлежит кодовый символ, записанный во входной буфер 310, имеющий индекс k, запрошенный канальным кодером 330, и определения количества строк, в которые вставлены кодовые символы, не учтенные во время генерации промежуточного адреса перед строкой, к которой принадлежит соответствующий кодовый символ.

Например, поскольку индекс строки кодового символа с индексом k=10 равен 5, а количество строк, в которые вставлены кодовые символы, не учтенные во время генерации промежуточного адреса до этой строки, равно 2 (индекс строки = 0,4), коэффициент коррекции адреса для индекса 10 кодового символа становится 2. Процесс вычисления коэффициента коррекции адреса определяется как

В данном случае, "d" - это значение, определенное путем деления общего количества строк на количество кодовых символов, подлежащих вставке, или количества строк, в которые следует вставить кодовые символы, и означает межстрочное расстояние кодовых символов, принадлежащих последнему столбцу. Далее, "r" означает индекс строки, в которой расположен первый вставленный кодовый символ из оставшихся кодовых символов, вставленных в последнем столбце. Так как кодовый символ, вставленный первым в последний столбец, всегда располагается в индексе строки 0 из-за особенности операции BRO, r+ равно 0. Однако если существует кодовый символ, который уже был вставлен в последний столбец согласно остатку R и количеству строк, то определяется индекс строки r+ первого кодового символа, дополнительно вставленного согласно индексу строки уже вставленного кодового символа. В коэффициенте коррекции адреса Cd+ по уравнению (7) знак "+" служит для указания, что кодовый символ "вставлен" в последний столбец", а "d" указывает отношение количества строк, в которые вставляются кодовые символы, к общему количеству строк.

Если уравнение (7) применить к примеру 1, то выражение для генерации коэффициента коррекции адреса будет иметь форму

Пример 2: NEP=20, m=4, J=2 и R=12

В примере 2 остаток R больше, чем 8 (=2m-1), составляющее половину количества строк.

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

В матрице перед операцией BRO на строках кодовые символы, подлежащие исключению из последнего столбца, располагаются в индексах строк 12, 13, 14 и 15, но кодовые символы, подлежащие исключению после операции BRO, рассеяны, сохраняя при этом одинаковое межстрочное расстояние 4 (=16/4), так что они сдвинуты к соответствующим индексам строк 3, 7, 11 и 15. Такая дисперсия возникает из-за особенности операции BRO, но при этом понятно, что при использовании этой особенности коэффициент коррекции адреса для R≥2m-1 уменьшается на единицу в каждой 4-й строке после того, как кодовый символ впервые исключается из последнего столбца.

На фиг.9 последовательно проиллюстрированы индекс строки rk, промежуточный адрес IAk, коэффициент коррекции адреса C(rk) и конечный адрес считывания Ak, сгенерированный для индекса k кодового символа в примере 2. Как показано, конечный адрес считывания C(rk) является значением, определенным путем суммирования отрицательного коэффициента коррекции адреса C(rk) и промежуточного адреса IAk, и коэффициент коррекции адреса C(rk) уменьшается на единицу в следующих строках каждый раз, когда кодовый символ исключается из последнего столбца. Это происходит потому, что если вставляется кодовый символ, который не должен был рассматриваться и который рассматривался во время генерации промежуточного адреса, то необходимо удалить адрес считывания, выделенный для исключенного кодового символа, в результате следующие за ним промежуточные адреса должны сдвинуться назад на единицу.

То есть коэффициент коррекции адреса C(rk) можно вычислить путем определения строки матрицы, к которой принадлежит кодовый символ, записанный во входной буфер 310, имеющий индекс k, запрошенный канальным кодером 330, и определения количества строк, в которые вставляются кодовые символы, которые рассматривались во время генерации промежуточного адреса перед строкой, к которой принадлежит соответствующий кодовый символ.

Например, так как индекс строки кодового символа с индексом кодового символа k=13, запрошенного канальным декодером 330 на фиг.5, равен 11, а количество строк, из которых исключены кодовые символы, которые рассматривались во время генерации промежуточного адреса этой строки, равно 2 (индекс строки=3,7), коэффициент коррекции адреса для индекса 13 кодового символа становится -2. Процесс вычисления коэффициента коррекции адреса определяется как

В данном случае "d" - это значение, определенное путем деления общего количества строк на количество кодовых символов, подлежащих исключению, или количества строк, из которых должны быть исключены кодовые символы, и оно означает межстрочное расстояние кодовых символов, подлежащих исключению из последнего столбца. Кроме того, "r-" означает индекс строки, в которой расположен первый исключенный кодовый символ. Так как кодовый символ, первым исключенный из последнего столбца, всегда расположен в индексе строки d-1 в свете особенности операции BRO, r- = d-1. Однако когда существует кодовый символ, который уже был исключен в состоянии, когда последний столбец не заполнен полностью согласно остатку R и количеству строк, определяется индекс строки r- первого кодового символа, дополнительно исключенного согласно индексу строки ранее исключенного кодового символа. В коэффициенте коррекции адреса Cd- уравнения (9) "-" служит для указания, что кодовый символ "исключается" из последнего столбца, а "d" служит для указания отношения количества строк, из которых исключены кодовые символы, к общему количеству строк.

Если уравнение (9) применить к примеру 2, то выражение для генерации коэффициента коррекции адреса для примера 2 будет иметь форму

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

При этом, если "d" не является натуральным числом, то выражения для генерации коэффициента коррекции адреса с использованием особенности операции BRO, описанной в связи