Область техники
Настоящее изобретение относится к устройству и способу передачи данных, более конкретно к устройству и способу для повторной передачи данных, в которых имеются ошибки при передаче.
Предшествующий уровень техники
Для прямой передачи пакетных данных в системе мобильной связи мобильной станции назначается прямой выделенный канал от базовой станции. Системы мобильной связи, как указано ниже, включают в себя спутниковые системы связи, цифровые сотовые системы, системы стандартов W-CDMA (широкополосная система множественного доступа с кодовым разделением каналов, Ш-МДКР), UMTS (Универсальная система мобильной связи) и IMT-2000. После приема пакетных данных прямой линии связи мобильная станция определяет, насколько успешен прием, и если он успешен, то мобильная станция пересылает пакетные данные на свой более высокий уровень. С другой стороны, если обнаружены ошибки в пакетных данных, то мобильная станция запрашивает их повторную передачу с использованием процедуры гибридного запроса автоматического повторения (ГЗАП). Процедура ГЗАП представляет собой схему повторной передачи с использованием как прямого исправления ошибок (ПИО), так и запроса автоматического повторения (ЗАП), для того чтобы запросить повторную передачу пакетов данных, в которых обнаружены ошибки. Это увеличивает пропускную способность передачи и улучшает характеристики системы за счет канального кодирования для исправления ошибок. Основными методами канального кодирования являются сверточное кодирование и турбокодирование.
Система ГЗАП использует гибкое объединение для увеличения пропускной способности. Имеется два типа гибкого объединения: объединение разнесения пакетов и объединение кодов пакетов. Они также называются гибким объединением пакетов. Несмотря на субоптимальность в смысле эффективности по сравнению с объединением кодов пакетов, объединение разнесения пакетов широко используется, когда потери эффективности низки, ввиду простоты реализации.
Система пакетной передачи использует схему объединения кодов пакетов для улучшения пропускной способности передачи. Передатчик передает код с отличающейся скоростью передачи при каждой передаче пакета. Если в принятом пакете обнаружена ошибка, то приемник запрашивает повторную передачу и выполняет гибкое объединение данного пакета и повторно переданного пакета. Повторно переданный пакет может иметь код, отличающийся от кода предыдущего пакета. Схема объединения кодов пакетов представляет собой процесс объединения принятых N пакетов с коэффициентом кода R и кода с эффективным коэффициентом кода R/N перед декодированием, чтобы тем самым получить выигрыш кодирования.
Что касается схемы объединения разнесения пакетов, с другой стороны, передатчик передает код с одним и тем же коэффициентом кода R при каждой передаче пакета. Если в принятом пакете обнаружена ошибка, приемник запрашивает повторную передачу и выполняет гибкое объединение данного пакета и повторно переданного пакета. Повторно переданный пакет имеет код, идентичный коду предыдущего пакета. В этом смысле схема объединения разнесения пакетов может рассматриваться как усреднение символов в случайном канале. Схема объединения разнесения пакетов снижает мощность шумов путем усреднения гибких выходных результатов входных символов и обеспечивает возможность получения такого выигрыша разнесения, как это обеспечивается в многолучевом канале, так как тот же самый код повторно передается по каналу с замираниями. Однако схема объединения разнесения пакетов не обеспечивает дополнительного выигрыша за счет кодирования, который может быть получен в соответствии со структурой кода в схеме объединения кодов пакетов.
Ввиду простоты реализации большинство систем передачи пакетов используют схему объединения разнесения пакетов, которая изучается для выяснения возможностей применения в синхронной системе IS-2000 и в асинхронной системе UMTS. Причина этого состоит в том, что существующие системы передачи пакетов используют сверточные коды, и даже объединение кодов пакетов не обеспечивает большого усиления при использовании сверточных кодов с низкой скоростью передачи данных. В системе, поддерживающей повторные передачи с коэффициентом R=1/3, нет существенной разницы в характеристиках между объединением кодов пакетов и объединением разнесения пакетов. Таким образом, схема объединения разнесения пакетов выбирается с учетом сложностей в реализации. Однако использование турбокодов в качестве кодов ПИО требует отличающегося механизма объединения пакетов, так как турбокоды создаются как коды исправления ошибок, которые должны иметь рабочие характеристики, весьма близкие к “Пределу пропускной способности канала Шеннона”, и их характеристики в отличие от сверточных кодов изменяются очевидным образом с изменением коэффициентов кодирования. Поэтому можно сделать вывод, что схема объединения кодов пакетов может применяться в системе передачи пакетов данных, использующей турбокоды в схеме повторной передачи для достижения оптимальных характеристик.
Сущность изобретения
Поэтому задачей настоящего изобретения является создание устройства и способа для формирования субкодов для оптимального объединения кодов и применения субкодов в схеме ГЗАП в системе повторной передачи с использованием турбокодов.
Также задачей настоящего изобретения является создание устройства и способа для формирования дополнительных кодов из турбокодов и применения дополнительных кодов в схеме ГЗАП в системе связи.
Кроме того, задачей настоящего изобретения является создание устройства и способа для выполнения объединения разнесения и объединения кодов селективным образом для повторно передаваемых субкодов в системе мобильной связи.
Кроме того, задачей настоящего изобретения является создание устройства и способа для выполнения объединения кодов для первоначально переданных субкодов и выполнения объединения разнесения и объединения кодов селективно для повторно передаваемых субкодов.
Вышеуказанные и другие результаты достигаются в устройстве и способе для повторной передачи данных с обнаруженными ошибками в системе мобильной связи. Передатчик формирует S субкодов Ci (i=0, 1, 2,..., S-1) из информационного потока пакетов физического уровня (ПФУ) с использованием квазидополнительных турбокодов, первоначально передает первый субкод С0 и затем последовательно передает следующие субкоды каждый раз, когда принимается запрос повторной передачи для исходной передачи или для предыдущей передачи. После приема запроса повторной передачи для последнего субкода Cs-1 передатчик передает первый субкод С0 и затем последовательно передает следующие субкоды всякий раз, когда принимается запрос повторной передачи.
Краткое описание чертежей
Вышеуказанные и другие задачи, признаки и преимущества настоящего изобретения поясняются в последующем детальном описании, иллюстрируемом чертежами, на которых показано следующее:
фиг.1 - трафик, показывающий различие по рабочим характеристикам между объединением кодов пакетов и объединением разнесения пакетов в системе передачи пакетов данных с использованием турбокодов;
фиг.2 - блок-схема устройства формирования субкода, соответствующего возможному варианту осуществления настоящего изобретения;
фиг.3 - вариант осуществления передачи пакетов согласно процедуре ГАЗП согласно настоящему изобретению;
фиг.4 - другой вариант осуществления передачи пакетов согласно процедуре ГЗАП согласно настоящему изобретению;
фиг.5 - иллюстрация обработки временных интервалов по процедуре ГЗАП в случае пакета физического уровня (ПФУ), занимающего один временной интервал, согласно фиг.3;
фиг.6 - иллюстрация обработки временных интервалов по процедуре ГЗАП в случае ПФУ, занимающего два временных интервала, согласно фиг.4;
фиг.7 - блок-схема последовательности операций способа формирования первого субкода в наборе субкодов из квазидополнительных турбокодов (КДТК) согласно возможному варианту осуществления настоящего изобретения;
фиг.8 - блок-схема последовательности операций способа формирования средних субкодов в наборе КДТК согласно возможному варианту осуществления настоящего изобретения;
фиг.9 - блок-схема последовательности операций способа формирования последнего субкода в наборе КДТК согласно возможному варианту осуществления настоящего изобретения;
фиг.10 - блок-схема последовательности операций процедуры передачи данных согласно ГЗАП в соответствии с возможным вариантом осуществления настоящего изобретения;
фиг.11 - блок-схема последовательности операций процедуры приема данных согласно ГЗАП в соответствии с возможным вариантом осуществления настоящего изобретения;
фиг.12 - блок-схема последовательности операций, иллюстрирующая процедуру управления для объединения кодов, как показано на фиг.11.
Детальное описание предпочтительных вариантов осуществления настоящего изобретения
Предпочтительные варианты осуществления настоящего изобретения описаны ниже со ссылками на чертежи. В последующем описании хорошо известные функции или конструкции не описываются детально, чтобы не загромождать сущность изобретения несущественными деталями.
1. Объединение кодов пакетов
Настоящее изобретение предлагает способ формирования субкодов для оптимального объединения пакетов в системе передачи, использующей турбокоды, и систему, которая селективно использует схему объединения кодов пакетов и схему объединения разнесения пакетов в соответствии со скоростями передачи данных. Ниже описаны преимущества и выигрыш в рабочих характеристиках предлагаемой системы и протокола ГЗАП для работы системы.
Сначала приведено описание работы системы, которая селективно использует схему объединения кодов пакетов и схему объединения разнесения пакетов в соответствии со скоростями передачи данных.
В системе, использующей турбокоды с коэффициентом R=1/5, например, объединение кодов пакетов применяется до тех пор, пока коэффициент кодов, формируемых посредством гибкого объединения повторно передаваемых пакетов, не достигнет 1/5. Для последующих повторно передаваемых пакетов выполняется объединение разнесения пакетов и затем объединение кодов пакетов. Если первый пакет передается со скоростью передачи данных 1/3, то обеспечиваются требуемые символы избыточности при запросе повторной передачи, чтобы обеспечить суммарный коэффициент кода 1/5. Таким образом, когда приемник принимает оба пакета, то суммарный коэффициент кода становится равным 1/5. Каждый из следующих пакетов повторяется до передачи, и приемник выполняет объединение разнесения пакетов, а затем объединение кодов пакетов для повторно переданных пакетов со скоростью передачи данных 1/5.
В принципе известно, что нет существенных различий в рабочих характеристиках между схемой объединения разнесения пакетов и схемой объединения кодов пакетов для сверточных кодов с низкой скоростью передачи данных. Однако имеется очевидное различие между ними для турбокодов в отличие от сверточных кодов. Схема объединения кодов пакетов обеспечивает более высокий выигрыш по эффективности для турбокодов, чем схема объединения разнесения пакетов. Ввиду вышеописанного свойства турбокодов, процедура ГЗАП типа II/III с использованием турбокодов может заметно улучшить пропускную способность.
На фиг.1 представлен трафик, иллюстрирующий разницу в рабочих характеристиках между объединением кодов пакетов и объединением разнесения пакетов в случае применения турбокодов. Как показано на фиг.1, турбокод с низкой скоростью передачи данных порядка 1/6 обеспечивает более высокий выигрыш по рабочим характеристикам, чем турбокод с высокой скоростью передачи данных порядка 1/3 при одной и той же энергии символа Es, и дает выигрыш в рабочих характеристиках, равный 3 дБ относительно объединения кодов пакетов. Следовательно, формирование турбокодов с коэффициентом R=1/3 путем объединения кодов пакетов для субкодов с коэффициентом R=1/6 обеспечит получение выигрыша, который дают турбокоды со скоростью передачи данных менее 1/3, и одновременно выигрыш, обеспечиваемый объединением кодов для различных кодов.
Более конкретно, для одного и того же значения энергии символа Es и заданном коэффициенте кода турбокоды обеспечивают рабочие характеристики, близкие к “пределу пропускной способности канала Шеннона” в соответствии с коэффициентами кода, только если итерационное декодирование полностью выполнено, в отличие от сверточных кодов. Известно, что турбокод с низком коэффициентом кода обеспечивает более высокий выигрыш в рабочих характеристиках, чем турбокод с более высоким коэффициентом кода при той же самой энергии символа Es. Например, если R=1/3 снижается до R=1/6, то различие в рабочих характеристиках может быть оценено путем анализа изменения в “пределе пропускной способности канала Шеннона”. Причина предположения об одном и том же значении энергии символа независимо от R=1/3 или 1/6 для кривых на фиг.1 состоит в том, что та же самая энергия символа Es используется для каждой повторной передачи в системе ГЗАП по сравнению с обычным анализом рабочих характеристик турбокодов путем проверки снижения энергии символа, вызванного снижением коэффициентов кода.
Если Р=1/2-код повторяется однократно и два кода объединяются по процедуре разнесения пакетов в канале с аддитивным белым гауссовским шумом (АБГШ), то реализуется выигрыш в 3 дБ в смысле отношения энергии символа к шуму. То же самое имеет место для К=1/6-кода. Таким образом, кривая характеристики для R=1/3-турбокода сдвигается влево параллельно на +3 дБ вследствие выигрыша от объединения разнесения пакетов, а кривая характеристики для R=1/6-турбокода также сдвигается влево параллельно на +3 дБ при той же самой энергии символа. Здесь кривые рабочих характеристик получены для отношения энергии к шуму (Eb/No), которое измеряется для сравнения характеристик кодов в соответствии с коэффициентами кодов. Вследствие этого разница между кривыми характеристик турбокодов эквивалентна разнице в характеристиках между объединением разнесения пакетов и объединением кодов пакетов. Разница в характеристиках в соответствии с коэффициентами кодов может быть оценена исходя из “предела пропускной способности канала Шеннона”, и минимальная разница в характеристиках может быть получена с использованием минимального требуемого отношения сигнал/шум (ОСШ).
2. Минимально требуемое отношение Eb/No для коэффициентов кодов
В системе, использующей турбокоды с коэффициентом кода R и очень большим размером L кодируемого блока, минимально требуемое отношение Eb/No для обеспечения канала без ошибок выражается следующим образом:
В соответствии с приведенным выше уравнением минимально требуемое отношение Eb/No для АБГШ при каждом коэффициенте кода для турбокодов приведено ниже в таблице 1. В таблице 1 типовое отношение Eb/No указывает требуемое Eb/No для частоты ошибок в битах (ЧОБ) ниже 0,00001, когда размер L кодируемого блока турбокодов составляет 1024.
Как показано в таблице 1, требуемое Еb/Nо равно 0,86; 0,57; 0,0; -0,414; -0,55; -0,82; -0,975 и -0,084 дБ соответственно для коэффициентов кодов 3/4, 2/3, 1/2, 3/8, 1/3, 1/4, 1/5 и 1/6. Разность в рабочих характеристиках, равная по меньшей мере 0,53 дБ, существует между системой, использующей R=1/3-код, и системой, использующей R=1/6-код. Это минимальная разница в рабочих характеристиках, основанная на “пределе пропускной способности канала Шеннона”. С учетом реализации реального декодера и внешних условий системы эта разница становится еще больше. При моделировании наблюдалась разница в рабочих характеристиках системы, использующей объединение кодов пакетов для R=2/3-кодов, и системы, использующей объединение разнесения пакетов для R=2/3-кодов.
В таблице 2 представлены различия в рабочих характеристиках между объединением кодов пакетов и объединением разнесения пакетов после одной повторной передачи в системе с коэффициентами кодов, равными 2/3, для субкодов. Как показано в таблице 2, минимальная разница в рабочих характеристиках составляет 1,12 дБ, причем схема объединения кодов пакетов обеспечивает достижение более высоких рабочих характеристик в системе, использующей турбокод.
Как описано выше, схема объединения кодов пакетов демонстрирует превосходные характеристики в системе повторной передачи с использованием турбокодов. Поэтому настоящее изобретение обеспечивает способ формирования субкодов для оптимального объединения кодов пакетов в системе повторной передачи с использованием турбокодов. Формирование субкодов для объединения кодов пакетов в соответствии с предварительно определенным правилом обеспечивает вышеупомянутый выигрыш объединения кодов и максимизирует характеристики системы, запрашивающей субкоды одинакового размера для каждой повторной передачи.
На фиг.2 представлена блок-схема устройства формирования субкодов, использующего коды в соответствии с возможным вариантом осуществления настоящего изобретения. Как показано на фиг.2, устройство формирования суб-кодов включает в себя турбокодер, генератор 204 субкодов и контроллер 205.
Сначала, что касается турбокодера, первый компонентный кодер (или первый составляющий кодер) 201 кодирует входной информационный поток битов и выводит первые кодовые символы, т.е. информационные символы Х и первые символы проверки четности Y0 и Y1. Перемежитель 202 перемежает входной информационный поток битов в соответствии с предварительно определенным правилом. Второй компонентный кодер (или второй составляющий кодер) 203 кодирует перемеженный информационный поток битов и выводит вторые кодовые символы, т.е. информационные символы X’ и вторые символы проверки четности Y’0 и Y’1. Таким образом, выходные символы турбокодера являются первыми и вторыми кодовыми символами. Поскольку информационные символы X’, формируемые вторым компонентным кодером 203, не передаются реально, то коэффициент кода турбокодера равен 1/5.
Генератор 204 субкодов формирует субкоды из первых и вторых кодовых символов, принятых от первого и второго компонентных кодеров 201 и 203, с использованием операций прокалывания и повторения под управлением контроллера 205. Контролер 205 сохраняет матрицы прокалывания (и повторения), сформированные в соответствии с алгоритмами, показанными на фиг.4, 5 и 6, и выдает сигналы селекции выходных символов для матриц прокалывания на генератор 204 субкодов. Затем генератор 204 субкодов выбирает предварительно определенное количество кодовых символов в предварительно определенном диапазоне прокалывания в соответствии с сигналами селекции символов.
Символы, использованные для обозначения в данном описании, имеют следующий вид: X, Y0, Y1, Y’0 и Y’1 и определяются следующим образом:
X’: систематический кодовый символ или информационный символ;
Х: систематический кодовый символ или информационный символ;
Y0: избыточный символ с верхнего компонентного кодера турбокодера;
Y1: избыточный символ с верхнего компонентного кодера турбокодера;
Y’0: избыточный символ с нижнего компонентного кодера турбокодера;
Y’1: избыточный символ с нижнего компонентного кодера турбокодера.
На фиг.7, 8 и 9 представлены блок-схемы алгоритмов, иллюстрирующие процедуры генерирования субкодов (или матрицы прокалывания) в соответствии с возможным вариантом осуществления настоящего изобретения. Более конкретно, на фиг.7 показана процедура генерирования первого субкода С0 в наборе субкодов, на фиг.8 показана процедура генерирования средних субкодов от C1 до Cs-2 в наборе субкодов, и на фиг.9 показана процедура генерирования последнего субкода Cs-1 в наборе субкодов.
В последующем описании обозначение ENC1 (относящееся к первым кодовым символам) указывает на информационные символы и первые символы проверки четности Y0 и Y1, полученные с выхода первого компонентного кодера 201, а обозначение ENC2 (относящееся к вторым кодовым символам) указывает на вторые символы проверки четности Y0 и Y1, полученные с выхода второго компонентного кодера 203.
Как показано на фиг.7, максимальный коэффициент кода (Rmax), доступный для передатчика, устанавливается на этапе 401. Это значение главным образом определяется в соответствии со скоростью передачи данных в системе. Минимальный коэффициент кода (Rmin) устанавливается как целое кратное от значения Rmax (=k/n). Хотя значение Rmin может быть определено произвольным образом, обычно оно равно 1/6, 1/7 и ниже, так как выигрыш кодирования входит в состояние насыщения из-за снижения коэффициентов кода при R=1/7 и ниже при применении турбокодов. Кроме того, определяется реальный коэффициент кода, т.е. коэффициент материнского кода (R) декодера в приемнике.
В реальной реализации системы Rmax и Rmin предварительно установлены. В некотором смысле, Rmax есть коэффициент кода для субкодов, которые должны генерироваться, а Rmin - коэффициент целевого кода, объединяющего субкоды. В принципе, Rmin есть коэффициент кода для кодера в передатчике.
На этапе 403 количество субкодов (S) вычисляется посредством следующего уравнения с использованием Rmax и Rmin:
где представляет минимальное целое число, равное или большее, чем *.
Переменная m устанавливается на исходное значение 1 на этапе 405 и С (=m×n) определяется на этапе 407. С - это количество столбцов каждой проколотой матрицы, определяемое посредством Rmax. Например, для Rmax=3/4 С может быть равно 3, 6, 9,... и устанавливается на минимальное доступное значение для первого субкода, который должен быть передан. Здесь С установлено на 3 для Rmax=3/4.
На этапе 407 вычисляется число символов, которое должно быть выбрано из матрицы прокалывания Ns, путем перемножения переменной m на длину кода, т.е. количество кодовых символов n из Rmax=k/n. Ns - количество выбранных символов или количество выбранных позиций в каждой матрице прокалывания, вычисляемое как C/Rmax.
На этапе 409 (Ns-С) сравнивается с количеством компонентных кодеров турбокодера в передатчике. Существующий турбокодер в общем случае имеет два компонентных кодера. Т.е. предполагается, что используются два компонентных кодера. На этапе 409 определяется, является ли выражение (Ns-С) равным или большим, чем 2, так как турбокодер имеет два компонентных кодера, соединенных последовательно, с перемежителем, включенным между ними, как показано на фиг.2, в отличие от обычных кодеров, использующих другие одиночные коды. Иными словами, по меньшей мере один символ проверки четности с каждого компонентного кодера должен передаваться после того, как все информационные символы будут переданы, чтобы сохранить характеристики, присущие турбокодеру.
Если (Ns-С) меньше, чем 2, то по меньшей мере один символ выбирается из первого множества символов проверки четности или из второго множества символов проверки четности. С точки зрения турбокодов, для любого случая могут возникнуть проблемы. Субкоды, генерируемые без второго символа проверки четности, являются не турбокодами, а сверточными кодами с длиной ограничения К=4 с кодера, имеющего только первый компонентный кодер и не обеспечивающего выигрыша перемежения, который имеет место в турбокодере. С другой стороны, передача только систематических символов без символов проверки четности от первого компонентного кодера приводит в результате к субкодам с коэффициентом кода 1. Это эквивалентно некодированной системе без какого-либо выигрыша за счет кодирования. Соответственно, (Ns-С) должно быть больше или равно 2, чтобы обеспечить рабочие характеристики турбокодера.
Если на этапе 409 установлено, что (Ns-С) равно или больше, чем 2, то на этапе 411 из матрицы прокалывания выбираются С систематических информационных символа, а другие символы выбираются в соответствии с предварительно определенным типом. Для типа 1 другие символы выбираются на этапе 413 из первого и второго символов проверки четности согласно уравнению (3). Количество выбранных первых символов проверки четности равно или больше, чем количество выбранных вторых символов проверки четности. Например, если количество других символов (Ns-С) равно 3, то первые и вторые символы проверки четности выбираются согласно уравнению (3), и затем один или более символов выбираются из вторых символов проверки четности.
где представляет максимальное целое число, равное или меньшее, чем *.
Для типа 2 другие символы выбираются на этапе 415 из первых и вторых символов проверки четности согласно уравнению (4). Если а и b заданы как коэффициенты распределения символов для первых символов проверки четности и вторых символов проверки четности соответственно, то из первых символов проверки четности выбирается количество символов как минимальное целое число, равное или большее, чем отношение a(Ns-С) к (а+b), и из вторых символов проверки четности выбирается количество символов как максимальное целое число, равное или меньшее, чем отношение b(Ns-С) к (а+b)
где а+b=1, а и b указывают коэффициенты распределения символов для ENC1 и ENC2 соответственно.
Если заданное условие на этапе 409 не удовлетворено, т.е. (Ns-С) меньше, чем 2, то переменная m получает приращение на 1 на этапе 417 и процедура возвращается на этап 407. Назначением этапа 409 является определение того, могут ли субкоды, сохраняющие свойства турбокодов, генерироваться в пределах данного диапазона прокалывания (размера матрицы прокалывания). Если свойства турбокодов не могут быть сохранены, то диапазон прокалывания на этапе 417 увеличивается.
Как описано выше, исходная матрица прокалывания формируется таким образом, что все информационные символы выбираются и по меньшей мере один символ выбирается из первого и из второго наборов символов проверки четности в турбокодере.
Ниже представлено описание способа формирования средней матрицы прокалывания со ссылками на фиг.8. Путем повторения процедуры по фиг.8 генерируются матрицы прокалывания от C1 до Cs-2.
Как показано на фиг.8, этап 501 или 503 выполняется в соответствии с предварительно определенным типом. Для типа 1 Ns символов выбирается на этапе 501 из наборов первых и вторых символов проверки четности согласно уравнению (5). Ns есть произведение m и n, определенных из Rmax (=k/n), где k - количество информационных символов для формирования n кодовых символов. Количество выбранных первых символов проверки четности равно или больше, чем количество выбранных вторых символов четности. Здесь невыбранные символы выбираются из предыдущих матриц прокалывания.
Для типа 2 Ns символов выбираются на этапе 503 из наборов первых и вторых символов проверки четности соответственно предварительно определенным коэффициентам согласно уравнению (6). Если а и b заданы как коэффициенты распределения символов для первых символов и вторых символов проверки четности соответственно, то из первых символов проверки четности выбирается количество символов, как минимальное целое число, равное или большее, чем отношение a(Ns) к (а+b), а из вторых символов проверки четности выбирается количество символов, как максимальное целое число, равное или меньшее, чем отношение (Ns) к (a+b). Здесь невыбранные символы выбираются из предыдущих матриц прокалывания.
Способ генерации последней матрицы прокалывания описан ниже со ссылками на фиг.9.
Согласно фиг.9 оставшиеся невыбранные символы выбираются из предыдущих матриц прокалывания на этапе 601. Количество выбираемых символов определяется как Ns2. На этапе 603 новое значение Ns определяется выражением (Ns-Ns2). Поскольку символы во всех позициях выбираются из матриц прокалывания в процессе выполнения операций, показанных на фиг.7, 8 и 9, новое значение Ns является количеством символов, которые должны быть выбраны повторно. На этапе 605 определяется, больше ли новое значение Ns, чем 0. Если новое Ns равно 0, то процедура заканчивается. Если оно больше, чем 0, то из информационных символов выбирается столько символов, сколько составляет Ns. Иными словами, выбранные символы повторно передаются.
Вышеописанный способ генерирования субкодов в соответствии с настоящим изобретением поясняется ниже на конкретном числовом примере.
Для Rmax =3/4 и R=1/5, Rmin=l/6 и S=6/(4/3)=4,5→5. Таким образом, формируется 5 матриц прокалывания.
{С0, C1, С2, С3, С4}:Rmax=3/4.
Поскольку коэффициент кода для субкодов равен 3/4 и число субкодов равно 5, субкоды имеют коэффициент кода 3/20((1/S)·Rmax=(1/5)·(3/4)=3/20) после объединения кодов. Это означает, что для 3 информационных битов приемник принимает 20 кодовых символов. Однако поскольку 15 символов генерируются из S×b=5×4=20 и S×a=5×3=15, то предварительно определенные 5 символов из 15 символов передаются повторно. Повторные символы предпочтительно являются информационными символами. В вышеприведенном примере, если информационный символ Х повторяется однократно в каждом субкоде, декодер принимаем турбокод с R=1/5, в котором информационные символы появляются дважды для каждого из S субкодов.
3. Выбор избыточности (Набор квазидополнительных кодов)
Субкоды, полученные в результате процедур, показанных на фиг.1, 8 и 9, являются некоторым видом дополнительных кодов, хотя они не являются таковыми в строгом смысле этого термина, поскольку существуют повторяемые символы, и каждый субкод обладает отличающейся характеристикой. Поскольку субкоды получены из турбокодов, они будут называться квазидополнительными турбокодами (КДТК). Система ГЗАП использует следующую схему повторной передачи с использованием КДТК.
Система ГЗАП является основным примером использования объединения кодов пакетов. Объединение кодов пакетов доступно для существующих систем ГЗАП, ГЗАП типа I, ГЗАП типа II и ГЗАП типа III. В этих системах метод повторной передачи может быть реализован с использованием КДТК. Если транспортный блок или блок передачи (БП) определяется как блок информационных битов, являющийся базовым блоком для передачи пакетов, один субкод Ci выбирается для каждой передачи БП в гибридных системах.
Блок повторной передачи и БП первоначальной передачи могут иметь одинаковый или различающийся размер. Для каждой передачи используется следующий набор КДТК.
Из КДТК Cq, имеющего размер S набора кодов, может быть восстановлен материнский код С или может быть сформирован новый код Cq с более низким коэффициентом кода, чем у материнского кода С, путем объединения субкодов Ci (i=0, 1, 2,..., S-1). Материнский код имеет минимальный коэффициент кода, доступный в кодере. Затем КДТК определяется как:
исходный код С с коэффициентом кода R=Rm или код С с коэффициентом кода R<Rm
где S - число субкодов с коэффициентом кода Ri, Rm - коэффициент кода для материнского кода.
Работа системы, передающей ТБ одинакового размера для первоначальной передачи и для каждой повторной передачи с использованием КДТК, описана ниже. Разумеется, схема передачи с использованием различных ТБ также поддерживается в настоящем изобретении. В данном случае S равно 4 и R равно 1/5.
(Этап 1) Передача выполняется на базе ТБ, и субкод Ci КДТК передается при первоначальной передаче и каждой повторной передаче.
(Этап 2) Когда общий коэффициент кода для кодов, выработанных путем гибкого объединения первоначально переданного и повторно переданных пакетов, больше, чем 1/5, то каждый субкод Ci КДТК передается в порядке C0, C1, С2,...Cs-1 при каждом запросе повторной передачи. Эта процедура представляет собой объединение кодов пакетов.
(Этап 3) Когда общий коэффициент кода для кодов, выработанных путем гибкого объединения первоначально переданного и повторно переданных пакетов, меньше или равен 1/5, то каждый субкод Ci КДТК передается в порядке C0, C1, C2, ..., Cs-1 при каждом запросе повторной передачи. Эта процедура представляет собой объединение разнесения пакетов.
(Этап 4) Размер набора КДТК может иметь произвольное значение, определяемое Rmax и Rmin. Для R=1/5 и коэффициента кода 2/3 для субкодов для повторной передачи, может быть использовано до четырех субкодов.
В таблице 3 ниже приведены наборы КДТК для скоростей передачи пакетов данных прямого канала трафика, которые, как ожидается, будут доступными в современной системе IS-2000 1XEVDV. В данном случае коэффициент материнского кода R=1/5 и коэффициент кода для субкодов R=2/3, 1/3 или 1/6.
Как показано в таблице 3, для коэффициента кода субкодов 1/6, меньшего, чем коэффициент материнского кода 1/5, один и тот же код С0 используется при каждой передаче. Для коэффициента кода субкодов 1/3, большего, чем коэффициент материнского кода 1/5, отличающийся код С0 и C1 используется при каждой передаче. Для коэффициента кода субкодов 2/3, большего, чем коэффициент материнского кода 1/5, отличающийся код С0, C1, C2 и С3 используется при каждой передаче. Размер набора кодов S равен 4. Если передаются все S субкодов, то приемник может восстановить коэффициент материнского кода R и получить максимальный выигрыш за счет кодирования, обеспечиваемый кодером.
4. Матрица прокалывания для квазидополнительных кодов
Ниже в таблице 4 приведены примеры матрицы прокалывания для каждого коэффициента кода для субкодов
Как показано в таблице 4, когда используется турбокод коэффициента 1/5 в качестве материнского кода, и генерируется субкод коэффициента 2/3 с кодовыми символами, выведенными для 4 информационных битов, то из 4 информационных битов генерируются 20 кодовых символов. Субкод коэффициента 2/3 генерируется путем прокалывания 14 символов из 20 символов. Для объединения разнесения пакетов таких субкодов субкод С0, выработанный из вышеуказанных матриц прокалывания, повторно передается при каждом запросе повторной передачи. С другой стороны, для объединения кодов пакетов отличающийся кодовый символ передается при каждом запросе повторной передачи. После передачи всех субкодов С0, C1, C2 и С3 в наборе выполняется объединение разнесения пакетов. Для ГЗАП типа III с использованием объединения кодов пакетов полные кодовые символы материнского кода декодируются после четырех передач.
При этом “1” в матрицах прокалывания в таблице 4 указывают, что символы в этих позициях выбираются или передаются, а “0” указывают, что символы в этих позициях прокалываются. “2” указывает, что символ в данной позиции появляется дважды. Матрицы прокалывания (и повторения) разрабатываются для удовлетворения следующих условий.
(Условие 1) Информационный символ повторяется в субкоде КДТК, когда используется повторение.
(Условие 2) Если информационный символ Х повторяется в субкоде КДТК, использующего повторение, то период повторения устанавливается как минимальная постоянная в КДТК, имеющем все субкоды в комбинации.
(Условие 3) Если используется прокалывание, то избыточные символы за исключением информационного символа X прокалываются, если возможно, в субкодах КДТК.
(Условие 4) Если используется прокалывание, то избыточные символы за исключением информационного символа X равномерно прокалываются, если возможно, в субкодах КДТК.
Ниже описана матрица прокалывания и повторения при R=1/6, удовлетворяющая вышеописанным условиям. Декодирование выполняется после того, как символы X, которые появляются дважды, объединяются гибким образом, так что действительный коэффициент кода для декодера соответствует 1/5. Код с коэффициентом 1/5, в котором энергия информационного символа Х увеличена, имеет лучшие характеристики по сравнению с кодом с коэффициентом 1/5, имеющим равномерную энергию символов для разных символов. Иными словами, наиболее подходящим для повторения символом является информационный символ. Можно сказать, что матрицы прокалывания и повторения, показанные в таблице 4, формируются таким образом, чтобы энергия информационных символов увеличивалась за счет регулярного повторения информационных символов.
В таблице 4 для R=1/6 последовательность кодовых символов передачи задается следующим образом:
С0=X, X, Y0, Y1, Y’0, Y’1, X, X, Y0, Y1, Y’0, Y’1,...
Так как шесть кодовых символов генерируются соответственно вводу одного информационного символа, то коэффициент кода для субкода равен 1/6. С учетом матрицы прокалывания и повторения при R=1/6 декодирование выполняется после того, как символы X, которые возникают дважды, объединяются гибким образом, так что действительный коэффициент кода для декодера равен 1/5. Код с коэффициентом 1/5, в котором энергия информационного символа Х увеличена, имеет лучшие характеристики по сравнению с кодом с коэффициентом 1/5, имеющим равномерную энергию символов для разных символов. Иными словами, наиболее подходящим для повторения символом является информационный символ. Можно сказать, что матрица прокалывания и повторения с R=1/6, показанная в таблице 4, формируется таким образом, чтобы энергия информационных символов увеличивалась за счет регулярного повторения информационных символов.
Для R=1/3 последовательность кодовых символов передачи задается следующим образом:
С0=X, Y0, Y’0, X, Y0, Y’0, X, Y0, Y’0, X, Y0, Y’0,...
C1=X, Y1, Y’1, X, Y1, Y’1, X, Y1, Y’1, X, Y1, Y’1,...
Так как три кодовых символа генерируются соответственно вводу одного информационного символа, коэффициент кода для субкода равен 1/3. Отличающийся код передается при каждой передаче ввиду использования различных матриц прокалывания. После гибкого объединения С0 и C1, X появляется дважды, а каждый из Y0, Y1, Y’0 и Y’1 появляется однократно. Декодер с коэффициентом кода 1/5 может быть использован в данном случае, и матрицы прокалывания удовлетворяют вышеописанным условиям, обеспечивая требуемые характеристики.
В первом случае при R=2/3, как показано в таблице 4, последовательность кодовых символов передачи задается следующим образом:
С0=Y0, Х, Y’0, Y0, Х, Y’0, Y0, Х, Y’0, Y0, Х, Y’0,...
C1=X, Y’0, Y0, X, Y’0, Y0, X, Y, 0, Y0, X, Y’0, Y0,...
С2=Y1, X, Y’1, Y1, X, Y’1, Y1, X, Y’1, Y1, X, Y’1,...
С3=X, Y’1, Y1, X, Y’1, Y1, X, Y’1, Y1, X, Y’1, Y1,...
Так как три кодовых символа генерируются соответственно вводу двух информационных символов, коэффициент кода для субкода равен 2/3. Отличающийся код передается при каждой передаче ввиду использования отличающейся матрицы прокалывания. После гибкого объединения C0, C1, C2 и С3, Х появляется дважды, а каждый из Y0, Y1, Y’0 и Y’1 появляется однократно. Декодер с коэффициентом кода 1/5 может быть использован и в данном случае, как для R=1/6, и матрицы прокалывания удовлетворяют вышеописанным условиям, обеспечивая требуемые характеристики.
Во втором случае при R=2/3, как показано в таблице 4, последовательность кодовых символов передачи задается следующим образом:
С0=X, Y0, X, X, Y’0, X, X, Y0, X, X, Y’0, X, X, Y0, X, X, Y’0, X,...
C1=Y’0, Y0, Y’0, Y0, Y0, Y’0, Y’0, Y0, Y’0, Y0, Y0, Y’0...
С2=Y1, Y1, Y’1, Y’1, Y1, Y’1, Y1, Y1, Y’1, Y’1, Y1, Y’1,...
С3=X, Y’1, X, X, Y’1, X, X, Y’1, X, X, Y’1, X,...
Так как шесть кодовых символов генерируются соответственно вводу четырех информационных символов, коэффициент кода для субкода равен 2/3. Отличающийся код передается при каждой передаче ввиду использования отличающейся матрицы прокалывания. После гибкого объединения C0, C1, C2 и С3, Х появляется дважды, а каждый из Y0, Y1, Y’0 и Y’1 появляется однократно. Декодер с коэффициентом кода 1/5 может быть использован и в данном случае, как для R=1/6, и матрицы прокалывания удовлетворяют вышеописанным условиям, обеспечивая требуемые характеристики.
5. Протокол передачи
Поскольку протокол передачи пакетов применим как для прямого канала трафика, так и для обратного канала трафика при принятии процедуры ГЗАП, тип III, для каналов трафика, то двунаправленные каналы трафика будут вместе называться просто каналами трафика, если только не возникает потребность в их различении.
5.1 Соотношение между длиной пакета передачи и физическим каналом
Длина пакета изменяется при передаче пакетов по каналам трафика в процедуре ГЗАП, тип III. Один пакет, подлежащий передаче, определяется как пакет физического уровня (ПФУ). Один ПФУ может включать в себя множество субпакетов, называемых БП, и каждый БП также является переменным по длине. Таким образом, длина ПФУ является переменной. Разумеется, один БП может быть передан в одном ПФУ.
Протокол процедуры ГЗАП, тип III, описан ниже во взаимосвязи с двумя основными случаями. Пакет имеет длину БП, 2БП, 3БП или 4БП, причем каждый БП имеет длину по меньшей мере 768 или 1536 битов. Пакет с БП=768 называется коротким форматом, а пакет с БП=1536 называется длинным форматом. Максимальное число БП для ПФУ является переменным и определяется в соответствии со скоростью передачи данных в физическом канале передачи. Здесь предполагается, что в одном ПФУ передается четыре БП.
Один ПФУ передается на базе выделенных временных интервалов (сегментов). Количество данных на выделенный временной интервал изменяется от 1 до любого числа, определяемого скоростью передачи данных, доступной для физического канала передачи. Иными словами, количество выделенных временных интервалов определяется в соответствии со скоростью передачи данных для ПФУ. Например, для примера рассматриваются два случая: пакет, передаваемый в коротком формате, с количеством временных интервалов от 1 до 32, и пакет, передаваемый в длинном формате, с количеством временных интервалов от 2 до 64. Этот тип классификации эквивалентен различению между БП=768 и БП=1536. В предположении, что ПФУ с БП=768 передается во временных интервалах числом до 16, ПФУ с такой длиной БП определяется как короткий формат. С другой стороны, ПФУ с БП=1536, передаваемый во временных интервалах числом до 32, определяется как длинный формат. Определения делаются на основе длины пакета и не имеют фундаментального соотношения с реализацией протокола ГЗАП, тип III. Однако они влияют на пропускную способность системы, связанную с длиной пакета.
5.2. Способ обнаружения ошибок передаваемого трафика и повторной передачи
Каждый БП в одном ПФУ имеет независимый код исправления ошибок. Поэтому ошибки могут обнаруживаться из каждого БП или из всех БП в одном ПФУ с использованием одного кода исправления ошибок перед выдачей запроса повторной передачи. В действительности, приемник определяет, обнаружены ли ошибки из принятого пакета, и сообщает о результате такого определения в передатчик на базе ПФУ. Однако повторно передаваемый ПФУ может иметь отличающийся состав БП в зависимости от того, имеют ли ошибки отдельные БП в ПФУ.
На фиг.3 представлена схема передачи ГЗАП для ПФУ, занимающего один выделенный временной интервал. Как показано на фиг.3, один ПФУ чередуется с соседними тремя временными интервалами для передачи. Отличающийся пакет может передаваться в каждом из четырех временных интервалов, и независимый сигнал ACK/NACK (подтверждение/неподтверждение приема) может передаваться по обратному каналу для каждого пакета. В этой структуре каждый ПФУ может следовать независимому протоколу SW-ARQ (остановиться и ожидать автоматический запрос повторения), и предварительно определенный обратный сигнал управления всегда передается от приемника к передатчику. Эта структура определяется как "modulo N HARQ" (Гибридный запрос автоматического повторения по модулю m), и число чередующихся временных интервалов равно N. На фиг.3 N=4. Один пользователь может использовать чередующиеся временные интервалы в этом случае, причем каждый временной интервал доступен для передачи ПФУ. Однако протокол HARQ Type III для пользователя работает как SR-ARQ (Селективное повторение - Запрос автоматического повторения), и для сохранения данных, принятых в четырех временных интервалах (N=4), должна быть предусмотрена память для физического канала в приемнике. В данном случае описание будет сконцентрировано на протоколе SW-ARQ без предъявления требований к памяти, хотя то же самое описание справедливо для протокола SW-ARQ, требующего некоторого объема памяти.
На фиг.4 представлена схема передачи HARQ для ПФУ, занимающего два временных интервала. Как показано на фиг.4, один ПФУ передается в двух временных интервалах, чередуясь с соседними тремя временными интервалами. Поэтому приемник может восстановить один полный ПФУ после приема двух выделенных временных интервалов. Отличающийся пакет может быть передан в каждом из четырех временных интервалах, причем независимый сигнал ACK/NACK передается для пакета по обратному каналу. Поэтому каждый ПФУ следует независимому протоколу SW-ARQ, и предварительно определенный обратный сигнал управления передается от приемника к передатчику в так называемой структуре "modulo N HARQ". Число чередующихся временных интервалов определяется посредством N.
Если NACK обнаруживается по меньшей мере из одного из битов указателя ACK/NACK, передатчик передает ПФУ, запрошенный для повторной передачи, с использованием набора квазидополнительных кодов, показанного в таблице 5 и в таблице 6, по прямому каналу трафика. Различные комбинации ACK/NACK могут быть сформированы из множества битов указателя ACK/NACK, и в каждом случае передатчик может включить БП в повторно передаваемый ПФУ также различным образом. В принципе, передача БП должна удовлетворять следующим условиям:
(Условие 1) Не передается ни один БП с АСК.
(Условие 2) БП с NACK повторно передаются по приоритету, и их приоритеты передачи зависят от их параметра QoS (качество обслуживания).
(Условие 3) Если общее число битов, доступных для временных интервалов повторно передаваемого ПФУ, превышает количество битов для БП с NACK, то БП с более высоким приоритетом, определенным в соответствии с Условием 2, повторно передаются на первом месте.
(Условие 4) Если QoS должно быть сохранено для каждого БП, то БП задается вес, чтобы поддерживать QoS при повторной передаче. Например, если QoS для БП0, БП1, БП2 и БП3 заданы как QoS0, QoS1, QoS2 и QoS3 в ПФУ, имеющем четыре БП, (QoS0+QoS1+QoS2+QoS3)=1,0 и только БПО принят с АСК, а БП1, БП2 и БП3 приняты с NACK, то QoS устанавливается для повторной передачи следующим образом.
QoS1=QoS1×(1/(QoS0+QoS1+QoS2)), где (QoS0+QoS1+QoS2)<0;
QoS2=QoS2×(1/(QoS0+QoS1+QoS2)), где (QoS0+QoS1+QoS2)<0;
QoS3=QoS3×(1/(QoS0+QoS1+QoS2),) где (QoS0+QoS1+QoS2)<0.
Для обобщения вышеуказанного процесса определения QoS, если ПФУ имеет Р БП, т.е. БП0, БП1, БП2,..., БП(Р-1) и БП(i), БП(j),..., БП(s) принимаются с NACK (здесь i, j,..., s ∈{0, 1, 2, 3, 4,..., Р-1}), то веса для повторно передаваемых БП вычисляются следующим образом:
QoS(i)=QoS(i)·(1/(QoS(i)+QoS(j)+...+QoS(s))),
где (QoS(i)+QoS(j)+...+QoS(s))<0;
QoS(j)=QoS(j)·(1/(QoS(i)+QoS(j)+...+QoS(s))),
где (QoS(i)+QoS(j)+...+QoS(s))<0;
QoS(s)=QoS(s)·(1/(QoS(i)+QoS(j)+...+QoS(s))),
где (QoS(i)+QoS(j)+...+QoS(s))<0,
чтобы при этом установить в исходное состояние количество битов передачи.
Только когда все биты указателя ACK/NACK приняты по обратному каналу передачи АСК, по прямому каналу трафика передается новый ПФУ.
5.3. Выбор кода передачи для канала трафика
ПФУ кодируется с использованием квазидополнительного кода для каждой передачи по каналу трафика. Для первоначальной передачи используется код С0 из набора дополнительных кодов с размером S набора, определенным в соответствии со скоростью данных ПФУ для канала трафика в таблице 5 и в таблице 6. Затем каждый раз, когда по обратному каналу передачи АСК принимается NACK, для канала трафика выбираются коды в циркулирующем порядке C1, C2,...,Cs-1, С0, C1,...
Если три последовательных NACK принимаются по обратному каналу АСК, то для прямого канала трафика используются субкоды в порядке C1, C2 и С3. Если принимается более двух NACK, то используются субкоды С0 и C1. Если затем принимается АСК, то передача прерывается и передается новый ПФУ по прямому каналу трафика. Передатчик не уведомляет о типе квазидополнительного кода для каждой передачи, но заранее известно как в передатчике, так и в приемнике, что коды передаются в циркулирующем порядке 0, 1, 2,..., S-1, 0, 1,... в соответствии с размером S, определенным скоростями передачи данных.
6. Структура обратного канала АСК и передача по каналу
Приемник передает сообщение, указывающее на то, обнаружена ли ошибка для каждого принятого ПФУ по обратному каналу АСК. Бит указателя ACK/NACK передается для каждого БП ПФУ посредством сообщения ACK/NACK. Поэтому если по прямому каналу трафика передается четыре независимых БП, то обратный канал АСК передает четыре бита ACK/NACK. Т.е. передается столько же битов ACK/NACK, сколько БП.
6.1 Периодическая передача сигнала ACK/NACK по обратному каналу АСК
В соответствующей изобретению схеме ГЗАП используется предварительно определенный период ACK/NACK независимо от протокола SR-ARQ или SW-ARQ, причем период сигнала ACK/NACK определяется в соответствии со скоростью передачи трафика. Поскольку длина каждого субкода, передаваемого по каналу трафика, равна одному или двум выделенным временным интервалам, субкод, соответствующий одному ПФУ, всегда принимается максимум в двух временных интервалах. Иными словами, все коды, используемые для передачи трафика, предназначены для полной передачи в одном или двух временных интервалах. Поэтому сигнал ACK/NACK передается в блоках из одного или двух временных интервалов с предварительно определенным интервалом. Таблицы 3 и 4 иллюстрируют субкоды для скоростей передачи данных.
Сообщение ACK/NACK передается по обратному каналу АСК, как определено в таблице 5 или 6, в соответствии со скоростью передачи пакетов данных и форматом пакета ПФУ, принятого по каналу трафика, и в соответствии с тем, занимает ли ПФУ множество чередующихся временных интервалов. Если ПФУ использует 4 чередующихся временных интервала в коротком формате, он может рассматриваться отдельно двумя способами в соответствии с его периодом: четыре временных интервала (5 мс) и восемь временных интервалов (10 мс). Т.е. приемник мультиплексирует по времени сообщение ACK/NACK в первой половине второго временного интервала из времени приема трафика. Поэтому сообщение ACK/NACK всегда передается спустя один временной интервал, после того как приемник начал принимать трафик.
Первое сообщение ACK/NACK, переданное по обратному каналу АСК после приема ПФУ по каналу трафика, обозначается как ACK/NACK #1. Затем в случае периода из четырех временных интервалов, как показано на фиг.3, каждое сообщение ACK/NACK используется для раннего завершения независимо от четной или нечетной его нумерации. ACK/NACK также используется в качестве сообщения управления для изменения квазидополнительного кода для передачи ПФУ по прямому каналу трафика.
С другой стороны, в случае периода, равного восьми временным интервалам, как показано на фиг.4, каждое сообщение ACK/NACK используется для раннего завершения независимо от нечетной или четной его нумерации, и только сообщение ACK/NACK с четной нумерацией используется в качестве сообщения управления для изменения квазидополнительного субкода для передачи ПФУ.
Ранее завершение относится к прерыванию передачи во временном интервале для ПФУ по каналу трафика, прежде чем все временные интервалы, назначенные для ПФУ, будут переданы в ситуации, когда ПФУ может быть принят без ошибок, и затем к передаче нового ПФУ, чтобы увеличить пропускную способность передачи.
Если же ПФУ имеет длинный формат, он также может рассматриваться двумя путями в соответствии с его периодом: 8 временных интервалов (10 мс) и 16 временных интервалов (20 мс). Нечетно пронумерованное сообщение ACK/NACK и четно пронумерованное сообщение ACK/NACK функционируют аналогично случаю короткого формата.
6.2 Реализация протокола передачи
Фиг.5 и 6 иллюстрируют прямую и обратную передачу в выделенных временных интервалах в соответствии с настоящим изобретением. Как отмечено выше, передача сообщения ACK/NACK управляется отдельно для 1 интервала/ПФУ и 2 интервала/ПФУ для всех скоростей передачи данных.
На фиг.5 показана обработка временного интервала по процедуре ГЗАП для 1 интервала/ПФУ, а на фиг.6 показана обработка временного интервала по процедуре ГЗАП для 2 интервала/ПФУ. Они отличаются тем, происходит ли изменение субкода для передачи на уровне одного временного интервала или на уровне двух временных интервалов.
Как показано на фиг.10, 11 и 12, сообщение ACK/NACK передается в каждом временном интервале. На фиг.10 представлена блок-схема алгоритма, иллюстрирующая операцию управления для процедуры передачи данных в передатчике, соответствующем настоящему изобретению. Согласно фиг.10, передатчик на этапе 710 генерирует набор субкодов путем кодирования ПФУ, подлежащего передаче. Например, для генерации набора субкодов может быть использован кодер, показанный на фиг.2. Набор субкодов состоит из различных субкодов, число которых определяется размером набора субкодов. Эти субкоды подвергаются объединению кодов пакетов. Детальные операции при генерировании набора субкодов описаны выше со ссылками на фиг.7, 8, 9.
На этапе 712 передатчик устанавливает значение i счета для отсчета количества переданных субкодов. Т.е. значение i счета используется для определения того, все ли субкоды набора субкодов полностью переданы. Передатчик передает i-ый субкод Ci в кадре передачи на этапе 714 и определяет на этапе 716, принят ли сигнал АСК от переданного i-го субкода Ci. Хотя при описании этапов 714 и 716 предполагается, что сообщение АСК передается для переданного блока (временного интервала), однако сообщение АСК может передаваться для субкода, переданного в кадре передачи, как указано ранее. Согласно фиг.3 и 4, когда один субкод передается в одном временном интервале, сообщение ACK/NACK принимается для каждого субкода. Работа приемника для передачи сообщения ACK/NACK далее поясняется детально со ссылками на фиг.11 и 12.
После приема сообщения АСК на этапе 716, передатчик возвращается к этапу 710, где он кодирует следующий ПФУ. С другой стороны, после приема сообщения NACK на этапе 716, которое означает, что запрошена повторная передача переданного ПФУ, передатчик определяет на этапе 718, завершена ли передача на основе ПФУ. Если это так, то передатчик переходит к этапу 720, а в противном случае он переходит к этапу 722. На этапе 720 передатчик увеличивает значение отсчета i на 1 для выбора следующего субкода для передачи, т.е. для повторной передачи того же самого ПФУ с другим кодом. Когда ПФУ передается во множестве временных интервалов, а сообщение ACK/NACK принимается на основе временного интервала, используемый субкод не изменяется до тех пор, пока временные интервалы ПФУ не будут полностью переданы. С другой стороны, если ACK/NACK принимается на основе ПФУ, этапы 714 и 716 могут быть выполнены в виде одного этапа. Иными словами, поскольку субкод Ci передается на основе ПФУ, этап 718, на котором определяется, завершена ли передача на основе ПФУ, становится ненужным.
На этапе 722 передатчик определяет, все ли субкоды были переданы путем сравнения значения i счета с полным числом S субкодов. Если i меньше или равно S, то передатчик возвращается к этапу 714, учитывая, что еще остаются субкоды, которые должны быть переданы. На этапе 714 передатчик передает следующий субкод. Если на этапе 722 определено, что i больше S, то передатчик возвращается к этапу 712, учитывая, что все коды переданы, сбрасывает значение счета i в 0 и повторяет операцию повторной передачи субкодов. Таким путем исходные субкоды повторно передаются, так что приемник выполняет объединение разнесения пакетов для принятых субкодов.
Как описано выше, поскольку различные субкоды последовательно передаются после приема запросов повторной передачи, каждый из различных субкодов может рассматриваться как ПФУ. Например, если набор субкодов включает субкоды С0, C1, C2..., Cs-1, то передатчик сначала передает субкод С0 в приемник. Если приемник успешно принимает субкод С0, он подготавливается для приема следующего ПФУ. В противном случае, если приемник не смог успешно принять субкод С0, он передает запрос повторной передачи (т.е. сообщение NACK) для данного ПФУ в передатчик. Затем передатчик передает следующий субкод C1 в приемник. В этом контексте каждый переданный субкод может рассматриваться как ПФУ.
Ниже описаны операции управления при приеме данных в приемнике со ссылками на фиг.11 и 12. Согласно фиг.1, приемник на этапе 810 устанавливает значение счета j на 0 для определения того, следует ли выполнять объединение разнесения пакетов, и значение счета i на 0 для определения того, все ли субкоды приняты. Как указано выше, схема объединения разнесения пакетов и схема объединения кодов пакетов селективно используются в настоящем изобретении. Т.е. декодирование выполняется путем объединения кодов для первоначально переданного ПФУ и путем объединения разнесения и затем объединения кодов для последующих ПФУ.
Приемник принимает субкод Ci на этапе 812 и определяет на этапе 814, принадлежит ли субкод Ci первому ПФУ, путем сравнения значения счета j с полным числом S переданных кадров. Если j меньше или равно S, то приемник переходит к этапу 918, принимая решение о том, что принятый субкод принадлежит к первому ПФУ. Если j больше, чем S, то приемник переходит к этапу 816, принимая решение, что принятый субкод не принадлежит к первому ПФУ.
На этапе 816 приемник выполняет объединение разнесения пакетов для принятых кадров передачи, т.е. для субкода Ci, принятого в текущем кадре передачи, и предыдущего принятого субкода, идентичного субкоду Ci. Например, если предыдущие субкоды имеют вид С0, C1, C2,..., Cs-1, а текущий субкод есть С0, то на этапе 816 выполняется объединение разнесения пакетов для предшествующего субкода С0 и текущего субкода С0.
Если j меньше или равно S или если завершено объединение разнесения пакетов, то приемник на этапе 818 выполняет объединение кодов. Операция объединения кодов описана ниже со ссылками на фиг.12.
Согласно фиг.12, приемник выполняет объединение кодов пакетов для принятого субкода С0 на этапе 910. Операция объединения кодов может быть записана как:
Как видно из (8), объединение кодов выполняется путем суммирования субкодов с 1-го по i-ый. После того как код выработан в результате объединения кодов пакетов, приемник декодирует информацию о принятом субкоде с использованием выработанного кода на этапе 912 и выполняет проверку циклическим избыточным кодом для декодированной информации на этапе 914. На этапе 916 приемник определяет, имеет ли декодированная информация ошибку. Если ошибка имеется, то приемник передает на этапе 918 сообщение NACK, эквивалентное запросу повторной передачи для принятого субкода, в передатчик. В противном случае, если декодированная информация не имеет ошибок, приемник передает на этапе 920 сообщение АСК для принятого субкода в передатчик и возвращается к этапу 810 для приема следующего ПФУ.
После передачи сообщения NACK на этапе 918 приемник сохраняет принятый субкод Ci на этапе 922 и затем переходит к этапу 820 на фиг.11. Приемник увеличивает значение счета j и i на 1 соответственно на этапах 820 и 822. На этапе 824 приемник вычисляет i=i mod S, чтобы установить значение счета i на исходное значение 0 в момент, когда все кадры передачи приняты, и отсчитывать число кадров передачи для следующего ПФУ. Поэтому i изменяется в диапазоне от 0 до S. Затем приемник возвращается на этап 812 для приема следующего субкода.
Приемник, соответствующий возможному варианту осуществления настоящего изобретения, передает сообщение ACK/NACK для принятого субкода. Когда он передает сообщение АСК, он принимает субкод для следующего ПФУ. С другой стороны, когда приемник передает сообщение NACK, он принимает до S субкодов для объединения кодов до тех пор, пока он не сможет передать сообщение АСК для нормального субкода. Если ни один из S субкодов не принят успешно, то приемник повторяет ту же самую операцию приема ПФУ, выполняя объединение разнесения и объединение кодов селективным образом.
Настоящее изобретение, как описано выше, обеспечивает следующие результаты:
(1) Соответствующий изобретению способ формирования субкодов для оптимального объединения кодов пакетов заметно увеличивает пропускную способность передачи при применении субкодов к схеме ГЗАП в системе мобильной связи, в которой передаются данные с использованием турбокодов.
(2) Селективное использование объединения кодов и объединения разнесения обеспечивает эффективную передачу данных.
(3) Использование гибкого объединения, особенно использование объединения кодов пакетов с учетом характеристик турбокодов, повышает пропускную способность системы в схеме повторной передачи системы связи, использующей турбокоды.
(4) Соответствующая изобретению схема ГЗАП во взаимосвязи с кодами прямого исправления ошибок и обнаружением ошибок повышает эффективность системы передачи пакетов данных, использующей схему повторной передачи или типовой системы связи, использующей схему повторной передачи.
Хотя изобретение показано и описано со ссылками на конкретные варианты его осуществления, специалистам в данной области техники должно быть понятно, что могут быть осуществлены различные изменения по форме и в деталях без отклонения от сущности и объема изобретения, как определено в формуле изобретения.
Изобретение относится к области радиосвязи для передачи данных, более конкретно для повторной передачи данных, в которых имеются ошибки при передаче. Технический результат - повышение пропускной способности передачи. Передатчик формирует S субкодов Ci (i=0, 1, 2,..., S-1) из информационного потока пакетов физического уровня (ПФУ) с использованием квазидополнительных турбокодов, первоначально передает первый субкод С0 и затем последовательно передает следующие субкоды каждый раз, когда принимается запрос повторной передачи для исходной передачи или для предыдущей повторной передачи. После приема запроса повторной передачи для последнего субкода CS-1 передатчик передает первый субкод С0 и затем последовательно передает следующие субкоды всякий раз, когда принимается запрос повторной передачи. 7 c. и 10 з.п. ф-лы, 12 ил., 6 табл.
US 6026079 А, 15.02.2000 | |||
СИСТЕМА ДЛЯ МОДУЛИРОВАНИЯ ИНФОРМАЦИОННЫХ СИГНАЛОВ В ЯЧЕИСТОЙ ТЕЛЕФОННОЙ СИСТЕМЕ С КОДОВЫМ РАЗДЕЛЕНИЕМ МНОЖЕСТВЕННОГО ДОСТУПА И СПОСОБ ЕГО ОСУЩЕСТВЛЕНИЯ | 1991 |
|
RU2125344C1 |
US 5636209 А, 03.06.1997 | |||
US 5023869 А, 11.06.1991. |
Авторы
Даты
2004-08-27—Публикация
2001-10-22—Подача