СПОСОБ И АППАРАТУРА ДЛЯ ПОВЫШЕНИЯ НАДЕЖНОСТИ ПЕРЕДАЧИ ДАННЫХ В БЕСПРОВОДНЫХ СИСТЕМАХ СВЯЗИ Российский патент 2010 года по МПК H04L1/18 

Описание патента на изобретение RU2378768C2

ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ

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

УРОВЕНЬ ТЕХНИКИ

[0002] Множество систем беспроводной связи используют HARQ для повышения надежности передачи данных. При помощи HARQ каждый пакет данных может передаваться передатчиком один раз или многократно до тех пор, пока пакет не будет правильно декодирован приемником, или не будет передано максимальное число передач для этого пакета. HARQ объект в передатчике (который часто называют HARQ объектом передатчика) принимает пакеты, которым присвоены порядковые номера, кодирует каждый пакет в один или несколько подпакетов и передает эти подпакеты в последовательном порядке.

[0003] Соответствующий HARQ объект в приемнике (который часто называют HARQ объектом приемника) принимает передачи от передатчика и комбинирует подпакеты, которые принадлежат одному пакету. Затем комбинированные подпакеты для каждого переданного пакета декодируют при попытке восстановить переданный пакет.Однако из-за деградации, вызванной разрушительными эффектами в беспроводной линии связи, некоторые из принятых пакетов могут быть декодированы с ошибкой и называются уничтоженными пакетами. Приемник может послать передатчику подтверждение (ACK) для каждого правильно декодированного пакета, чтобы закончить дальнейшую передачу подпакетов для этого пакета и/или отрицательное подтверждение (NAK) для каждого уничтоженного пакета, чтобы начать передачу другого подпакета этого пакета. Передатчик может ошибочно принять ACK и/или NAK, посланный приемником. Каждый ACK, который ошибочно детектирован передатчиком как NAK, приводит к передаче другого подпакета для пакета, который уже был правильно декодирован приемником. Избыточная передача может быть правильно декодирована приемником, что приведет к дублированию пакета. Уровень ошибок для передач ACK может быть высоким и, следовательно, приемник может часто получать дублированные пакеты.

[0004] HARQ объект приемника также должен предоставлять корректно декодированные пакеты на верхние уровни. Во многих системах ожидается, что верхние уровни принимают данные в надлежащем порядке, как определено порядковыми номерами пакетов. Используя HARQ, несмотря на то, что HARQ объект передатчика посылает первые подпакеты в последовательном порядке, из-за дополнительных передач подпакетов для уничтоженных пакетов HARQ объект приемника может восстанавливать пакеты в произвольном порядке. В результате HARQ объект приемника обычно буферизует пакеты, которые были правильно декодированы, переупорядочивает эти пакеты по мере необходимости и верхним уровням предоставляет переупорядоченные пакеты. Если пакеты восстановлены в произвольном порядке, то HARQ объект приемника может “остановить” или задержать доставку на верхние уровни корректно декодированных пакетов всякий раз при детектировании отсутствия более ранних пакетов пока либо (1) недостающие пакеты не будут правильно декодированы HARQ объектом приемника, либо (2) HARQ объект приемника не будет уверен, что недостающие пакеты потеряны и не будут приняты. Если HARQ объект приемника объявляет, что пакет потерян, хотя это не так, то верхние уровни могут (1) инициировать повторную передачу потерянного пакета, несмотря на длинную задержку, или (2) рассматривать пакет, как потерянный, но оба варианта нежелательны.

[0005] В простой схеме переупорядочивания приемник хранит каждый корректно декодированный пакет в буфере до тех пор, пока не истечет максимальная продолжительность времени для передачи всех более ранних пакетов. Затем по истечении этой максимальной продолжительности времени приемник предоставляет корректно декодированный пакет верхним уровням с уверенностью, что любые более ранние пакеты, которые все еще отсутствуют, не будут приняты. Однако для этой простой схемы переупорядочивания задержка доставки пакетов верхним уровням может быть чрезмерно длинной.

[0006] Поэтому в данной области техники существует потребность в эффективном выполнении детектирования дублирования и переупорядочивания при HARQ передаче.

РАСКРЫТИЕ ИЗОБРЕТЕНИЯ

[0007] В данном разделе описаны способы выполнения детектирования дублирования и переупорядочивания при HARQ передаче. В синхронной HARQ системе при HARQ передаче используется множество ARQ каналов, и при HARQ передаче и передатчику, и приемнику априори известно время, в которое происходит передача по каждому ARQ каналу. В асинхронной HARQ системе время между последующими передачами подпакетов по тому же самому ARQ каналу является переменным и определяется объектом планирования, исходя из канала и/или других особенностей. Если объект планирования находится в передатчике, что обычно имеет место в восходящей линии связи (или нисходящей линии связи), то для сообщения приемнику времени, в которое каждый ARQ канал совершает передачу, может использоваться надежный механизм управления. В системе с полностью запланированной нисходящей линией связи (или восходящей линией связи) объект планирования находится в приемнике, который в этом случае знает время, в которое происходит передача по каждому ARQ каналу. И для синхронных, и для асинхронных HARQ систем предполагается, что и передатчик, и приемник знают время, в которое происходит передача по каждому ARQ каналу.

[0008] В HARQ передаче передатчик принимает последовательность пакетов данных, которым можно назначить порядковые номера для указания их порядка в последовательности. Передатчик обрабатывает каждый пакет и генерирует множество подпакетов, которым назначает последовательно пронумерованные идентификаторы подпакета (SPID). Передатчик передает пакеты в последовательном порядке (на основе их порядковых номеров или в порядке прибытия из верхних уровней) по ARQ каналу, как только эти каналы становятся доступными. Каждый пакет посылают по одному ARQ каналу. Для каждого пакета подпакеты для этого пакета посылаются в последовательном порядке на основе их SPID, один подпакет за один раз, до тех пор, пока для пакета не будет принят ACK или не будут посланы все подпакеты.

[0009] Для детектирования дублирования приемник определяет, является ли данный корректно декодированный пакет x для данного ARQ канала у дублированным пакетом, основываясь на корректно декодированном пакете x и предшествующем корректно декодированном пакете для ARQ канала у. После получения предшествующего корректно декодированного пакета приемник присваивает непредусмотренному SPID для ARQ канала у значение SPID последнего подпакета, принятого для предшествующего корректно декодированного пакета, плюс один, то есть непредусмотренный SPID=+1. Непредусмотренный SPID представляет собой SPID для подпакета, прием которого не ожидается по ARQ каналу у. Например, приемник может послать ACK для предшествующего корректно декодированного пакета, который может быть ошибочно детектирован передатчиком как NAK, который может затем передать следующий подпакет со SPID +1. Приемник получает SPID последнего подпакета, принятого для корректно декодированного пакета x, сравнивает SPID этого подпакета c непредусмотренным SPID и объявляет, что пакет x является дублированным пакетом, если два SPID совпадают.Приемник увеличивает непредусмотренный SPID каждый раз, когда по ARQ каналу y может быть послан подпакет таким образом, чтобы непредусмотренный SPID отслеживал SPID подпакета, прием которого не ожидается по ARQ каналу y. Такое увеличение происходит, даже если приемник не детектировал передачу. Например, приемник может декодировать пакет со значением SPID= на ARQ канале y и послать ACK, который ошибочно детектируется передатчиком как NAK. Приемник не сможет детектировать по ARQ каналу y последующую передачу подпакета SPID=+1, но сможет детектировать передачу после того, как SPID приобретет значение +2. Путем постоянного увеличения непредусмотренного SPID гарантируется, что приемник будет всегда детектировать дублированные пакеты, даже если он не обнаружит некоторые подпакеты.

[0010] Для переупорядочивания приемник получает корректно декодированный пакет x для ARQ канала y, определяет, ожидается ли все еще на любом другом ARQ канале более ранний пакет на основе предшествующих корректно декодированных пакетов (если это имеет место) для ARQ каналов, и перенаправляет пакет x в верхние уровни только в случае, если не ожидаются более ранние пакеты. Каждый ожидаемый более ранний пакет представляет собой пакет, который был послан перед пакетом x и который все еще может быть принят.На другом ARQ канале z отсутствуют какие-либо ожидаемые более ранние пакеты, если (1) корректно декодированный пакет был принят по ARQ каналу z в течение заданного времени или позже,или (2) из текущего кадра в пределах временного окна не был принят корректно декодированный пакет по ARQ каналу z. Заданное время для пакета x определяется временем начала и номерами ARQ каналов, доступных для HARQ передачи. Для синхронного HARQ временное окно определяется максимальным количеством подпакетов для каждого пакета и количеством ARQ каналов. Для асинхронного HARQ в запланированной системе объекту планирования известно временное окно для передачи по каждому ARQ каналу.

[0011] Ниже более подробно описаны различные аспекты и варианты осуществления настоящего изобретения.

КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ

[0012] На ФИГ.1 показана обработка пакета для HARQ систем.

[0013] На ФИГ.2 показана синхронная HARQ передача по одному ARQ каналу.

[0014] На ФИГ.3А показана синхронная HARQ передача по четырем ARQ каналам;

[0015] На ФИГ.3B показан буфер данных для HARQ передачи, приведенной на ФИГ.3А;

[0016] На ФИГ.4 показана обработка выполнения детектирования дублирования;

[0017] На ФИГ.5A и 5B показаны два состояния определения, ожидается ли все еще более ранний пакет по другому ARQ каналу;

[0018] На ФИГ.6 показана процедура переупорядочивания пакетов;

[0019] На ФИГ.7 показана процедура определения, есть или нет ожидаемые более ранние пакеты;

[0020] На ФИГ.8 показана процедура обработки принятых пакетов для HARQ передачи;

[0021] На ФИГ.9 показана процедура переупорядочивания и перенаправления пакетов в верхние уровни;

[0022] На ФИГ.10 показана процедура HARQ передачи, приведенной на ФИГ.3А; и

[0023] На ФИГ.11 показана блок-схема беспроводного устройства и базовой станции.

ПОДРОБНОЕ ОПИСАНИЕ ИЗОБРЕТЕНИЯ

[0024] Слово “иллюстративный” в настоящем описании имеет значение “служить примером, случаем или иллюстрацией”. Любой вариант осуществления, описанный в настоящем описании как “иллюстративный”, не обязательно следует рассматривать как более предпочтительный или выгодный, чем другие варианты осуществления.

[0025] Описанные в настоящем описании способы детектирования дублирования и переупорядочивания могут использоваться для различных систем связи, таких как система Множественного Доступа с Кодовым Разделением Каналов (CDMA), система Множественного Доступа с Временным Разделением Каналов (TDMA), система Множественного Доступа с Частотным Разделением Каналов (FDMA), Множественный Доступ с Ортогональным Частотным Разделением Каналов (OFDMA), Ультраширокополосная Система (UWB) и т.д. Система CDMA может быть реализована в виде cdma2000, широкополосная-CDMA (W-CDMA) или в виде некоторых других способов радио доступа (RAT) CDMA. Система TDMA может быть реализована в виде Глобальной Системы Мобильной Связи (GSM) или в виде любой другой RAT. Система OFDM может быть реализована в виде IEEE 802.11, IEEE 802.16 или IEEE 802.20. Система UWB может быть реализована в виде 802.15. cdma2000 IS-95, IS-2000 и IS-856 и описана в документах от консорциума, названного “Проект Партнерства 3-его Поколения 2” (3GPP2). W-CDMA и GSM описаны в документах консорциума, названного “Проект Партнерства 3-его Поколения” (3GPP). 3GPP и 3GPP2 - документы являются доступными. Способы детектирования дублирования и переупорядочивания также могут использоваться для восходящей линии связи (или нисходящей линии связи) и нисходящей линии связи (или восходящей линия связи). Для ясности эти способы описаны для нисходящей линии связи в cdma2000 версии D.

[0026] На Фиг.1 показана обработка пакета для HARQ системы. Беспроводное устройство обрабатывает каждый пакет данных с целью генерации закодированного пакета и дальнейшего разделения закодированного пакета на три подпакета. Пакетам данных/кодированным пакетам назначают последовательные порядковые номера и маркируют как Pac0, Pac1, Pac2 и т.д., см. Фиг.1. Этим трем подпакетам для каждого кодированного пакета назначают идентификаторы подпакета (SPID) '0', '1' и '2' и на Фиг.1 маркируют как SP0, SP1 и SP2. Каждый подпакет содержит достаточную информацию, чтобы позволить принимающей базовой станции при благоприятных условиях декодировать подпакет канала и восстановить пакет.Три подпакета каждого пакета содержат различную избыточную информацию для данного пакета. Три подпакета для некоторого пакета могут рассматриваться как различные версии данного пакета или различные передачи данного пакета.

[0027] Закодированные пакеты начинают передавать в последовательном порядке. Таким образом, самый ранний пакет 0 (Pac0) передается перед пакетом 1 (Pac1), который передается перед пакетом 2 (Pac2), который передается перед пакетом 3 (РасЗ) и т.д. Для каждого пакета три подпакета передаются в последовательном порядке по одному и тому же ARQ каналу. Таким образом, подпакет 0 (SP0) передается первым, затем при необходимости следует подпакет 1 (SP1) и затем при необходимости следует подпакет 2 (SP2). Для каждого пакета могут быть переданы один, два или все три подпакета. Описанные выше обработка пакета и передача могут использоваться для каналов данных/трафика в различных системах, таких как, например, Нисходящий Канал Пакетных Данных (R-PDCH) в cdma2000 версия D. Для ясности конкретные детали описаны ниже для R-PDCH.

[0028] На Фиг.2 показана структура канала данных в синхронной HARQ системе. Время передачи для канала данных разделено на кадры, причем каждый кадр имеет фиксированную продолжительность (например, для R-PDCH в cdma2000 - 10 миллисекунд (ms)). В каждом кадре может быть послан один подпакет.Затем время передачи делят на четыре ARQ канала, которым назначают идентификаторы ARQ каналов (ACID) '0', '1', '2' и '3'. Четыре ARQ канала перемежаются таким образом, что ARQ канал 0 с ACID=0 занимает каждый четвертый кадр, начинающийся в заданном кадре, ARQ канал 1 с ACID=1 занимает каждый четвертый кадр сразу после ARQ канала 0, ARQ канал 2 с ACID=2 занимает каждый четвертый кадр сразу после ARQ канала 1, и ARQ канал 3 с ACID=3 занимает каждый четвертый кадр сразу после ARQ канала 2. Кадры, используемые для всех четырех ARQ каналов, определены, основываясь на системном времени (SYS_TIME), и известны беспроводному устройству и базовой станции. Четыре ARQ канала также называются ARQ и могут быть рассмотрены как четыре логических канала или четыре подканала канала данных в синхронной HARQ системе.

[0029] На ФИГ.2 также показана иллюстративная синхронная HARQ передача по одному ARQ каналу. Передается каждый пакет и возможно повторно передается по одному ARQ каналу. Для данного пакета беспроводное устройство сначала передает подпакет 0 в кадре для ARQ канала, затем подпакет 1 (если нужно) в следующем доступном кадре для того же ARQ канала и, наконец, подпакет 2 (если нужно) в следующем доступном кадре для ARQ канала. Поскольку принимается каждый подпакет, базовая станция пытается декодировать пакет, основываясь на всех подпакетах, которые были приняты для данного пакета. Если декодирование прошло успешно, то базовая станция посылает ACK по Восходящему Каналу Подтверждений (F-ACKCH), и беспроводное устройство прекращает посылать подпакеты этого пакета. Наоборот, если декодирование прошло неудачно, то базовая станция посылает NAK по F-ACKCH, и беспроводное устройство посылает следующий подпакет данного пакета. Задержка для передачи NAK или ACK представляет собой один кадр. В асинхронной HARQ системе передача каждого подпакета также происходит последовательно по одному и тому же ARQ каналу, но отсутствует какая-либо фиксированная продолжительность времени между последовательными передачами по одному и тому же ARQ каналу.

[0030] Для примера, показанного на Фиг.2, беспроводное устройство передает подпакет 0 пакета 0, который декодирован базовой станцией с ошибкой. Затем беспроводное устройство передает подпакет 1 пакета 0, который декодирован корректно, и следовательно посылает назад ACK. Затем беспроводное устройство передает подпакет 0 следующего пакета 1, который декодирован базовой станцией с ошибкой. Затем беспроводное устройство передает подпакет 1 пакета 1. Для других пакетов передача данных продолжается таким же образом.

[0031] Для ясности на Фиг.2 показана передача как NAK, так и ACK. С целью уменьшения количества передач сигналов многие системы посылают только ACK или только NAK. Для схемы, основанной на ACK, приемник передает ACK только в том случае, если пакет декодирован корректно, и не посылает никакой NAK. Таким образом, ACK посылается явным образом, а NAK является посланным неявно (т.е. предполагается в связи с отсутствием ACK или обозначается некоторыми другими способами). Для схемы, основанной на NAK, приемник посылает NAK только в том случае, если пакет декодирован с ошибкой, и не посылает ACK. Описанные в настоящем описании способы могут использоваться с любым видом обратной связи.

[0032] Приемник может определить, декодирован ли данный пакет корректно или с ошибкой, основываясь на ошибочном коде детектирования, используемом для данного пакета. Например, пакет декодирован корректно, если для пакета прошла проверка избыточности циклической суммы (CRC), и декодирован с ошибкой, если CRC не прошла. Как используется в настоящем описании, декодированный пакет представляет собой пакет, который приемником декодирован корректно (например, прошла CRC), а уничтоженный пакет представляет собой пакет, который декодирован приемником с ошибкой (например, CRC не прошла).

[0033] Как показано на Фиг.2, введены некоторые задержки для передачи подпакета, декодирования пакета и посылает назад ACK или NAK. Передачи подпакетов для каждого ARQ канала отделены четырьмя кадрами для учета задержки передачи и обработки. По четырем ARQ каналам беспроводное устройство может передавать параллельно до четырех пакетов. В любой данный момент может проходить до четырех ожидающих обработки пакетных передач. Каждая ожидающая обработки пакетная передача происходит для пакета, который не был опознан как декодируемый базовой станцией.

[0034] На Фиг.3А показана иллюстративная синхронная HARQ передача по всем четырем ARQ каналам. Беспроводное устройство посылает подпакет 0 пакетов 0, 1, 2 и 3 по ARQ каналам 0, 1, 2 и 3 соответственно, в кадрах 0, 1, 2 и 3 соответственно. Базовая станция принимает эти четыре подпакета, декодирует пакеты 0, 1 и 3 с ошибкой, а пакет 2 декодирует корректно. Затем беспроводное устройство передает подпакет 1 пакетов 0, 1 и 3 по ARQ каналам 0, 1 и 3 соответственно, в кадрах 4, 5 и 7 соответственно, а по ARQ каналу 2 в кадре 6 передает подпакет 0 следующего пакета 4. Базовая станция принимает подпакеты, декодирует пакеты 0 и 3 корректно, а пакеты 1 и 4 декодирует с ошибкой. Затем беспроводное устройство передает подпакет 0 следующего пакета 5 по ARQ каналу 0 в кадре 8, подпакет 2 пакета 1 по ARQ каналу 1 в кадре 9, подпакет 1 пакета 4 по ARQ каналу 2 в кадре 10 и подпакет 0 следующего пакета 6 по ARQ каналу 3 в кадре 11. Базовая станция принимает подпакеты, декодирует пакеты 1, 5 и 6 с ошибкой, а пакет 4 декодирует корректно. Затем беспроводное устройство передает подпакет 1 пакета 5 по ARQ каналу 0 в кадре 12, подпакет 0 следующего пакета 7 по ARQ каналу 1 в кадре 13, подпакет 0 следующего пакета 8 по ARQ каналу 2 в кадре 14 и подпакет 1 пакета 6 по ARQ каналу 3 в кадре 15. Беспроводное устройство передает новый пакет по ARQ каналу 1, даже если пакет 1 не был декодирован, так как для пакета 1 были посланы все три подпакета. Беспроводное устройство продолжает передавать новый пакет всякий раз, когда канал ARQ становится доступным.

[0035] На Фиг.3B показано содержимое буфера данных, используемого для хранения декодированных пакетов в базовой станции. Буфер данных обычно называют буфером переупорядочивания. Каждый декодированный пакет может временно храниться в буфере данных до тех пор, пока пакет не будет готов к его отправке на верхние уровни. На Фиг.3B показан каждый декодированный пакет и кадр, в котором был декодирован пакет. Пакет 2 был декодирован в кадре 2, пакет 0 был декодирован в кадре 4, пакет 3 был декодирован в кадре 7, пакет 4 был декодирован в кадре 10, пакет 5 был декодирован в кадре 12 и пакет 8 был декодирован в кадре 14. В кадре 9 было детектировано отсутствие пакета 1. Как показано на Фиг.3А и 3B, хотя беспроводное устройство передает пакеты, начиная в последовательном порядке, базовая станция восстанавливает пакеты в произвольной последовательности из-за дополнительных передач уничтоженных пакетов.

[0036] Для простоты, на Фиг.3А не принимаются ошибки детектирования для ACK и NAK, посланных базовой станцией в беспроводное устройство. Для каждого ACK, который детектирован как NAK, беспроводное устройство передает следующий подпакет пакета, который уже декодирован базовой станцией. Для каждого NAK, который детектирован как ACK, беспроводное устройство передает следующий пакет, даже если предшествующий пакет не был декодирован базовой станцией. Для достижения надежной передачи данных уровень ошибок NAK/ACK обычно является небольшим (например, 0,1%). Однако уровень ошибок ACK/NAK может быть высоким и переменным (например, от 1 до 10%). Базовая станция может принять дублированные пакеты из-за ошибок ACK/NAK.

[0037] Базовая станция может выполнять детектирование дублирования с целью идентификации и отказа от дублированных пакетов. Детектирование дублирования может выполняться, исходя из следующих предположений: (1) базовая станция (или приемник) имеет информацию об ARQ канале, посылаемую в каждом кадре, основываясь на синхронизации системы, (2) подпакеты для каждого пакета посылают в последовательном порядке, и (3) базовая станция может присвоить SPID подпакета только в случае декодирования пакета.

[0038] На Фиг.4 показана блок-схема процедуры 400 выполнения детектирования дублирования пакетов, принятых посредством HARQ передачи. Для каждого ARQ канала базовая станция поддерживает переменную Unexpected_SPID. Эта переменная указывает SPID подпакета, прием которого не ожидается на ARQ канале. В начале HARQ передачи для каждого ARQ канала базовая станция инициализирует Unexpected_SPID недостоверным значением (этап 410). Например, Unexpected_SPID может быть присвоено Max_Num_Tx, который представляет собой максимальное количество подпакетов для каждого пакета, где Max_Num_Tx=3 для R-PDCH в cdma2000 версии D. На этапе 410 для HARQ передачи инициализация выполняется один раз.

[0039] Базовая станция выполняет детектирование дублирования для каждого кадра при передаче. Базовая станция определяет ARQ канал для текущего кадра (который называют ARQ канал y), основываясь на его информации о системном времени (этап 420). Затем базовая станция пытается декодировать пакет для текущего кадра (этап 422). Далее происходит определение того, был ли пакет декодирован (этап 424). Если пакет был декодирован, то базовая станция получает SPID из подпакета, принятого в текущем кадре (который называют SPID k) (этап 426). В cdma2000 версии D каждый подпакет несет SPID, назначенный для подпакета, но базовая станция может достоверно установить SPID, только если пакет декодирован.

[0040] Затем базовая станция определяет, равен ли SPID значению Unexpected_SPID для ARQ канала y (этап 428). Если для ARQ канала y SPID не равен Unexpected_SPID, что имело бы место для первого пакета, посланного по ARQ каналу у, поскольку Unexpected_SPID инициализировался недостоверной величиной, то Unexpected_SPED присваивается значение к+1 (этап 432). Для ARQ канала у базовая станция не ожидает приема подпакета со значением SPID к+1 в следующем кадре, так как пакет x уже декодирован. Если в следующем кадре для ARQ канала y принят подпакет со значением SPID k+1, то этот подпакет должен был быть послан из-за ошибки ACK/NAK и является дублированным пакетом. Таким образом, возвращаясь на этап 428, если SPID к равен Unexpected_SPID, то пакет x объявляется дублированным пакетом и от него отказываются (этап 430). После этапа 430 Unexpected_SPID присваивается значение к+1 (этап 432).

[0041] Если для текущего кадра пакет был уничтожен, как определено на этапе 424, то происходит определение, является ли для ARQ канала у значение Unexpected_SPID недостоверным (например, равным Max_Num_Tx) (этап 434). Если ответом является 'Нет', то для ARQ канала у базовая станция увеличивает значение Unexpected_SPID на один (этап 436). Если на этапе 434 и после этапа 436 ответом является 'Да', процедура возвращается на этап 420 для обработки следующего кадра.

[0042] Детектирование дублирования по Фиг.4 присваивает значение Unexpected_SPID, основываясь на SPID последнего подпакета, принятого для декодированного пакета. Детектирование дублирования увеличивает на этапе 436 значение Unexpected_SPID на единицу (1) всякий раз при приеме уничтоженного пакета, поскольку подпакеты посылают в последовательном порядке, и (2) если значение Unexpected_SPID не достигает Max_Num_Tx и не является недостоверной величиной, присвоенной на этапе 410. Если значение Unexpected_SPID достигает на этапе 436 значения Max_Num_Tx, то значение Unexpected_SPID может быть сохранено со значением Max_Num_Tx или установлено в некоторую другую недостоверную величину. Детектирование дублирования также может быть выполнено другими способами, исходя из данного описания.

[0043] Как показано на Фиг.3А и 3B, HARQ объект приемника в базовой станции может восстанавливать пакеты в произвольной последовательности, даже если пакеты были посланы последовательно. Для уменьшения задержки является желательным, перенаправлять каждый декодированный пакет в верхние уровни как можно скорее. Однако если верхние уровни ожидают приема пакетов в последовательном порядке, то HARQ объект приемника обычно буферизует декодированные пакеты, переупорядочивает пакеты, которые не являются последовательными, и затем предоставляет переупорядоченные пакеты верхним уровням.

[0044] Для данного декодированного пакета x базовая станция может перенаправлять пакет x верхним уровням при отсутствии пакета, который был послан перед пакетом x и все еще может быть принят. Другой пакет b посылают перед пакетом x, если передача пакета b началась перед передачей пакета x. Если пакеты посылают в последовательном порядке, то, если бы другой пакет b был послан перед пакетом x, пакет b должен был быть перенаправлен в верхние уровни до пакета x, в случае если верхние уровни ожидают приема пакетов в последовательном порядке. Если пакет b не декодирован после максимально возможного количества повторных ARQ передач, то пакет b является потерянным, и пакет x может быть перенаправлен в верхние уровни.

[0045] Для каждого ARQ канала базовая станция может поддерживать флаг и может сбрасывать этот флаг для пакета x, если по ARQ каналу нет никаких ожидаемых более ранних пакетов. Ожидаемый более ранний пакет представляет собой пакет, который был послан по ARQ каналу перед пакетом x и который все еще может быть принят базовой станцией. Базовая станция может перенаправить пакет x в верхние уровни, если для всех ARQ каналов сброшены флаги. В Таблице 1 представлены различные переменные, используемые в приведенном ниже описании, и для каждой переменной дано краткое описание. Для R-PDCH в cdma2000 в третьей колонке Таблицы 1 для некоторых из переменных приведены значения по умолчанию.

Таблица 1

Переменная Описание Значение по умолчанию Num_Channels Номер ARQ канала, доступного для передачи данных 4 Max_Num_Tx Максимальное количество подпакетов для каждого пакета 3 Max_Wait Максимальное количество времени (в кадрах) ожидания для пакета на другом ARQ канале 8 кадров Current_Frame Текущий обрабатываемый кадр Start_Time Время первой передачи пакета. Start_Time поддерживается для каждого пакета и задается в единицах кадров. Last_Decode_Time Время последнего приема декодированного пакета по ARQ каналу. Last_Decode_Time поддерживается для каждого ARQ канала и задается в единицах кадров.

[0046] В синхронном HARQ значение Max_Wait может быть вычислено следующим образом:

Max_Wait=Num_Channels x (Max_Num_Tx-1). уравнение (1)

Max_Wait=8 кадров для R-PDCH в cdma2000 версии D. В R-PDCH для синхронного HARQ возможно наличие автономных передач.

[0047] В асинхронном HARQ по R-PDCH может быть запланирована каждая передача. Max_Wait для ARQ канала представляет собой время между первой и последней передачей подпакета по данному ARQ каналу и может иметь переменную продолжительность. Приемнику известно значение Max_Wait для каждого ARQ канала, если объект планирования находится в приемнике. Это верно для полностью запланированных нисходящих линий связи, таких как IEEE 802.16. Если объект планирования находится в передатчике, то для ARQ канала может быть определено значение Max_Wait, если передатчик имеет надежный способ передачи в приемник подпакета и идентификатора ARQ канала.

[0048] Для каждого ARQ канала z, где z∈С, и С обозначает набор всех ARQ каналов, базовая станция может сбросить флаг для ARQ канала z, если будет соблюдено любое из следующих двух условий:

1. Пакет был послан по ARQ каналу z после Start_Time для пакета x или, что эквивалентно, значение Last_Decode_Time для ARQ канала z больше, чем значение Start_Time для пакета x минус значение Num_Channels;

2. По меньшей мере, (Max_Num_Tx-1) подпакетов были посланы по ARQ каналу z, начиная со значения Start_Time для пакета x.

Для незапланированной, но синхронной HARQ передачи количество подпакетов, которое было послано по ARQ каналу, может быть определено по времени, прошедшему начиная с последнего декодирования. Для запланированной HARQ передачи как синхронной, так и асинхронной приемник знает, что подпакет является запланированным. В этом случае приемник знает, когда по каждому ARQ каналу посылают (Max_Num_Tx-1).

[0049] Для синхронного HARQ, где каждый следующий подпакет передают по ARQ каналу после фиксированной задержки, условия 1 и 2 подробно описаны ниже. Это уменьшает время на описание приведенного ниже алгоритма. Алгоритм также может использоваться для асинхронного HARQ, если приемник знает значение Start_Time каждого ARQ канала.

[0050] На Фиг.5A показан сброс флагов для ARQ каналов, основываясь на первом условии. Для примера, показанного на Фиг.5A, пакет x посылают по ARQ каналу у-1, начиная в Start_Time, показанном на Фиг.5A, и декодируется в текущем кадре. Все кадры, начинающиеся после Start_Time-4 (которое представляет собой заданное время и равно Start_Time-Num_Channels) до текущего кадра, показаны диагональной штриховкой. Если бы пакет для какого-нибудь ARQ канала z был декодирован в любом из кадров со штриховкой, то любой пакет, который мог быть послан после этого декодированного пакета по тому же ARQ каналу z, имел бы время начала больше, чем Start_Time для пакета x. Следовательно, этот ARQ канал z не может нести более ранний пакет, чем пакет x, и флаг для этого ARQ канала z может быть сброшен. Включение кадра Start_Time-4 для первого условия является дополнительным для декодирования пакета x во время разрешения сброса флага для ARQ канала у для пакета x.

[0051] На Фиг.5B показан сброс флагов для ARQ каналов, исходя из второго условия. Для примера, показанного на Фиг.5B, Max_Num_Tx=3 и для каждого пакета посылают до трех подпакетов. Пакет x посылают по ARQ каналу у=1, начиная при Start_Time, показанном на Фиг.5B, и корректно декодируется в кадре Tc-3, который для пакета x находится через четыре кадра после Start_Time. ARQ канал z, который для пакета x нес Max_Num_Tx-1 подпакеты, начиная с Start_Time, не может нести пакет, который был послан для пакета x перед Start_Time. Например, ARQ канал z=2 несет подпакет в кадре Tc-2, который находится за два кадра перед текущим кадром, и другой подпакет в кадре Tc-6, который находится за шесть кадров перед текущим кадром. Для пакета x оба подпакета посылают по ARQ каналу 2 после Start_Time. После обработки подпакета для ARQ канала 2 в кадре Tc-2 нельзя, чтобы ARQ канал 2 все еще нес пакет, который для пакета x был послан перед Start_Time. Так происходит, поскольку, если для пакета x по ARQ каналу 2 перед Start_Time был бы послан пакет, то этот пакет необходимо было бы посылать, начиная с кадра Tc-10 и заканчивая в кадре Tc-2, независимо от того, был ли пакет декодирован или уничтожен, потому что для этого пакета было послано максимальное количество подпакетов. Для второго условия для каждого ARQ канала z может быть сброшен флаг, если в пределах последних кадров Num_Wait, начиная от текущего кадра, который может быть рассмотрен как скользящее временное окно, для ARQ канала z никакой пакет не был декодирован. Вышеупомянутый пример также может быть применен, если пакет x был декодирован в кадре Tc-7, а не в кадре Тс-3.

[0052] На Фиг.6 показана блок-схема процедуры 600 переупорядочивания пакетов, принятых посредством HARQ передачи. При передаче базовая станция выполняет переупорядочивание каждого кадра. Базовая станция определяет ARQ канал для текущего кадра (который назван ARQ канал y) (этап 620). Затем базовая станция пытается декодировать пакет x для текущего кадра (этап 622). Затем происходит определение, был ли декодирован пакет x (этап 624). Если пакет x был декодирован, то базовая станция определяет, был ли перед пакетом x послан другой пакет по другому ARQ каналу, и можно ли его еще принять, т.е. есть ли более ранний пакет, который все еще ожидается на другом ARQ канале (этап 626). Если ожидается более ранний пакет, и базовая станция должна ждать этот пакет, как определено на этапе 628, то базовая станция хранит пакет x в буфере данных (этап 632). В противном случае, если более ранние пакеты не ожидаются, то базовая станция перенаправляет пакет x и/или все пакеты, которые были декодированы, и ждет пакет x (этап 630). Возможны случаи, когда пакет x не может быть перенаправлен, но декодирование пакета x позволяет другим пакетам ожидать перенаправления в буфере данных. Затем процедура возвращается на этап 620 для обработки следующего кадра.

[0053] На Фиг.7 показана блок-схема варианта осуществления этапа 626 по Фиг.6. Сначала вычисляется Start_Time для пакета x, как описано ниже (этап 710), и для всех ARQ каналов флаги установлены в логическую единицу (этап 712). Индекс i для ARQ каналов устанавливается в ноль для первого ARQ канала, который был оценен (этап 714). Затем происходит определение, был ли принят по ARQ каналу i пакет x, который был декодирован в текущем кадре (этап 720). Если на этапе 720 ответом является 'Да', то флаг для ARQ канала i сбрасывается (этап 726). В противном случае происходит определение, был ли для ARQ канала i получен декодированный пакет после Start_Time-Num_Channels, где Start_Time представляет собой время начала для пакета x (этап 722). Если на этапе 722 ответом является 'Да', то флаг для ARQ канала i сбрасывается (этап 726). В противном случае происходит определение, не был ли получен какой-либо декодированный пакет для ARQ канала i в последних кадрах Max_Wait-1 (этап 724). Если на этапе 724 ответом является 'Да', то флаг для ARQ канала i сбрасывается (этап 726).

[0054] Этапы 720 и 722 представляют собой первое условие, описанное выше по Фиг.5A, которые для ясности на Фиг.7 показаны как два отдельных этапа. Этап 724 представляет собой второе условие, описанное выше по Фиг.5B, если ответом является 'Нет' на всех трех этапах 720, 722, и 724, то, по меньшей мере, имеется один ожидаемый пакет, который был послан перед пакетом x и который все еще может быть принят.Затем предоставляется индикатор того, что пакет x ожидает другой пакет (этап 734), при этом обработка для этапа 626 заканчивается.

[0055] Если флаг для ARQ канала i сбрасывается на этапе 726, поскольку в этом ARQ канале не ожидается никакой более ранний пакет, то происходит определение, были ли оценены все ARQ каналы (этап 728). Если ответом является 'Нет', то индекс увеличивается (этап 730), и процедура возвращается на этап 720 для оценки следующего ARQ канала. В противном случае, если на этапе 728 ответом является 'Да', это означает, что флаги для всех ARQ каналов были сброшены, предоставляется индикатор того, что пакет x может быть перенаправлен в верхние уровни (этап 732), и при этом обработка для этапа 626 заканчивается.

[0056] Ниже описан конкретный вариант осуществления обработки пакетов и выполнения переупорядочивания. Для этого варианта осуществления для каждого ARQ канала поддерживается и используется единственная переменная Last_Decode_Time для оценки как условия 1, так и условия 2 для ARQ канала. Last_Decode_Time для каждого ARQ канала указывает кадр, в котором декодированный пакет был последним полученным для ARQ канала, и присваивается текущему кадру (или Current_Frame) всякий раз, когда по ARQ каналу получают декодированный пакет.Last_Decode_Time для каждого ARQ канала также устанавливают таким образом, чтобы оно было меньше, чем Current_Frame-Max_Wait всякий раз, когда обрабатывается ARQ канал с тем, чтобы при помощи той же самой переменной можно было оценить условие 2. В начале HARQ передачи Last_Decode_Time для ARQ каналов 0, 1, 2 и 3 инициализируют значениями First_Frame-4, First_Frame-3, First_Frame-2 и First_Frame-1 соответственно, где First_Frame представляет собой кадр, в котором посылают самый первый подпакет для HARQ передачи.

[0057] На Фиг.8 показана блок-схема процедуры 800 обработки пакетов, принятых для HARQ передачи. Процедура 800 выполняется при передаче для каждого кадра. Базовая станция определяет ARQ канал для текущего кадра, который назван ARQ канал у (этап 820), декодирует пакет x для текущего кадра (этап 822) и определяет, был ли декодирован пакет x (этап 824). Если пакет x был декодирован, то базовая станция устанавливает Last_Decode_Time для ARQ канала у в Current_Frame (этап 826), определяет SPID подпакета, принятого в текущем кадре для пакета x (этап 828), и вычисляет Start_Time для пакета x (этап 830) следующим образом:

Start_Time=Current_Frame-Num_Channels x SPID уравнение (2)

Время начала для каждого пакета устанавливается, только в том случае, если пакет декодирован, и далее вычисляется, исходя из количества подпакетов, которые были переданы для пакета, указанного SPID для подпакета, принятого в текущем кадре для пакета x. Затем сохраняют пакет x в буфере данных наряду с его Start_Time (этап 832).

[0058] Если пакет x был уничтожен, как определено на этапе 824, то базовая станция определяет, является ли Last_Decode_Time для ARQ канала у более ранним, чем Max_Wait из текущего кадра (этап 834). Если ответом является 'Да', то базовая станция устанавливает Last_Decode_Time для ARQ канала у (этап 836) следующим образом:

Last_Decode_Time=Current_Frame-Max_Wait уравнение (3)

Если ответом является 'Нет' на этапе 834, а также после этапов 832 и 836, процедура заканчивается.

[0059] На Фиг.9 показана блок-схема процедуры 900 переупорядочивания и перенаправления пакетов в верхние уровни. Процедура 900 может выполняться после процедуры 800 и всякий раз при получении декодированного пакета по ARQ каналу. Переменную Earliest_Decode_Time устанавливают в самый ранний Last_Decode_Time среди всех ARQ каналов (этап 910).

[0060] Затем происходит определение, пустой ли буфер данных (этап 920). Если ответом является 'Да', то процедура заканчивается. В противном случае идентифицируют самый старый пакет, хранящийся в буфере данных (который назван пакетом z) (этап 922). Пакет z имеет самое раннее время начала среди всех пакетов, хранящихся в буфере данных. В буфере данных могут храниться декодированные пакеты, отсортированные на основе их времени начала. Например, пакет с самым старым временем начала может храниться вверху буфера, за которым следует пакет со следующим самым старым временем начала и т.д. В любом случае, получают Start_Time пакета z (этап 924).

[0061] Затем происходит определение, является ли Earliest_Decode_Time более поздним, чем Start_Time пакета z минус Num_Channels (этап 926). Как показано на Фиг.5A, если декодированный пакет был получен для другого ARQ канала z в кадре Start_Time-Num_Channels или позже, то ARQ канал z не несет ожидаемый более ранний пакет.Поскольку перенаправляется только пакет x, если ни на каком ARQ канале нет никаких ожидаемых более ранних пакетов, то использование Earliest_Decode_Time эффективно оценивает условие 1 для всех ARQ каналов посредством одного сравнения на этапе 926. Кроме того, устанавливая для каждого ARQ канала Last_Decode_Time не позже, чем Current_Frame-Max_Wait на этапе 836 на Фиг.8, также условие 2 оценивают посредством сравнения на этапе 926.

[0062] Если на этапе 926 ответом является 'Да', что указывает на отсутствие каких-либо ожидаемых более ранних пакетов, то пакет z удаляют из буфера данных и перенаправляют в верхние уровни (этап 928). Затем процедура возвращается на этап 920 для оценки самого старого пакета (если имеется) в буфере данных. В противном случае, если на этапе 926 ответом является 'Нет', что указывает на наличие, по меньшей мере, одного ожидаемого более раннего пакета, пакет z сохраняют в буфере данных, и процедура завершается.

[0063] На Фиг.10 показана обработка иллюстративной HARQ передачи по Фиг.3А при помощи процедур 800 и 900 по Фиг.8 и 9 соответственно. Первая передача подпакета происходит в кадре 0, и в начале HARQ передачи Last_Decode_Time для ARQ каналов 0, 1,2 и 3 инициализируется как -4, -3, -2 и -1 соответственно. Last_Decode_Time для каждого ARQ канала обновляется всякий раз, когда обрабатывается ARQ канал. Это обновление влечет за собой установку Last_Decode_Time в (1) текущий кадр, если для ARQ канала получен декодированный пакет, что имеет место для кадров 2, 4, 7, 10, 12 и 14 на Фиг.10, и (2) текущий кадр минус Max_Wait, если Last_Decode_Time больше значения, которое имеет место для кадров 9, 13 и 15. Базовая станция переупорядочивает и перенаправляет пакеты всякий раз при получении декодированного пакета, например, в кадрах 2, 4, 7, 9, 10, 12, 13 и 14 на Фиг.10. Для каждого кадра с декодированным пакетом на Фиг.10 показано (1) Earliest_Decode_Time, вычисленное для кадра, (2) пакеты, сохраненные в буфере данных, и время начала для каждого сохраненного пакета, которое приведено в круглых скобках, и (3) пакеты, если таковые вообще имеются, которые перенаправлены в верхние уровни. Для примера, показанного на Фиг.10, в кадре 10 поддерживается пакет 4, поскольку на ARQ канале 1 не был декодирован пакет.Если номер последовательности пакета доступен для переупорядочивания, то пакет 4 может быть перенаправлен, если пакет 3 уже был перенаправлен.

[0064] Ниже приведены иллюстративные псевдокоды для процедур 800 и 900 на Фиг.8 и 9 соответственно.

Обновление переменных:

100 If (CRC for Packetx on ACIDy passes) Then {

110 Last_Decode_Time[ACIDy]=Sys_Time;

120 Start_Time[Packetx]=Sys_Time - 4*SPID[Packetx];

130 Put Packetx in Buffer sorted based on

increasing values of packet Start_Time; }

140 Else {

150 Last_Decode_Time[ACIDy]=max (Last_Decode_Time[ACIDy],

Sys_Time - 4*(Max_Num_Tx-l)); }

Переупорядочивание и перенаправление пакетов;

200 eva1_next_packet=true;

210 Earliest_Decode_Time=min{Last_Decode__Time[ACID0],

Last_Decode_Time[ACID1], Last_Decode_Time[ACID2],

Last_Decode_Time[ACID3]};

220 While ((eva1_next_packet=true) && (Buffer not empty)) do

230 {

240 Next_Packet=Get oldest packet from Buffer

250 If (Earliest_Decode_Time>Start_Time[Next_Packet] - 4)

260 Then forward Next_Packet to upper layers

270 Else eva1_next_packet=false;

280 }

[0065] На Фиг.11 показана блок-схема варианта осуществления беспроводного устройства 1110 и базовой станции 1150 в системе беспроводной связи. Беспроводное устройство также может быть названо мобильной станцией, терминалом пользователя/доступа, пользовательским оборудованием, телефонной трубкой, абонентским модулем или каким-либо другим термином. Базовая станция представляет собой фиксированную станцию и также может быть названа основной станцией приемопередатчика (BTS), пунктом доступа, узлом B или каким-либо другим термином.

[0066] В нисходящей линии связи устройство 1112 кодирования принимает данные трафика, чтобы послать беспроводному устройству 1110 для HARQ передачи, и обрабатывает каждый пакет данных для генерации соответствующего кодированного пакета. Затем устройство 1112 кодирования может разделить каждый кодированный пакет на множество подпакетов. Обработка устройством 1112 кодирования может включать в себя форматирование, кодирование, чередование и т.д., и определяется применяемым стандартом системы. Например, данные могут быть посланы по R-PDCH, и обработка может быть выполнена в соответствии с cdma2000 версии D. Модулятор 1114 (Mod) принимает подпакеты и обрабатывает каждый подпакет для передачи. Обработка модулятором 1114 может включать в себя отображение символа, канализацию, спектральное расширение и т.д., и также определяется применяемым стандартом системы. Блок 1116 передатчика (TMTR) обрабатывает выходные данные из модулятора 1114 и восстанавливает сигнал нисходящей линии связи, который пропускается удвоитель (D) 1118 и передается через антенну 1120.

[0067] В базовой станции 1150 антенной 1152 принимается сигнал нисходящей линии связи, пропускается через удвоитель 1154 и обрабатывается блоком 1156 приемника (RCVR) с целью восстановления принятых выборок. Затем демодулятор 1158 (Demod) обрабатывает (например, сужает, деканализирует и демодулирует данные) принятые выборки и предоставляет демодулированные символы. Декодер 1160 декодирует демодулированные символы для каждого пакета, посланного беспроводным устройством 1110, проверяет пакет, предоставляет статус пакета диспетчеру 1170 и предоставляет пакет (если он декодирован) буферу данных 1174. Обработка при помощи демодулятора 1158 и декодера 1160 в базовой станции 1150 является дополнительной к обработке при помощи модулятора 1114 и кодирующего устройства 1112 соответственно в беспроводном устройстве 1110.

[0068] Устройство 1112 кодирования и декодер 1160 выполняют обработку на физическом уровне. HARQ обычно реализуется на уровне Среднего Управления Доступом (MAC), который находится в верхней части физического уровня. В одном из вариантов осуществления устройство 1112 кодирования реализует HARQ объект передатчика, весь или частично, для HARQ передачи из беспроводного устройства 1110 к базовой станции 1150. Декодер 1160 реализует HARQ объект приемника, весь или частично, для HARQ передачи. В другом варианте осуществления диспетчер 1130 реализует HARQ объект передатчика, весь или частично, а контроллер 1170 реализует HARQ объект приемника, весь или частично. Например, декодер 1160 может предоставлять статус каждого принятого пакета и время декодирования для каждого декодированного пакета, а контроллер 1170 может выполнять детектирование дублирования, переупорядочивание и перенаправление декодированных пакетов в верхние уровни. Контроллер 1170 может дополнительно предоставлять соответствующую обратную связь ACK/NAK для каждого подпакета, принятого из беспроводного устройства 1110.

[0069] Для восходящей линии связи данные, которые должны быть посланы базовой станцией 1150, и ACK/NAK для беспроводного устройства 1110 обрабатываются (например, форматируются, кодируются и т.д.) устройством 1180 кодирования, дополнительно обрабатываются (например, канализируются, расширяются и т.д.) модулятором 1182 и нормализуют блоком 1184 передатчика для восстановления сигнала восходящей линии связи, который пропускают через удвоитель 1154 и передают через антенну 1152. В беспроводном устройстве 1110 сигнал восходящей линии связи, принятый антенной 1120, пропускают через удвоитель 1118 и обрабатывают при помощи блока 1140 приемника для восстановления входных выборок. Демодулятор 1142 обрабатывает входные выборки и предоставляет демодулированные символы, а декодер 1144 дополнительно обрабатывает демодулированные символы и предоставляет декодированные данные в буфер 1134 данных.

[0070] Контроллер 1130 принимает из декодера 1144 обратную связь ACK/NAK, посланную базовой станцией 1150, и направляет передачу подпакетов для уничтоженных и новых пакетов. Контроллеры 1130 и 1170 дополнительно управляют работой различных блоков обработки в беспроводном устройстве 1110 и базовой станции 1150 соответственно. Контроллеры 1130 и 1170 могут реализовывать все или часть способов детектирования дублирования и переупорядочивания, приведенных в настоящем описании для HARQ передачи по восходящей линии связи и нисходящей линии связи соответственно. Например, каждый контроллер может реализовывать процедуры, показанные на Фиг.4, 6, 7, 8 и 9. Блоки 1132 и 1172 памяти хранят коды программ и данные, используемые контроллерами 1130 и 1170 соответственно.

[0071] Для ясности, способы детектирования дублирования и переупорядочивания были описаны для R-PDCH в cdma2000 версии D. В общем случае эти технологии можно использовать для HARQ с любым количеством ARQ каналов, любым количеством подпакетов/передач для каждого пакета и т.д.

[0072] Способы детектирования дублирования и переупорядочивания, приведенные в настоящем описании, могут быть реализованы при помощи различных средств. Например, эти способы могут быть реализованы при помощи аппаратных средств, программных средств или их комбинацией. Для реализации при помощи аппаратных средств блоки обработки, выполняющие детектирование дублирования и/или переупорядочивание, могут быть реализованы в пределах одной или нескольких специализированных интегральных схем (ASIC), цифровых сигнальных процессоров (DSP), цифровых сигнальных обрабатывающих устройств (DSPD), программируемых логических устройств (PLD), программируемых вентильных матриц (FPGA), процессоров, контроллеров, микроконтроллеров, микропроцессоров, другие электронных блоков, разработанных для выполнения приведенных в данном описании функций, или их комбинации.

[0073] Для реализации при помощи программных средств способы детектирования дублирования и переупорядочивания могут быть реализованы при помощи модулей (например, процедур, функций и т.д.), которые выполняют раскрытые в настоящем описании функции. Коды программных средств могут храниться в блоке памяти (например, блоке 1132 или 1172 памяти на Фиг.11) и выполняться процессором (например, контроллером 1130 или 1170). Блок памяти может быть реализован в пределах процессора или вне процессора.

[0074] Вышеприведенное описание раскрытых вариантов осуществления предоставлено с целью обеспечения возможности любому специалисту в данной области техники выполнить или использовать настоящее изобретение. Различные модификации данных вариантов осуществления являются очевидными специалистам в данной области техники, и общие принципы, определенные в настоящем описании, могут быть применены к другим вариантам осуществления без отступления от сущности или объема настоящего изобретения. Таким образом, настоящее изобретение не ограничивается вариантами осуществления, раскрытыми в настоящем описании, но должно соответствовать самому широкому объему, совместимому с принципами и новыми признаками, раскрытыми в настоящем описании.

Похожие патенты RU2378768C2

название год авторы номер документа
СПОСОБ И АППАРАТУРА ДЛЯ ПОВЫШЕНИЯ НАДЕЖНОСТИ ПЕРЕДАЧИ ДАННЫХ В БЕСПРОВОДНЫХ СИСТЕМАХ СВЯЗИ 2009
  • Джаин Авинаш
  • Ландби Стейн А.
RU2502199C2
ОБЪЕДИНЕНИЕ ПОДТВЕРЖДЕНИЯ ПРИЕМА И УПРАВЛЕНИЯ СКОРОСТЬЮ ПЕРЕДАЧИ 2004
  • Тидманн Эдвард Дж. Мл.
  • Гаал Питер
  • Маллади Дурга П.
  • Пуиг Осес Давид
  • Саркар Сандип
  • Вэй Юнбинь
  • Ландби Стейн А.
  • Чэнь Тао
  • Джаин Авинаш
  • Дамнянович Александар
  • Вилленеггер Серж Д.
RU2354079C2
РАСШИРЕННЫЙ КАНАЛ ПОДТВЕРЖДЕНИЯ И УПРАВЛЕНИЯ СКОРОСТЬЮ 2009
  • Вей Юнбинь
  • Тидманн Эдвард Дж. Мл.
  • Гаал Питер
  • Маллади Дурга П.
  • Пуиг Осес Давид
  • Саркар Сандип
  • Ландби Стейн А.
  • Чэнь Тао
  • Джаин Авинаш
  • Дамнянович Александар
  • Вилленеггер Серж Д.
RU2494572C2
СПОСОБ И УСТРОЙСТВО ДЛЯ СОКРАЩЕНИЯ СЛУЖЕБНЫХ СИГНАЛОВ В УСОВЕРШЕНСТВОВАННОЙ ВОСХОДЯЩЕЙ ЛИНИИ СВЯЗИ В СИСТЕМЕ БЕСПРОВОДНОЙ СВЯЗИ 2005
  • Дамнянович Елена
  • Маллади Дурга П.
RU2353063C2
РАСШИРЕННЫЙ КАНАЛ ПОДТВЕРЖДЕНИЯ И УПРАВЛЕНИЯ СКОРОСТЬЮ 2004
  • Вэй Юнбинь
  • Тидманн Эдвард Дж. Мл.
  • Гаал Питер
  • Маллади Дурга П.
  • Пуиг Осес Давид
  • Саркар Сандип
  • Ландби Стейн А.
  • Чэнь Тао
  • Джаин Авинаш
  • Дамнянович Александар
  • Вилленеггер Серж Д.
RU2376728C2
ОБЪЕДИНЕННОЕ СООБЩЕНИЕ HARQ 2008
  • Бориу Эдриан
  • Махешвари Шашикант
  • Саифуллах Юсуф
RU2456754C2
ПРОКАЛЫВАНИЕ КАНАЛОМ СИГНАЛИЗАЦИИ ДЛЯ СИСТЕМЫ БЕСПРОВОДНОЙ СВЯЗИ 2006
  • Горохов Алексей
  • Дун Минь
RU2419208C2
ПЕРЕДАЧА ДАННЫХ С ПОМОЩЬЮ ВСПОМОГАТЕЛЬНЫХ РЕСУРСОВ 2007
  • Горохов Алексей
RU2427961C2
ПЕРЕДАЧА ДАННЫХ С ИСПОЛЬЗОВАНИЕМ HARQ И УМЕНЬШЕНИЯ ПОМЕХ 2008
  • Горохов Алексей
  • Хорн Гэйвин Бернард
  • Борран Мохаммад Дж.
RU2444141C2
ПРИЕМ ПЕРЕДАЧ H-ARQ БЕЗ ПОМЕХ В КВАЗИОРТОГОНАЛЬНОЙ СИСТЕМЕ СВЯЗИ 2006
  • Наджиб Айман Фавзи
  • Горохов Алексей
  • Горе Дхананджай Ашок
  • Цзи Тинфан
  • Сутивонг Арак
RU2390969C2

Иллюстрации к изобретению RU 2 378 768 C2

Реферат патента 2010 года СПОСОБ И АППАРАТУРА ДЛЯ ПОВЫШЕНИЯ НАДЕЖНОСТИ ПЕРЕДАЧИ ДАННЫХ В БЕСПРОВОДНЫХ СИСТЕМАХ СВЯЗИ

Изобретение относится к системам беспроводной связи. Технический результат заключается в повышении надежности передачи данных. Описаны способы выполнения детектирования дублирования и переупорядочивания для HARQ передачи. Для детектирования дублирования приемник определяет, является ли декодированный пакет х для ARQ канала у дублированным пакетом, основываясь на пакете х и предшествующем декодированном пакете для ARQ канала у. Для переупорядочивания приемник определяет, ожидается ли еще на любом другом ARQ канале более ранний пакет на основе предшествующих декодированных пакетов для ARQ каналов, и перенаправляет пакет х только в случае, если не ожидаются более ранние пакеты. На другом ARQ канале z отсутствуют какие-либо ожидаемые более ранние пакеты, если (1) декодированный пакет был принят по ARQ каналу z в течение заданного времени или позже или (2) в пределах временного окна от текущего времени не был принят корректно декодированный пакет по ARQ каналу z. 7 н. и 23 з.п. ф-лы, 13 ил., 1 табл.

Формула изобретения RU 2 378 768 C2

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

2. Способ по п.1, в котором определение, является ли декодированный пакет дублированным пакетом, содержит определение непредусмотренного идентификатора для ARQ канала на основе идентификатора последнего подпакета, принятого для предшествующего декодированного пакета, причем непредусмотренный идентификатор представляет собой идентификатор для подпакета, прием которого не ожидается по ARQ каналу, сравнение идентификатора текущего подпакета с непредусмотренным идентификатором, и объявление декодированного пакета дублированным пакетом, если идентификатор текущего подпакета равен непредусмотренному идентификатору.

3. Способ по п.2, в котором определение непредусмотренного идентификатора содержит присвоение непредусмотренному идентификатору значение идентификатора последнего подпакета, принятого для предшествующего декодированного пакета, плюс один для каждого подпакета, принятого по ARQ каналу, начиная с последнего подпакета.

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

5. Устройство для приема передачи гибридного автоматического запроса на повторную передачу данных (HARQ) в системе беспроводной связи, содержащее: декодер для декодирования текущего подпакета, принятого по ARQ каналу, и предоставления декодированного пакета или уничтоженного пакета для ARQ канала, при этом упомянутый текущий подпакет содержит порядковый номер и идентификатор; и контроллер чтобы в случае, если для ARQ канала получен декодированный пакет, определить, является ли декодированный пакет дублированным пакетом на основе идентификатора текущего подпакета и идентификатора последнего подпакета, принятого для предшествующего декодированного пакета, полученного для ARQ канала.

6. Устройство по п.5, в котором контроллер определяет непредусмотренный идентификатор для ARQ канала на основе идентификатора последнего подпакета, принятого для предшествующего декодированного пакета, сравнивает идентификатор текущего подпакета с непредусмотренным идентификатором и объявляет декодированный пакет дублированным пакетом, если идентификатор текущего подпакета равен непредусмотренному идентификатору.

7. Устройство по п.6, в котором контроллер присваивает непредусмотренному идентификатору значение идентификатора текущего пакета плюс один, если декодированный пакет получен для ARQ канала, и увеличивает непредусмотренный идентификатор на один, если для ARQ канала получен уничтоженный пакет.

8. Устройство по п.5, в котором декодер декодирует пакеты, принятые по Нисходящему Каналу Пакетных Данных (R-PDCH) в cdma2000.

9. Устройство для приема передачи гибридного автоматического запроса на повторную передачу данных (HARQ) в системе беспроводной связи, содержащее: средство для декодирования текущего подпакета, принятого по ARQ каналу для получения декодированного пакета или уничтоженного пакета для ARQ канала, при этом упомянутый текущий подпакет содержит порядковый номер и идентификатор; и средство для случая, если для ARQ канала получен декодированный пакет, определить, является ли декодированный пакет дублированным пакетом на основе идентификатора текущего подпакета и идентификатора последнего подпакета, принятого для предшествующего декодированного пакета, полученного для ARQ канала.

10. Устройство по п.9, в котором средство определения, является ли декодированный пакет дублированным пакетом, содержит средство определения непредусмотренного идентификатора для ARQ канала на основе идентификатора последнего подпакета, принятого для предшествующего декодированного пакета, средство сравнения идентификатора текущего подпакета с непредусмотренным идентификатором, и средство объявления декодированного пакета дублированным пакетом, если идентификатор текущего подпакета равен непредусмотренному идентификатору.

11. Устройство по п.10, в котором средство определения непредусмотренного идентификатора для ARQ канала содержат средство присваивания непредусмотренному идентификатору значения идентификатора текущего пакета плюс один, если декодированный пакет получен для ARQ канала, и средство увеличения значения непредусмотренного идентификатора на единицу, если для ARQ канала получен уничтоженный пакет.

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

13. Машиночитаемый носитель по п.12, дополнительно хранящий инструкции, предназначенные для определения непредусмотренного идентификатора для ARQ канала на основе идентификатора последнего подпакета, принятого для предшествующего декодированного пакета, сравнения идентификатора текущего подпакета с непредусмотренным идентификатором, и объявления декодированного пакета дублированным пакетом, если идентификатор текущего подпакета равен непредусмотренному идентификатору.

14. Способ выполнения переупорядочивания для передачи гибридного автоматического запроса на повторную передачу данных (HARQ), содержащий: получение декодированного пакета для ARQ канала; определение, ожидается ли еще более ранний пакет на любом, по меньшей мере, одном из других ARQ каналов, на основе декодированных пакетов, по меньшей мере, для одного другого ARQ канала, причем каждый ожидаемый более ранний пакет является пакетом, который был передан перед декодированным пакетом и все еще может быть принят; и перенаправление декодированного пакета, если отсутствуют какие-либо ожидаемые более ранние пакеты.

15. Способ по п.14, дополнительно содержащий хранение декодированного пакета, если есть, по меньшей мере, один ожидаемый более ранний пакет.

16. Способ по п.14, в котором определяют, ожидается ли еще более ранний пакет на любом, по меньшей мере, одном из других ARQ каналов, содержащий для каждого, по меньшей мере, одного другого ARQ канала указание на отсутствие каких-либо ожидающих более ранних пакетов, если по другому ARQ каналу в заданное время или позже был принят декодированный пакет.

17. Способ по п.16, дополнительно содержащий определение заданного времени на основе времени начала для декодированного пакета и количества ARQ каналов, доступных для HARQ передачи.

18. Способ по п.14, в котором определяют, ожидается ли еще более ранний пакет на любом, по меньшей мере, одном другом ARQ канале, содержащий для каждого, по меньшей мере, одного другого ARQ канала указание на отсутствие каких-либо ожидаемых более ранних пакетов, если на другом ARQ канале в пределах временного окна не был принят декодированный пакет.

19. Способ по п.18, дополнительно содержащий определение временного окна на основе максимального количества подпакетов для каждого пакета и количества ARQ каналов, доступных для HARQ передачи.

20. Способ по п.14, в котором определяют, ожидается ли еще более ранний пакет на любом, по меньшей мере, одном другом ARQ канале, содержащий определение последнего времени декодирования для каждого, по меньшей мере, одного другого ARQ канала, определение самого раннего последнего времени декодирования, по меньшей мере, для одного другого ARQ канала, и определение, ожидается ли еще более ранний пакет на любом из, по меньшей мере, одном другом ARQ канале на основе самого раннего последнего времени декодирования.

21. Способ по п.20, в котором определение последнего времени декодирования для каждого, по меньшей мере, одного другого ARQ канала содержит установку последнего времени декодирования для каждого, по меньшей мере, одного другого ARQ канала таким образом, чтобы оно находилось в пределах временного окна от времени, в которое происходит прием по другому ARQ каналу.

22. Способ по п.16, дополнительно содержащий прием HARQ передачи через множество ARQ каналов, которые включают в себя ARQ канал и, по меньшей мере, один другой ARQ канал, причем множество ARQ каналов производит передачу в заданном порядке по времени.

23. Устройство для приема передачи гибридного автоматического запроса на повторную передачу данных (HARQ) в системе беспроводной связи, содержащее декодер для предоставления декодированного пакета для ARQ канала и контроллер для определения, ожидается ли еще более ранний пакет на любом, по меньшей мере, одном другом ARQ канале на основе декодированных пакетов, по меньшей мере, для одного другого ARQ канала, и перенаправления декодированного пакета, если отсутствуют какие-либо ожидаемые более ранние пакеты для декодированного пакета, причем каждый ожидаемый более ранний пакет представляет собой пакет, который был передан перед декодированным пакетом и все еще может быть принят.

24. Устройство по п.23, в котором для каждого, по меньшей мере, одного другого ARQ канала контроллер указывает, что более ранние пакеты не ожидаются, если на другом ARQ канале в заданное время или позже был принят декодированный пакет, причем заданное время определяют на основе времени начала для декодированного пакета и количестве ARQ каналов, доступных для HARQ передачи.

25. Устройство по п.23, в котором для каждого, по меньшей мере, одного другого ARQ канала контроллер не указывает, что ожидаются более ранние пакеты, если на другом ARQ канале не был принят декодированный пакет в пределах временного окна, определенного на основе максимального количества подпакетов для каждого пакета и количества ARQ каналов, доступных для HARQ передачи.

26. Устройство по п.23, дополнительно содержащее буфер для хранения декодированного пакета, если есть, по меньшей мере, один ожидаемый более ранний пакет.

27. Устройство по п.23, в котором декодер декодирует пакеты, принятые по Нисходящему Каналу Пакетных Данных (R-PDCH) в cdma2000.

28. Устройство для приема передачи гибридного автоматического запроса на повторную передачу данных (HARQ) в системе беспроводной связи, содержащее средство получения декодированного пакета для ARQ канала, средство определения, ожидается ли еще более ранний пакет на любом, по меньшей мере, одном другом ARQ канале на основе декодированных пакетов, по меньшей мере, для одного другого ARQ канала, причем каждый ожидаемый более ранний пакет является пакетом, который был передан перед декодированным пакетом и все еще может быть принят; и средство перенаправления декодированного пакета, если не ожидаются какие-либо более ранние пакеты.

29. Устройство по п.28, в котором средство определения, ожидается ли еще более ранний пакет на любом, по меньшей мере, одном другом ARQ канале содержащее средство указания, что не ожидаются какие-либо более ранние пакеты для каждого, по меньшей мере, одного другого ARQ канала, если на другом ARQ канале в заданное время или позже был принят декодированный пакет, причем заданное время определяют на основе времени начала для декодированного пакета и количества ARQ каналов, доступных для HARQ передачи.

30. Устройство по п.28, в котором средство определения, ожидается ли еще более ранний пакет на любом, по меньшей мере, одном другом ARQ канале, содержащее средство указания, что не ожидаются какие-либо более ранние пакеты для каждого, по меньшей мере, одного другого ARQ канала, если на другом ARQ канале не был принят декодированный пакет в пределах временного окна, определенного на основе максимального количества подпакетов для каждого пакета и количества ARQ каналов, доступных для HARQ передачи.

Документы, цитированные в отчете о поиске Патент 2010 года RU2378768C2

US 2003067907 A1, 10.04.2003
WO 9631952 A1, 10.10.1996
УСТРОЙСТВО И СПОСОБ ГИБРИДНОГО ЗАПРОСА АВТОМАТИЧЕСКОГО ПОВТОРЕНИЯ ДЛЯ СИСТЕМЫ МОБИЛЬНОЙ СВЯЗИ 2001
  • Ким Мин-Гоо
RU2235437C2
WO 03096600 A1, 20.11.2003
US 6021124 A, 01.02.2000.

RU 2 378 768 C2

Авторы

Джаин Авинаш

Ландби Стейн А.

Даты

2010-01-10Публикация

2006-03-21Подача