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

Иллюстрации

Показать все

Изобретение относится к системе связи и может быть использовано для присвоения вариантов избыточности кольцевому буферу в пределах системы связи. Техническим результатом является улучшение эффективности кольцевого буфера. Устройство содержит кодер, выводящий систематические биты, первый блок битов четности и второй блок битов четности, каждый длиной Kпотока; схему согласования скорости, принимающую систематические биты, первый блок битов четности и второй блок битов четности и по отдельности перемежающую систематические биты, первый блок битов четности и второй блок битов четности; логическую схему, определяющую варианты избыточности (RVs), соответствующие битовому положению в пределах потока данных, для начала вывода данных, и при этом RVs начинаются в положениях [Kпотока/32] (C×i+σ), i=0, 1, …, Y-1, где С указывает число столбцов между двумя соседними RVs, Y является числом определенных RVs, σ указывает индекс столбца начального положения первого RV (RV0), и при этом поток содержит перемеженные систематические биты, и перемеженные и чересстрочно чередованные первый и второй блок битов четности, и фиктивные биты; и схему передачи, принимающую не фиктивные биты, начиная с конкретного RV, и передающую упомянутые не фиктивные биты. 13 ил.

Реферат

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

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

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

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

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

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

Другой способ, чтобы выполнить согласование скорости заключается в том, чтобы определить правило, которое проходит через биты кодового слова один за другим и определяет, следует ли биту кодового слова быть выколотым (удаленным) или повторенным. Такой способ имеет преимущество гибкости и определен в 3GPP Rel-99. Однако такой способ страдает от неэффективности осуществления. Кроме того, не существует способа гарантировать, что передачи, связанные с данным информационным блоком не накладываются (т.е. ортогональные) для IR HARQ. Таким образом, может пострадать быстродействие системы.

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

Чтобы реализовывать другие варианты кодового слова в действии HARQ, параметр, такой как вариант избыточности (RV), может быть использован как ввод в кольцевой буфер на основе алгоритма согласования скорости. Варианты избыточности могут определять начальные положения в пределах кольцевого буфера для выбора секции кодового слова для передачи.

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

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

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

Фиг. 2 изображает перемежение подблоков и чересстрочное чередование.

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

Фиг. 4 и Фиг.5 изображает перемежение подблоков и чересстрочное чередование.

Фиг. 6 изображает кольцевой буфер с удаленными фиктивными битами, который можно представить в матричном формате.

Фиг. 7 изображает кольцевой буфер вариантов избыточности, который имеет фиктивные биты.

Фиг. 8 изображает использование виртуального кольцевого буфера.

Фиг. 9 изображает согласование скорости первой стадии с кольцевой буферизацией.

Фиг. 10 изображает пунктирование систематического бита.

Фиг. 11 изображает пропуск малого участка систематических битов в пределах кольцевого буфера.

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

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

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

Для того чтобы разрешить вышеупомянутую необходимость, здесь обеспечен способ и устройство для присвоения вариантов избыточности кольцевому буферу в пределах системы связи. Во время действия создают кольцевой буфер, где определяют только варианты избыточности, чтобы начинались с вершин (т.е. на первом ряду) устройств перемежения составных подблоков. Например, при сумме из восьми вариантов избыточности, варианты избыточности будут расположены в положениях Kпотока/32(12×i+σ), i=0,1,...,7, где σ указывает индекс столбца устройства перемежения подблоков положения первого RV (RV0).

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

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

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

В заключение, настоящее изобретение содержит устройство, содержащее кодер, выводящий систематические биты, первый блок битов четности и второй блок битов четности, каждый длиной Kпотока. Устройство дополнительно содержит схему согласования скорости для приема систематических битов, первого блока битов четности и второго блока битов четности, и перемежения систематических битов, первого блока битов четности и второго блока битов четности. Логическая схема обеспечена для определения вариантов избыточности (RVs), соответствующих положениям в пределах потока данных с которых начинают вывод данных. Когда используют восемь RVs, RVs находятся в положениях Kпотока/32(12×i+σ), i=0,1,...,7, где σ указывает индекс столбца устройства перемежения подблоков начального положения первого RV (RV0). Поток содержит перемеженные систематические биты, и перемеженный и чересстрочно чередованный первый и второй блок битов четности. В заключение, схема передачи обеспечена для приема нефиктивных битов, начиная с конкретного RV, и передачи нефиктивных битов.

Переходя теперь к чертежам, в которых одинаковые цифры обозначают одинаковые компоненты, фиг. 1 и фиг. 2 изображают функциональное назначение кольцевого буфера на основе способа согласования скорости. Более конкретно, фиг. 1 является блок-схемой передатчика и фиг. 2 изображает перемежение подблоков и чересстрочное чередование. Во время действия передатчика 100, кодер 101 выводит систематический битовый поток и, по меньшей мере, два потока четности. Для этого конкретного примера, кодер 101 содержит турбокодер скорости 1/3, принятый в 3GPP стандартизации. Отмечено, что следующие принципы могут быть применены к другим типам кодов коррекции ошибок, таким как турбокоды с другими кодовыми скоростями, коды с малой плотностью проверок на четность (LDPC), сверточные коды и так далее.

Кодер 101 выводит три потока, соответствующих систематическому битовому потоку и двум потокам четности. В некоторых случаях систематический поток может содержать несколько (например, 4) бита, которые не являются систематическими, например, вследствие хвостовых битов, как для 3GPP турбокода. (Хвостовые биты отсутствуют, когда используют кольцевое кодирование.) Потоки могут также содержать биты наполнителя, вставленные до турбокодирования. Для простоты, все биты в систематическом потоке относят, как систематические биты, и все биты в соответственных потоках четности относят, как биты четности 0 и биты четности 1, соответственно.

Схема 102 согласования скорости принимает вывод потоков из кодера 101 и выполняет перемежение подблоков на каждом потоке по отдельности. Это изображено на фиг. 2, где S′, P0′ и P1′ являются систематическим битовым потоком, потоком битов четности 0 и потоком битов четности 1, соответственно. Каждый поток перестраивают (перемежают) со своим собственным устройством перемежения подблоков (не показано на фиг. 1 или 2), чтобы производить S, P0 и P1. Затем P0 и P1 чересстрочно чередуют друг с другом, чтобы производить участок 201 чересстрочно чередованных P0 и P1. Единственный выходной буфер 105 (также названный кольцевым буфером) образуют сохранением перестроенных систематических битов S в начале последующего участка 201 чересстрочно чередованных P0 и P1.

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

Фиг. 3 является блок-схемой передатчика 300. Передатчик 300 содержит кодер 301 и схему 303 согласования скорости. Схема 303 согласования скорости дополнительно содержит логическую схему 305 и запоминающее устройство 307. Логическая схема 305 является предпочтительно микропроцессором, микроконтроллером, цифровыми сигнальными процессорами (DSPs) или подобными другими устройствами, известными обычным специалистам в данной области техники. Конкретные действия/функции логической схемы 305, таким образом, передатчика 300 установлены выполнением программных команд и операций. Запоминающее устройство 307 содержит оперативное запоминающее устройство (RAM), динамическое оперативное запоминающее устройство (DRAM) и/или постоянное запоминающее устройство (ROM) или равнозначные им, которые используют как кольцевой буфер. Кодер 301 является предпочтительно 3GPP турбокодер скорости 1/3, однако, технологии, описанные здесь, для действующего передатчика 300 могут быть применены к другим кодерам, включая, но не ограничиваясь турбокодерами, выполняющими турбокодирование с другими кодовыми скоростями, с хвостовыми битами или не хвостовыми битами, кольцевые, бинарные или дуобинарные турбокодеры, с или без вставки битов наполнителя,..., и так далее.

Во время действия кодер 301 выводит три потока, соответствующих систематическому битовому потоку и двум потокам четности. Логическая схема 305 принимает вывод потоков из кодера 301 и выполняет перемежение подблоков на каждом потоке по отдельности. Затем логическая схема 305 чересстрочно чередует P0′ и P1′. Единственный выходной буфер 307 (кольцевой буфер) образуют сохранением перестроенных систематических битов S в начале последующих чересстрочно чередованных P0 и P1.

Несмотря на то что устройство перемежения подблоков может быть любым устройством перестановок, обычно для простоты используют устройство прямоугольного перемежения (также названное устройством перемежения блоков) N r рядов и N с столбцов. Действия являются простыми если размер потока Kпотока каждого потока равен размеру N r×N с устройства прямоугольного перемежения (т. е. блок полный). Однако, часто размер потока меньше, чем N r×N с, поэтому необходимо (N r×N с - Kпотока) фиктивных битов, чтобы наполнить блок.

Этот процесс образования кольцевого буфера изображен на Фиг. 4 и Фиг.5 с 4 фиктивными битами, вставленными в каждый поток. Со ссылкой на фиг. 4, систематические биты 401, имеющие добавленные фиктивные биты 407, блоками перемежают, чтобы производить переставленные систематические биты S 402. Подобным образом биты четности P0′ и P1′ 403 (имеющие добавленные фиктивные биты) перемежают, чтобы производить биты четности P0 и P1 404. Фиктивные биты добавляют к потокам, так чтобы устройство перемежения блоков было наполненным для каждого потока. P0 и P1 чересстрочно чередуют, чтобы производить чересстрочно чередованный участок, участок 405 чересстрочно чередованных P0 и P1. Две матрицы S и P0-1 объединяют, как показано на фиг. 5 и сохраняют в буфере 307. Буфер 307 считывают по столбцам, начиная с вершины матрицы. Несмотря на то, что выше в описании фиктивные биты вставляют после потока, в некоторых вариантах осуществления они могут также быть вставлены до потока.

Во время действия передатчика 300, число кодированных битов N требуемых, которые будут выбраны для передачи, вычисляют и передают в логическую схему 305. Логическая схема 305 свободно считывает блок длиной N требуемых последовательных битов из выходного буфера 307 (циклически возвращается к началу, если превышен последний бит кольцевого буфера) от некоторой начальной точки. Для действия гибридного автоматического запроса повторной передачи (HARQ), параметр (вариант избыточности (RV)) обеспечивают в логическую схему 305, чтобы определять начальную точку в пределах буфера 307, так что другие секции буфера могут быть выбраны для передачи. Так как FEC является равнозначной HARQ только с одной передачей, FEC может также быть определено значением RV. Таким образом, логическая схема 305 принимает значение RV и число кодированных битов N требуемых, которые будут выбраны для передачи. Биты N требуемые считывают из буфера 307, начиная с участка, определенного RV. Эти биты являются типично выводом в передатчик 311 для последующей модуляции и передачи.

Следует отметить, что для информационных целей конкретный формат для S и чересстрочно чередованных P0 и P1 дан выше, и может быть задан несколькими способами. Например, даже если кольцевой буфер представлен, используя одномерный массив, часто для математических целей полезно использовать двухмерный матричный формат.

Если фиктивные биты оставляют в кольцевом буфере, его называют кольцевым буфером, заполненным фиктивными битами. Размер кольцевого буфера, заполненного фиктивными битами, равен суммированию размеров входного потока и общего числа вставленных фиктивных битов. Как будет ясно из контекста, кольцевой буфер, заполненный фиктивными битами, может быть в матричном формате, как изображено на фиг. 5, или в формате последовательности (т. е. одномерный массив или поток данных), как изображено на фиг. 2. Если фиктивные биты удалены, это называют кольцевым буфером с удаленными фиктивными битами. Размер кольцевого буфера с удаленными фиктивными битами равен суммированию размеров входного потока. Подобным образом, кольцевой буфер с удаленными фиктивными битами может быть представлен в матричном формате, как на фиг. 6, где существуют разрывы, откуда удалены фиктивные биты, или в формате последовательности. RVs предшествующего уровня техники приблизительно равномерно распределены по кольцевому буферу с удаленными фиктивными битами, что делает это трудным, чтобы осуществлять каждую передачу HARQ, так как точное начальное положение RV в выходном потоке кодера необходимо вычислять, используя нетривиальные действия для каждого случая. Для того чтобы решить этот вопрос, может быть использован кольцевой буфер 307, заполненный фиктивными битами, чтобы определять начальное положение для варианта избыточности.

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

Kинфо относится к размеру информационного блока (или длине пакета сообщения).

KFEC относится к размеру входного блока, поддержанного FEC кодером (KFEC равен размеру устройства перемежения для бинарного турбокода, и равен двойному размеру устройства перемежения для дуобинарного турбокода).

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

Kпотока называется длина потока, которая равна немного больше, чем KFEC, в зависимости от способа обрыва решетки, использованного в турбокоде. Для 3GPP турбокода, существует три потока, каждый длиной Kпотока=KFEC+4, состоящий из систематических битов, битов четности из первого и второго кодеров, соответственно, и 12 хвостовых битов равномерно распределены на три потока.

Nr относится к числу рядов в устройстве перемежения подблоков, используемом в кольцевом буфере.

Nс относится к числу столбцов в устройстве перемежения подблоков, используемом в кольцевом буфере.

Krect=Nr×Nс является размерностью устройства перемежения подблоков, используемого в кольцевом буфере. Обычно Krect выбрана больше чем, или равная Kпотока, хотя может также быть выбрана больше чем или равная KFEC, если биты наполнителя отбрасывают как часть алгоритма согласования скорости.

Определение RV

Для пояснения, рассмотрим случай, когда устройство перемежения подблоков имеет 30 столбцов и 8 RVs должны быть определены. В этом случае, буфер на фиг. 7 может иметь 90 столбцов, которые не могут быть равномерно разделены на восемь RVs. Трудно выяснить начальную точку каждого RV в выходном потоке кодера (за исключением RV0, если RV0 всегда начинается от начала кольцевого буфера). Предположим, что необходимо 8 равномерно распределенных RVs, тогда начальной точкой RVi является K потока×3/8×i (когда необходимо, доведена до целого значения посредством действий, таких как округление, округление в меньшую сторону или округление в большую сторону), если нет включения фиктивных битов (т. е. кольцевой буфер с удаленными фиктивными битами), i=0,1,...7. С другой стороны, если учитываются фиктивные биты (т. е. кольцевой буфер, заполненный фиктивными битами), тогда начальной точкой RVi является N r×N с×3/8×i=N r×90/8×i (когда необходимо, доведена до целого значения посредством действий, таких как округление, округление в меньшую сторону или округление в большую сторону). В любом случае, начальные точки 7 RVs почти всегда размещены в середине прямоугольника N r×90, если требуются равномерно распределенные начальные положения RVs. (Решением является, чтобы все начальные точки 7 RVs были в верхнем ряду прямоугольника N r×30, что ведет к немного неравномерному распределению RVs в буфере.) Обратите внимание на следующее, если 30-и столбцовые устройства перемежения подблоков применены в стандарте 3GPP долгосрочного развития сетей связи (LTE).

Если сохраняют начальные точки RVs, тогда должно быть сохранено общее число 188×7 начальных точек, определяя стоимость запоминающего устройства. Обратите внимание, что существует 188 QPP размеров устройства перемежения и 7 RVs, которые должны быть сохранены для каждого размера.

Если начальные точки RVs вычисляют в движении, тогда в аппаратном обеспечении должны быть запрограммированы трудные действия, чтобы выяснить указатели ряда и столбца точки в пределах прямоугольника систематических битов или прямоугольника из прямоугольника четности 0/четности 1. Например, если RV начинается с L-того указателя в пределах систематического потока, тогда существуют два действия:

- Разделение, чтобы выяснить индекс столбца = округление в меньшую сторону(L /_N r), предполагая, что индекс столбца начинается с 0. Так как N r изменяется с K потока, если N с установлено 30 и N r вероятнее всего не в степени 2, разделение не является тривиальным в аппаратном обеспечении.

- Взятие модуля, чтобы выяснить индекс ряда = по модулю(L,N с)= по модулю(L,30). Так как 30 не в степени 2, действие по модулю также не является тривиальным в аппаратном обеспечении.

Использование N с=30 в значительной степени способствует трудностям размещения RVs. Вместо этого, предпочтительно иметь общее число столбцов в буфере 307, которые будут кратны общему числу RVs, поддержанному, чтобы иметь равномерно распределенные RVs (хотя RVs по-прежнему могут быть определены неравномерно). Например, устройство перемежения подблоков может использовать 32 столбца, когда будут определены 8 RVs. Часто 2с RVs должны быть определены, где c является целым. Таким образом, пригодно для использования N с=2d, где d является целым, больше чем или равное c. Чтобы дополнительно уменьшить сложность и минимизировать количество фиктивных битов, предпочтительно использовать те же значения d для всех размеров информационных блоков системы. Например, постоянная d=5 (таким образом, N с=32 столбца) может быть использована для всех размеров информационных блоков 3GPP LTE.

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

Если используют устройство перемежения подблоков с N с=32 при конфигурации межстолбцовой перестановки = {0, 16, 8, 24, 4, 20, 12, 28, 2, 18, 10, 26, 6, 22, 14, 30, 1, 17, 9, 25, 5, 21, 13, 29, 3, 19, 11, 27, 7, 23, 15, 31}, тогда то же число столбцов используют для всего K потока с числом рядов, изменяющимся с K потока, N r=K потока/N с=K потока/32. Так как RVs обычно требуются, чтобы разделять буфер 307 на приблизительно равномерные секции, требуется дополнительная вычислительная нагрузка, чтобы моделировать неравномерность в определении RV для каждого размера потока, если используют кольцевой буфер с удаленными фиктивными битами.

Для дополнительной ясности рассмотрим случай, когда число RVs=8, числом столбцов в устройстве перемежения подблоков является N с=32, и размером входного потока является K потока, и используют перестановку длиной 32 столбца в перемежении подблоков S, P0 и P1.

Фиг. 6 показывает кольцевой буфер с удаленными фиктивными битами (т. е. после отбрасывания фиктивных битов) с определенными 8 RVs. Обратите внимание, что существуют разрывы, откуда отброшены фиктивные биты; кольцевой буфер с удаленными фиктивными битами в формате последовательности (может быть использован в буфере 307) получают считыванием по столбцам элементов матрицы от левого верхнего угла вперед. Отсутствие закономерности в распределении RVs в прямоугольнике служит причиной трудности в действии HARQ, где любое значение RV может быть введено в блок RM. Индексы ряда и столбца для начальной точки RV должны быть рассчитаны на основании размера потока (и числа фиктивных битов), таким образом, приводя к усложненному аппаратному обеспечению.

Другой способ облегчить действие HARQ с кольцевым буфером описан далее. В этом случае, фиктивные биты отбрасывают, после того как определяют RVs, как показано на фиг. 7. Фактически, фиктивные биты оставляют в кольцевом буфере (кольцевой буфер, заполненный фиктивными битами), и так как размер кольцевого буфера, заполненного фиктивными битами кратный 8, возможно определить восемь RVs, которые расположены на равном расстоянии для любого размера потока K потока. В частности, восемь RVs могут быть определены, чтобы начинались с вершины столбца устройства перемежения подблоков. Это пригодно, в общем, чтобы присвоить RVs в любом положении в первом ряду (т.е. с вершины столбца) устройства перемежения подблоков. Например, восемь RVs могут начинаться с вершины следующих восьми столбцов 2, 14, 26, 38, 50, 62, 74, 86 на фиг. 7 (при N с=32). Когда рассматривается исходя из положения в кольцевом буфере, заполненном фиктивными битами, формата последовательности, варианты избыточности начинаются с положений Kпотока/32(12×i+σ), i=0,1,...,7, где σ указывает указатель столбца начального положения первого RV (RV0).

Обратите внимание, что это определение RV без запоминания для кольцевого буфера, заполненного фиктивными битами, в том смысле, что легко начать вывод требуемых битов кода от любого RV, не зная начального положения предыдущих RVs. Фиктивные биты отбрасывают, когда биты считывают из кольцевого буфера, заполненного фиктивными битами. Даже если общее число столбцов не кратно общему числу RVs, поддержанных, например, N с=30 с 8 RVs, RVs по-прежнему могут быть определены, чтобы начинались с вершины любых 8 из 90 столбцов.

Несмотря на то что вершина столбца использована в обсуждении выше как простой способ, чтобы определить начальные положения RVs, другие пригодные положения могут быть использованы также. Например, все начальные положения RVs размещены в конкретном ряду r кольцевого буфера, заполненного фиктивными битами, где 0≤r<N r.

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

• Перестановка каждого потока (или устройство перемежения подблоков) описана как Krect=N r×N с прямоугольный массив с фиктивными битами.

○ Когда Kпотока=N r×N с, биты каждого потока вписывают в прямоугольник по рядам и считывают по столбцам (после столбцовой перестановки).

○ Когда Kпотока<N r×N с, биты каждого потока вписывают в прямоугольник по рядам и считывают по столбцам, и заполняют (N r×N с-Kпотока) фиктивными битами, чтобы наполнить прямоугольник. Фиктивные биты удаляют или «обрезают» до передачи по каналу.

• Следует отметить, что когда прямоугольник полный (используются фиктивные биты или нет), перестановка каждого потока имеет выражение в закрытом виде, которое означает, что легко установить обратную перестановку. Если легко установить обратную перестановку, следовательно, также легко установить положение в выходном потоке кодера, соответствующее конкретному RV. Если прямоугольник частично наполнен (нет фиктивных битов и Kпотока<N r×N с), перестановка каждого потока не имеет выражения в закрытом виде. В этом случае, трудно установить обратную перестановку и, следовательно, также трудно установить положение в выходном потоке кодера, соответствующее конкретному RV.

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

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

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

Виртуальный кольцевой буфер может быть задействован как кольцевой буфер, заполненный фиктивными битами, так и кольцевой буфер с удаленными фиктивными битами. Однако если используют кольцевой буфер с удаленными фиктивными битами, тогда RVs могут начинаться где-нибудь в кольцевом буфере (в матричном формате), как изображено на фиг. 6. Исходя из этого, в таком плане действий, начальные точки RVs возможно должны быть явно сохранены, определяя стоимость запоминающего устройства. С другой стороны, начальные точки RVs могут быть получены для каждого случая, но инициализация адресов в действии виртуального кольцевого буфера становится усложненной, чтобы осуществляться в аппаратном обеспечении.

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

Определение RV с согласованием скорости 1-й стадии

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

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

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

Если согласование скорости выполняют на основе кодовое слово за кодовым словом (т.е. сегмент за сегментом), предпочтительно, что согласование скорости 1-й стадии, если включено, будет также выполнено на основе кодовое слово за кодовым словом (сегмент за сегментом). Размер кольцевого буфера для каждого кодового слова (или сегмента) ограничен до Ncw, где Ncw<3×Kпотока, и 3×Kпотока=3×Kинфо+12 полный размер кольцевого буфера (на сегмент) до согласования скорости 1-й стадии. Обратите внимание, что когда Ncw≥3×Kпотока, RM первой стадии (на сегмент) прозрачное. Суммирование размера Ncw для всех кодовых слов (из всех транспортных блоков) не может превышать NIR, которое является размером программного буфера всех TBs. Вместо взятых NIR, как ввод в алгоритм RM 1-й стадии, RM 1-й стадии RM на кодовое слово в LTE может взять Ncw, как ввод.

Возможные варианты для согласования скорости 1-й стадии могут включать в себя:

1. Ограничение размера буфера до максимального значения набора для класса UE (по всем TBs, всем кодовым словам данных TTI. Класс оборудования пользователя (UE) определяет набор возможностей передатчика/приемника в 3GPP и 3GPP LTE.). Определить предел на TB и на кодовое слово от NIR посредством масштабирования. Например, Ncw= округление в меньшую сторону(NIR/C), где C является числом турбокодовых слов для каскадных TBs, установленным правилом деления на сегменты блоков кода. Возможно установить предел на кодовое слово способом, подобным правилу деления на сегменты блоков кода.

2. Ограничение буфера до максимального значения N′IR набора для класса UE (установите предел на TB). Определить предел на кодовое слово от этого максимального значения посредством масштабирования.

3. Ограничение буфера до максимального значения набора на кодовое слово для класса UE.

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

Для определений RV, варианты включают в себя:

Схема 1. Позволяет только подмножество возможных RVs. Если Y RVs определяют без согласования скорости 1-й стадии (т.е. согласование скорости 1-ой стадии прозрачное), тогда Y′ RVs из Y доступных RVs может быть оставлено, когда согласование скорости 1-ой стадии не прозрачное, Y′<=Y. Например, RV-i, i=0,1,...,Y′-1, используют, где начальная точка RV - Y′ меньше, чем Ncw.

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