Адресный генератор и способ генерирования адреса для использования в турбоперемежителе/обращенном перемежителе

Реферат

 

Изобретение относится к турбоперемежителю /обращенному перемежителю в системе радиосвязи. В адресном генераторе первый счетчик подсчитывает множество тактовых импульсов, генерирует первый групповой счет, который индицирует один из групповых адресов блока перемежения на каждом тактовом импульсе, генерирует перенос после подсчета заданного числа тактовых импульсов, а второй счетчик принимает перекос из первого счетчика, подсчитывает его, генерирует позиционный счет, индицирующий один из позиционных адресов в каждой группе. Контроллер управляет первым и вторым счетчиками. Операционное устройство подвергает групповой счет и позиционный счет расчету по формуле рекурсии и генерирует результирующие разряды. Буфер запоминает пригодные адреса, образованные из реверсивных разрядов, принятых от блока реверсирования разрядов, и результирующие разряды, принятые от операционного устройства. Достигаемый технический результат - генерирование адреса в каждом заданном периоде для турбоперемежения/обращенного перемежения. 6 с. и 6 з.п.ф-лы, 7 ил., 9 табл.

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

Уровень техники Турбокодер (т. е. кодер, использующий турбокоды) может использоваться в качестве кодера для системы радиосвязи, такой как спутниковая система, ЦСКУ (цифровая сеть с комплексными услугами), цифровая система сотовой связи, Ш-МДКР (широкополосная система множественного доступа с кодовым разделением каналов) и международная система мобильной связи-2000 IMT-2000 (МДКР-2000). Турбокодер включает в себя перемежитель, который рандомизирует информацию, вводимую в турбокодер. Перемежитель является существенным фактором в характеристике турбокодера, потому что он улучшает разнесение кодовых слов.

Фиг. 1 представляет собой блок-схему турбокодера с турбоперемежителем, к которому применимо настоящее изобретение. Подробности см. в патенте США 5446747, опубликованном 19 августа 1995 года.

На фиг. 1 турбокодер содержит первый основной кодер 10 для кодирования входных кадровых данных dk в Y1k, перемежитель 30 для перемежения входных кадровых данных dk и второй основной кодер 20 для кодирования выходного сигнала перемежителя 30 в Y2k. Для входных данных dk на фиг.1 показаны выходы турбо кодера Хk без кодирования, Y1k после кодирования и Y2k после перемежения и кодирования. Первый и второй основной кодеры 10 и 20 могут быть РСС (рекурсивными систематическими сверточными) кодерами, которые общеизвестны в уровне техники. Основные кодеры могут изменяться по конструкции в зависимости от их скорости передачи кода.

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

Перемежитель 30 включает в себя адресный генератор 32, счетчик 34 и память 36 перемежителя. Память 36 перемежителя запоминает входные кадровые данные dk согласно адресам записи, принятым от счетчика 34, и выдает данные согласно адресам считывания, принятым от адресного генератора 32. Адресный генератор 32 генерирует адрес считывания, который используется для переупорядочивания битов данных, и подает этот адрес считывания в память 36 перемежителя. Адрес считывания генерируется согласно длине кадра входных данных и символьному тактовому сигналу. Счетчик 34 принимает символьные тактовые импульсы и выдает подсчитанное значение символьных тактовых импульсов в качестве адреса записи в память 36 перемежителя. Перемежитель 30 выводит данные, запомненные в памяти 36 перемежителя, на второй основной кодер 20.

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

В описании IMT-2000 и в описании IS-95C турбокодер линейной конгруэнтной последовательности (ЛКП), составленный, как показано на фиг.1, в последнее время принят в качестве турбокодера. Конкретно, предусмотрено, что турбокоды должны использоваться для дополнительного канала, который является каналом передачи по эфирному интерфейсу IMT-2000 и IS-95C, и для канала данных в УСМС (универсальная система мобильной связи), разработанным ЕИСЭ (Европейским институтом стандартов электросвязи).

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

На фиг. 2 нижние 5 битов или младшие двоичные разряды (МДР) выходного сигнала входного счетчика 110 подаются в просмотровую таблицу 130 для запоминания значений начальных чисел (С-значений) каждой группы и блок 140 реверсирования разрядов. 5 нижних битов индицируют одну из 25 групп перемежающихся блоков, которая определяется согласно размеру перемежителя. Блок 140 реверсирования разрядов реверсирует младшие 5 разрядов и прикладывает реверсированные разряды к наивысшей позиции или старшим двоичным разрядам (СДР) генератора 160 выбора адреса. Просмотровая таблица 130 подает n-разрядное С-значение, основанное на введенных младших 5 разрядах, в устройство 150 перемножения и сложения по модулю.

В то же время старшие 5 разрядов или СДР, выданные из внутреннего счетчика 110, подаются в первый сумматор 120. Здесь старшие n разрядов индицируют один из 2n адресов в каждой группе и используются в качестве переменной для изменения порядка битов данных в группе. Первый сумматор 110 добавляет 1 к принятым старшим n разрядам и подает сумму на устройство 150 перемножения и сложения по модулю. Устройство 150 перемножения и сложения по модулю подвергает входные n разрядов и начальное n-разрядное значение С каждой группы перемножению и сложению по модулю, а затем подает результат на генератор 160 выбора адреса. Сложение по модулю относится к остальным младшим n разрядам суммы, получающейся из перемножения выхода сумматора 120 на выход просмотровой таблицы 130. Генератор 160 выбора адреса формирует адрес, в котором выходом блока 140 реверсирования разрядов для турбоперемежения являются старшие 5 разрядов, СДР, а выходом устройства 150 перемножения и сложения по модулю являются младшие n разрядов МДР. Если формируемый адрес больше или равен размеру адреса турбоперемежителя, генератор 160 выбора адреса отбрасывает этот адрес. Т.е. генератор 160 выбора адреса выводит адрес только если он меньше, чем размер адреса турбоперемежителя. Выведенный адрес подается в качестве адреса для памяти перемежителя, показанной на фиг.1.

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

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

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

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

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

Эти и иные задачи решаются путем создания адресного генератора и способа генерирования адреса. Согласно одному аспекту настоящего изобретения адресный генератор генерирует пригодные адреса, которых меньше, чем 2k+n, и которые поделены на 2k групп, каждая из которых имеет 2n позиционных адресов без перфорирования (выбраковывания) адресов из непригодных групп и непригодных адресов из групп, в которых пригодные адреса имеются частично. В адресном генераторе первый счетчик подсчитывает тактовые импульсы, генерирует первое значение группового счета, состоящее из k разрядов и индицирующее одну из 2k групп на каждом тактовом импульсе, и генерирует перенос после подсчета 2k тактовых импульсов.

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

Блок реверсирования разрядов принимает k разрядов от первого счетчика и реверсирует эти k разрядов (изменяет порядок их следования на обратный). Операционное устройство принимает первое значение группового счета и первое значение позиционного счета, осуществляет над принятыми значениями счета операцию С(j+1) mod 2n (С - значение начального числа, соответствующее первому значению группового счета, а j - первое значение позиционного счета) и генерирует результат i. Буфер запоминает пригодные адреса, образованные из реверсированных разрядов, принятых от блока реверсирования разрядов, и разряды i, принятые от операционного устройства.

Краткое описание чертежей Вышеуказанные и другие задачи, признаки и преимущества настоящего изобретения станут понятны из нижеследующего подробного описания при рассмотрении его с сопровождающими чертежами, на которых: Фиг.1 представляет собой блок-схему типичного турбоперемежителя, к которому применимо настоящее изобретение; Фиг. 2 представляет собой блок-схему обычного адресного генератора для турбоперемежения; Фиг. 3 представляет собой блок-схему адресного генератора для турбоперемежения согласно предпочтительному примеру выполнения настоящего изобретения; Фиг.4 представляет собой подробную блок-схему входного счетчика по фиг.3 согласно предпочтительному примеру выполнения настоящего изобретения; Фиг. 5 является блок-схемой алгоритма, иллюстрирующего вариант способа генерирования адреса согласно предпочтительному примеру выполнения настоящего изобретения; Фиг. 6 является блок-схемой алгоритма другого варианта способа генерирования адреса согласно предпочтительному примеру выполнения настоящего изобретения; Фиг.7 иллюстрирует пример операций счета во входном счетчике, показанном на фиг. 4, согласно предпочтительному примеру выполнения настоящего изобретения.

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

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

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

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

На фиг. 3 адресный генератор предпочтительного примера выполнения включает в себя контроллер 200, входной счетчик (ВХ_СЧЕТЧИК) 210 и блоки 120-150 генерирования адреса для рандомизации входных адресов и генерирования адресов турбоперемежения из рандомизированных адресов. Сумматор 120, просмотровая таблица 130, блок 140 реверсирования разрядов и устройство 150 перемножения и сложения по модулю являются типичными компонентами, как это рассмотрено в общепринятом адресном генераторе, показанном на фиг.2. Другие компоненты - контроллер 200 и счетчик 210 - характерны для предпочтительного примера выполнения настоящего изобретения.

Контроллер 200 преобразует заданное значение размера турбоперемежителя (длину входного кадра) Nturbo в соответствующее двоичное число и путем анализа этого двоичного числа определяет, какие адреса следует отбросить среди адресов, которые могут быть сгенерированы. Здесь для отбрасывания выбираются адреса, больше или равные Nturbo. Входной счетчик 210 под управлением контроллера 200 непрерывно выдает адресные разряды для использования при генерировании остальных адресов.

Конкретно, контроллеру 200 необходимо анализировать старшие 5 разрядов - СДР (первый порог) адреса конечного двоичного числа, представляющего число перемежающихся блоковых групп, для определения, какие адреса имеют старшие 5 разрядов больше, чем первый порог, и отбросить их. Однако, когда адрес конечного двоичного числа выводится из адресного буфера 220, уже слишком поздно гарантировать, что выходной адрес является пригодным. Поэтому в предпочтительном примере выполнения настоящего изобретения контроллер анализирует младшие 5 разрядов - МДР, подлежащие выведению из входного счетчика 210, потому что эти пять МДР, будучи реверсированы в блоке 140 реверсирования разрядов, становятся пятью СДР конечного выходного адреса. Таким образом, контроллер может исключить непригодные адреса до того, как они будут созданы. Входной счетчик 210 под управлением контроллера 200 лишь выводит исходные разряды, которые будут генерировать пригодные адреса.

Когда входной счетчик 210 собирается генерировать исходные разряды (5 МДР), которые будут генерировать выходной адрес с пятью СДР, равными первому порогу, контроллер 200 управляет входным счетчиком 210 на основании оставшихся исходных разрядов, а именно n СДР, подлежащих выведению из входного счетчика 210. В отношении конечного выходного адреса, когда он имеет старшие 5 разрядов, равными первому порогу, он будет отброшен, если полный адрес (равный старшим 5 разрядам и младшим n разрядам) больше или равен Nturbo. С другой стороны, если полный конечный выходной адрес (равный старшим 5 разрядам и младшим n разрядам) меньше, чем Nturbo, этот полный адрес может быть использован. Поэтому определение того, какие адреса выборочно генерировать или отбрасывать, зависит от младших n разрядов (второй порог) двоичного числа. По отношению ко входному счетчику 210 это означает, что контроллер должен управлять входным счетчиком 210 так, чтобы он вырабатывал только старшие n, т. е. СДР, исходные разряды, которые завершат генерирование младших n, т.е. МДР, выходных разрядов, которые меньше второго порога.

Входной счетчик 210 под управлением контроллера 200 не выдает никаких значений счета или исходных разрядов, которые будут генерировать выходные адреса больше или равные Nturbo, как установлено выше. По сравнению со счетчиком 110 прототипа, который выдает значения счета [0...2n+5-1], включая и значения счета, которые будут генерировать адреса больше или равные Nturbo, и тем самым подлежащие отбрасыванию, входной счетчик 210 выдает значения счета [0. . . Nturbo-1], которые будут генерировать только адреса меньше, чем Nturbo. Способ, которым контроллер 200 определяет, какие адреса подлежат отбрасыванию, и операция счета входного счетчика 210 будет пояснена в нижеследующем описании со ссылками на таблицы.

На фиг. 3 рандомизирующий блок, включающий в себя сумматор 120, просмотровую таблицу 130, блок 140 реверсирования разрядов и устройство 150 перемножения и сложения по модулю, рандимизирует входную адресную последовательность, подсчитываемую (или выводимую) входным счетчиком 210. В нижеследующем описании исходные разряды, выводимые входным счетчиком 210, будут называться входным адресом, тогда как конечные разряды, поступающие в выходной адресный буфер 220, будут называться выходным адресом. Сумматор 120 прибавляет конкретное значение "1" к старшим n разрядам входного адреса. Предположим, что принятое значение старших n разрядов, j=0, 1, 2,..., сумматор 120 выводит j+1=1, 2, 3,.... Просмотровая таблица 130 хранит множество начальных чисел (или С-значений), соответствующих конкретным группам, и выдает n-разрядное значение начального числа, соответствующее группе, представленной младшими пятью разрядами входного адреса.

Устройство 150 перемножения и сложения по модулю подвергает выходы сумматора 120 и просмотровой таблицы 130 перемножению и модульному сложению и выдает результат в качестве младших n разрядов, т.е. МДР, выходного адреса для турбоперемежения. Выходной сигнал перемножения и модульного сложения представляет собой сумму выходных сигналов сумматора 120 и просмотровой таблицы 130 с отброшенными младшими n разрядами. Если n-разрядное значение начального числа, соответствующее младшим пяти разрядам входного адреса, представляет собой С, а старшие n разрядов входного адреса есть j, то устройство 150 перемножения и модульного сложения выдает i (=С(1+1) mod 2n) согласно формуле реверсирования ЛКП. Блок 140 реверсирования разрядов реверсирует (меняет порядок на обратный) младшие 5 разрядов, принятые из входного счетчика 210, и выдает реверсированные разряды в качестве старших пяти разрядов выходного адреса. Выходы блока 140 реверсирования разрядов и устройства 150 перемножения и модульного сложения образуют соответственно старшие 5 разрядов и младшие n разрядов выходного адреса. Затем выходной адрес запоминается в буфере 220 и подается в качестве адреса считывания в память 36 перемежителя на фиг.1.

Когда адресный генератор, показанный на фиг.3, применяется для турбоперемежителя, (5+n)-разрядный выходной адрес подается в качестве адреса считывания в память 36 перемежителя на выходной стороне турбоперемежителя. Если же адресный генератор применяется для турбообращенного перемежителя, (5+n)-разрядный выходной адрес подается в качестве адреса записи в память обращенного перемежителя.

Фиг. 4 является подробной блок-схемой входного счетчика 210, показанного на фиг.3.

На фиг.4 входной счетчик 210 содержит групповой счетчик (ГР_СЧЕТЧИК) 212 для подсчета младших пяти разрядов [4:0] входного адреса и индексный счетчик (ИНД_ СЧЕТЧИК) 214 для подсчета старших n разрядов [n-1:0] входного адреса. Счетчики 212 и 214 подсчитывают множество символьных тактовых импульсов, как показано на фиг. 1, и генерируют соответственно 5-разрядное и n-разрядное значение на каждом тактовом импульсе. Младшие 5 разрядов, выводимые из группового счетчика 212, индицируют одну из 25 групп в перемежающемся блоке, определяемом размером перемежителя, и подаются в просмотровую таблицу 130 и блок 140 реверсирования разрядов. Старшие n разрядов, выводимые из индексного счетчика 214, индицируют один из 2n адресов для каждой группы. Здесь каждый адрес используется в качестве переменной для изменения порядка битов данных в соответствующей группе. Перенос, генерируемый в процессе счета в групповом счетчике 212, подается в индексный счетчик 214 и в контроллер 200. По получении переноса контроллер проверяет значение, подсчитанное индексным счетчиком 214, и выборочно наращивает значение, подсчитанное групповым счетчиком 212. Т. е. групповой счетчик 212 под управлением контроллера 200 перескакивает соответствующее значение и подсчитывает следующее значение в конкретный момент времени, причем последовательно считает, начиная от [00000] . Начальное значение группового счетчика 212 составляет [00000] и начальное значение индексного счетчика составляет [00...00].

Групповой счетчик 212 является счетчиком младших разрядов для подсчета младших пяти разрядов входного адреса, младшие 5 разрядов которого определяют старшие 5 разрядов выходного адреса, а индексный счетчик 214 является счетчиком старших разрядов для подсчета старших n разрядов входного адреса, старшие n разрядов которого определяют младшие n разрядов выходного адреса. Согласно предпочтительному примеру выполнения настоящего изобретения входной счетчик 210 генерирует (n+5)-разрядный входной адрес, из которого выходной адрес генерируется согласно размеру турбоперемежителя, при этом никогда не генерируется входной адрес, на основании которого результирующий выходной адрес должен быть отброшен.

При 25 (=32) групп, выданных согласно размеру перемежителя, и 2n позиционных адресов в каждой группе адресный генератор, показанный на фиг.3 и 4, генерирует пригодные адреса, которые меньше, чем 25+n.

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

Для этой цели групповой счетчик 212 в адресном генераторе подсчитывает множество тактовых импульсов. На каждом тактовом импульсе групповой счетчик 212 генерирует первое значение группового счета, которое состоит из k разрядов и индицирует одну из 2k групп, а затем генерирует значение переноса после подсчета k тактовых импульсов. Индексный счетчик 214 подсчитывает множество тактовых импульсов и генерирует первое значение позиционного счета, которое состоит из n разрядов и индицирует один из 2n адресов в группе на каждом тактовом импульсе. Контроллер 200 запоминает вторые значения группового счета, индицирующие непригодные группы, третьи значения группового счета, индицирующие группы, которые имеют как пригодные, так и непригодные позиционные адреса, и вторые значения позиционного счета, индицирующие непригодные позиционные адреса. Если первым значением группового счета является одно из вторых значений группового счета или же, если первым значением группового счета является одно из третьих значений группового счета и первым значением позиционного счета является одно из вторых значений позиционного счета, контроллер 200 управляет групповым счетчиком 212 и индексным счетчиком 214 так, чтобы первое значение группового счета и первое значение позиционного счета не выводились. Блок 140 реверсирования разрядов реверсирует разряды первого значения группового счета, состоящие из k разрядов. Реверсированные k разрядов запоминаются в выходном буфере 220 и используются как старшие k разрядов, СДР, выходного адреса.

Операционный блок, включающий в себя сумматор 120, просмотровую таблицу 130 и устройство 150 перемножения и модульного сложения, принимает первое значение группового счета, создает значение начального числа С, соответствующее первому значению группового счета, а затем генерирует результат i с помощью формулы реверсирования ЛКП C(j+l) mod 2n (j является первым значением позиционного счета). Этот результат i запоминается в буфере 220 и используется в качестве младших n разрядов, МДР, выходного адреса для турбоперемежения/обращенного перемежения.

Анализ показывает, что последовательность отброшенных адресов следует правилу. Используя это правило, контроллер 200 управляет входным счетчиком 210 так, чтобы он не подсчитывал никакие значения, из которых могли бы генерироваться адреса, подлежащие отбрасыванию, тем самым преодолевая разрывность генерирования выходных адресов. Нижеследующее описание приводится в контексте турбоперемежителя ЛКП, применяемого в IS-95C, т.е. в контексте существующего турбокодека 1х, который поддерживает две скорости RS1 и RS2 передачи данных.

В табл. 1 Nturbo (=L) представляет собой размер реального турбо перемежителя (размер входных кадровых данных), а n является числом разрядов каждого позиционного адреса в каждой группе, как определено согласно Nturbo, т.е. значение для изменения порядка битов данных в каждой группе. К примеру, если Nturbo составляет 378, число адресов равно 512 (=29) согласно описанию IS-95C. Это значит, что каждый полный выходной адрес имеет 9 разрядов. Таким образом, число адресов в каждой группе равно 24, потому что согласно стандарту IS-95C в перемежающемся блоке заданы 25 (=32) групп. Значит, в каждом групповом адресе есть 5 разрядов и 4 разряда в каждом позиционном адресе в группе. М есть период ЛКП, 2n. Nturbo(2) или L(2) представляет собой значение размера турбоперемежителя, выраженное двоичным числом. Первый порог указывает старшие 5 разрядов в L(2). Второй порог представляет собой порог, указывающий младшие n разрядов в L(2) (тем самым исключая старшие 5 разрядов), выраженные десятичным числом. Любой полный адрес с групповым адресом, большим чем первый порог, является непригодным адресом. Любой полный адрес с групповым адресом, равным первому порогу, и с позиционным адресом большим или равным второму порогу, является непригодным адресом.

В табл. 1 L(2) имеет одни и те же старшие 5 разрядов или первый порог "10111" при RS1 и "10001" при RS2 независимо от Nturbo. При RS1 выходной адрес со старшими пятью разрядами больше, чем "10111", подлежит отбрасыванию. При RS2 выходной адрес со старшими пятью разрядами больше, чем "10001", подлежит отбрасыванию. Поэтому прерывистое генерирование выходных адресов можно предотвратить путем управления входным счетчиком 210, чтобы он не выводил входной адрес, младшие 5 разрядов которого будут генерировать старшие 5 разрядов выходного адреса, который должен быть отброшен. Поскольку старшие 5 разрядов, 5 СДР выходного адреса представляют собой реверсированные разряды младших 5 разрядов, 5 МДР, подсчитанных (или выданных) входным счетчиком 210, осуществляется управление входным счетчиком 210 так, чтобы он генерировал только входные адреса, в которых младшие 5 разрядов после их реверсирования не превышают порог старших 5 разрядов. Этот порог старших 5 разрядов, который является первым порогом = "10111" при RS1 и первым порогом = "10001" при RS2, реверсируется в "11101" и "10001". Следовательно, контроллер 200 управляет входным счетчиком 210 так, чтобы он не выводил входной адрес, младшие 5 разрядов которого после реверсирования больше, чем первый порог, для того, чтобы непрерывно генерировались пригодные выходные адреса.

Определение адресов, подлежащих отбрасыванию Табл. 2 и 3 дают перечень значений счета группового счетчика 212, соответствующие адресам, подлежащим отбрасыванию среди выходных адресов, определенных согласно размеру турбо перемежителя при RS1 и RS2 соответственно.

В табл. 2 выходные адреса могут быть разделены на три вида (только два из которых показаны в табл. 2) согласно значениям их старших 5 разрядов при RS1. Выходные адреса: генерируются, если их 5 СДР (ВЫХ_АДРЕС [n+k-1:n] или ВЫХ_ АДРЕС [8: 5]) находятся в диапазоне от 00000 (=0) до 10111 (=22); отбрасываются, если они находятся в диапазоне от 11000 (=24) до 11111 (=31); и отбрасываются или генерируются согласно их младшим n разрядам, если они равны 10111 (= 23= первому порогу). 5 СДР или ВЫХ_АДРЕС[8:4] выходного адреса соответствуют 5 МДР или ГР_СЧЕТЧИК[4:0] = ГР_СЧЕТЧИК[k-1: 0] входного адреса.

Как следует из табл. 2, набор входных адресов, которые будут порождать непригодные выходные адреса, показан в уравнении (1) ниже. Точнее, десятичный эквивалент исходных разрядов входного адреса (или ГР_СЧЕТЧИК) для части групповых адресов из непригодных выходных адресов расположены в нарастающем порядке как арифметическая прогрессия с начальным значением 3 и арифметической разностью 4.

Отбрасываемые ГР_СЧЕТЧИК[4:0]= {3, 7, 11, 15, 19, 23, 27, 31} (1) Если входной счетчик 210 не выдает никакие значения счета или входные адреса, при тех ГР_ СЧЕТЧИК, которые удовлетворяют уравнению (1), каждый выходной адрес будет меньше, чем Nturbo. Для того, чтобы это происходило, входной счетчик 210 сконструирован так, чтобы не генерировать никакие показатели или входные адреса, соответствующие непригодным адресам. Поскольку вышеуказанная последовательность образует арифметическую прогрессию с арифметической разностью 4, реальные входные адреса ВХ_СЧЕТЧИК[N+4:0] генерируются регулярно. Т.е. групповой счетчик 212 выдает в точности следующие десятичные эквиваленты: ГР_ RS1 = {0, 1, 2, 4, 5, 6, 8, 9, 10, 12, 13, 14, 16, 17, 18, 20, 21, 22, 24, 25, 26, 28, 29, 30}... (2) Только групповые адреса, соответствующие значениям счета, которые включены в группу, показанную в уравнении (2), используются в качестве части групповых адресов в выходных адресах для турбоперемежителя ЛКП. Здесь используется одна и та же последовательность ВХ_СЧЕТЧИК для генерирования пригодных выходных адресов при RS1 вне зависимости от размеров турбоперемежителя. Т.е. групповой счетчик 212 просто генерирует двоичные эквиваленты десятичных, показанных в уравнении (2), при RS1 независимо от n.

Однако, если старшие 5 разрядов выходного адреса равны 10111 (=23) (ВЫХ_ АДРЕС[8:4]=(10111)), т.е. если младшие 5 разрядов входного адреса представляют собой ГР СЧЕТЧИК[4:0] =(11101), выходные адреса можно отбрасывать выборочно. Параметрами, используемыми для определения того, какие адреса нужно отбросить, являются ИНД_СЧЕТЧИК[N-1:0] и С.

В табл. 3 выходные адреса также подразделяются на три вида согласно значениям их старших 5 разрядов при RS2. Выходные адреса ВЫХ_АДРЕС[n+k-1:0] генерируются, если части групповых адресов ВЫХ_АДРЕС(n+k-1:n] выходных адресов находятся в диапазоне от 00000 (0) до 10000 (16); отбрасываются, если они находятся в диапазоне от 10010 (18) до 11111 (31); и отбрасывался или генерируются согласно их младшим n разрядам, если они равны 10001 (17).

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

Отбрасываемые ГР_СЧЕТЧИК[4:0] = {3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31} (3) Если входной счетчик 210 не выдает никакие значения счета при тех ГР_ СЧЕТЧИК, которые удовлетворяют уравнению (3), каждый выходной адрес будет меньше, чем Nturbo. Это предполагает, что входной счетчик 210 сконструирован так, чтобы не генерировать адреса, относящиеся к непригодным выходным адресам. Поскольку вьшеукаэанная последовательность образует арифметическую прогрессию с арифметической разностью 2, реальные входные адреса ВХ_СЧЕТЧИК[n+4:0) генерируются регулярно, т.е групповой счетчик 212 выдает в точности двоичные эквиваленты десятичных значений, показанных в уравнении (4).

ГР_ RS2 = {0, 1, 2, 4, 6, 8, 10, 12, 14, 16, 17, 18, 20, 22, 24, 26, 28, 30}... (4) Только адреса, соответствующие значениям счета, которые включены в группу, показанную в уравнении (4), используются в качестве выходных адресов для турбоперемежителя ЛКП. Здесь одна и та же последовательность ГР_СЧЕТЧИК используется для генерирования пригодных выходных адресов при RS2 вне зависимости от размера турбоперемежителя. Т.е. групповой счетчик 212 просто генерирует двоичные эквиваленты десятичных значений, показанных в уравнении (4) при RS2 независимо от n.

Однако, если старшие 5 разрядов выходного адреса равны 10001 (17) (ВЫХ_ АДРЕС[8: 4]-(10001)), т.е. младшие 5 разрядов входного адреса равны ГР_СЧЕТЧИК[4:0]=(10001), выходной адрес может быть выборочно отброшен. Параметрами, используемыми для определения того, нужно ли отбрасывать адрес, являются ИНД__СЧЕТЧИК[n-1:0] и С.

Выходные адреса можно генерировать на каждом символьном интервале путем конструирования группового счетчика 212 для выдачи его разрядов, т.е. младших 5 разрядов входного адреса, удовлетворяющих уравнению (2) или уравнению (4), как установлено выше. В случаях, когда ВЫХ_АДРЕС[8:4}=(10111), т.е. ГР_ СЧЕТЧИК[4: 0] =29 при RS1, и ВЫХ_АДРЕС[8:4]=(10001), т.е. ГР_СЧЕТЧИК[4:0]=17 при RS2, должна выполняться дополнительная процедура.

Табл. 4 и 5 показывают соотношение между n и С среди параметров турбоперемежителя ЛКЛ в IS-95C. В этих таблицах подчеркнутые позиции представляют группы, имеющие отброшенные адреса, а выделенные жирным шрифтом части представляют группы, имеющие отброшенные и генерируемые адреса. В отношении подчеркнутых групп входной счетчик 210 не выполняет никакие операции счета. С другой стороны, входной счетчик 210 подсчитывает значения для групп, выделенных жирным шрифтом. Вследствие этого все перемеженные адреса могут генерироваться без перфорирования (выбраковки) на выходном выводе турбоперемежителя ЛКП путем управления входным счетчиком 210 с учетом двух видов групп.

Табл. 4 показывает соотношение между n и С при RS1. Как отмечено в таблицах, входной счетчик 210 не работает в отношении групп с табличными индексами 3, 7, 11, 15, 19, 23, 27 и 31.

Табл. 5 показывает соотношение между n и С при RS2. Как отмечено в таблицах, входной счетчик 210 не работает в отношении групп с табличными индексами 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29 и 31.

Определение адресов, подлежащих выборочному отбрасыванию Теперь будет дано описание выборочного отбрасывания или генерирования адресов, имеющих старшие 5 разрядов равными старшим 5 разрядам размера турбоперемежителя, выраженного двоичным числом. Адреса, которые принадлежат к группе 29 в табл. 4 или группе 17 в табл. 5, выборочно генерируются или отбрасываются путем управления индексным счетчиком 214.

В табл. 6 и 7 вопрос о том, генерировать или отбрасывать адреса со старшими 5 разрядами, равными старшим 5 разрядам размера турбоперемежителя, определяется согласно второму порогу, т.е. младшим n разрядам размера турбоперемежителя. Осуществляют управление индексным счетчиком 214 так, чтобы он не генерировал никакие входные адреса со старшими n разрядами, соответствующими младшим n разрядам выходного адреса, которые больше второго порога или равны ему. Например, если второй порог равен 10, как показано в табл. 6, то выходные адреса с младшим n разрядами больше или равными 10 (ВЫХ_ АДРЕС[n-1: 0] =(10, 11, 12, 13, 14, 15}) предполагаются подлежащими отбрасыванию. Поэтому входной счетчик 210 не должен генерировать входные адреса со старшими n разрядами, соответствующими этим