СКРЕМБЛИРОВАНИЕ НА УРОВНЕ КОДОВОГО СЛОВА ДЛЯ MIMO-ПЕРЕДАЧИ
CODEWORD LEVEL SCRAMBLING FOR MIMO TRANSMISSION

Настоящая заявка притязает на приоритет предварительной заявки США № 60/864582 "Способ и устройство для скремблирования на уровне кодового слова для MIMO-режима", поданной 6 ноября 2006 г., права на которую переданы настоящему заявителю и которая включена в настоящий документ посредством ссылки.
Область техники, к которой относится изобретение
Настоящее изобретение относится к связи и, в частности, к способам для передачи данных в системе беспроводной связи.
Уровень техники
Системы беспроводной связи повсеместно внедряются для предоставления различных услуг связи, таких как голосовая связь, передача видеоданных, передача пакетных данных, широковещательная рассылка, передача сообщений и т.п. Эти системы беспроводной связи могут представлять собой системы множественного доступа, которые способны поддерживать связь для множества пользователей путем совместного использования доступных системных ресурсов. Примеры таких систем множественного доступа включают в себя системы Множественного Доступа с Кодовым Разделением (Code Division Multiple Access, CDMA), системы Множественного Доступа с Временным Разделением (Time Division Multiple Access, TDMA), системы Множественного Доступа с Частотным Разделением (Frequency Division Multiple Access, FDMA), системы Множественного Доступа с Ортогональным Частотным Разделением (Orthogonal FDMA, OFDMA) и системы FDMA с Одной Несущей (Single-Carrier FDMA, SC-FDMA).
Система беспроводной связи может поддерживать передачу с Множеством Входов и Множеством Выходов (Multiple-Input Multiple-Output, MIMO). Для MIMO-передачи передающая станция может одновременно передавать множество потоков данных через множество передающих антенн на множество приемных антенн в принимающей станции. Множество передающих антенн и приемных антенн образуют MIMO-канал, который может быть использован для увеличения пропускной способности и/или повышения надежности. Например, для увеличения пропускной способности S потоков данных могут одновременно передаваться с S передающих антенн.
Из-за рассеяния в беспроводном канале между передающей и принимающей станциями множество потоков данных, одновременно передаваемых передающей станцией, как правило, создают взаимные помехи в принимающей станции. Соответственно, желательно передавать множество потоков данных таким образом, чтобы облегчить их прием принимающей станцией.
Сущность изобретения
В настоящем документе описаны способы выполнения скремблирования на уровне кодового слова для MIMO-передачи в системе беспроводной связи. Кодирование на уровне кодового слова относится к скремблированию после канального кодирования в передающей станции, которая может представлять собой Узел B (Node B) или Пользовательское Оборудование (User Equipment, UE). В целом, одна или более передающих станций могут одновременно передавать множество потоков данных для MIMO-передачи в одну или более принимающих станций. После канального кодирования для заданного потока данных каждый поток данных может быть скремблирован передающей станцией посредством разного кода скремблирования. Это скремблирование может позволить принимающей станции для заданного потока данных изолировать этот поток данных путем выполнения дополняющего дескремблирования и получить рандомизированные помехи от остальных потоков данных. Эти характеристики могут быть полезны для сценария, где множество потоков данных могут быть пространственно разделены, в результате чего можно повысить производительность.
В одном варианте передающая станция (например, Node B или UE) может выполнять канальное кодирование для множества потоков данных, которые одновременно передаются для MIMO-передачи. Канальное кодирование может включать в себя кодирование (например, турбо-кодирование или сверточное кодирование) с Прямой Коррекцией Ошибок (Forward Error Correction, FEC) и/или согласование скорости (например, прокалывание или повторение). После канального кодирования передающая станция может выполнять скремблирование для множества потоков данных посредством множества кодов скремблирования. После канального кодирования передающая станция также может выполнять перемежение канала, сопоставление символов и пространственную обработку для множества потоков данных.
В одном варианте принимающая станция может принимать MIMO-передачу, содержащую множество потоков данных, и выполнять MIMO-детектирование, чтобы получить множество потоков детектированных символов. Принимающая станция также может выполнять обратное сопоставление символов и обратное перемежение канала для потоков детектированных символов. Принимающая станция также может выполнять дескремблирование для множества потоков данных посредством разных кодов скремблирования и, далее, выполнять декодирование (например, FEC-декодирование и/или обратное согласование скорости) для множества потоков данных.
Различные аспекты и отличительные признаки изобретения более подробно описаны ниже.
Краткое описание чертежей
Фиг.1 - иллюстрация системы беспроводной связи;
Фиг.2A - иллюстрация Однопользовательской (Single-User, SU) MIMO-передачи (SU-MIMO) для нисходящей линии связи;
Фиг.2B - иллюстрация Многопользовательской (Multi-User, MU) MIMO-передачи (MU-MIMO) для нисходящей линии связи;
Фиг.2C - иллюстрация MU-MIMO-передачи для восходящей линии связи;
Фиг.3 - структурная схема одного Node B и двух UE;
Фиг.4A - иллюстрация процессора данных передачи для множества потоков данных;
Фиг.4B - иллюстрация процессора данных передачи для одного потока данных;
Фиг.5A - иллюстрация процессора данных приема для множества потоков данных;
Фиг.5B - иллюстрация процессора данных приема для одного потока данных;
Фиг.6 - иллюстрация процесса для передачи множества потоков данных;
Фиг.7 - иллюстрация устройства для передачи множества потоков данных;
Фиг.8 - иллюстрация процесса для передачи одного потока данных;
Фиг.9 - иллюстрация устройства для передачи одного потока данных;
Фиг.10 - иллюстрация процесса для приема множества потоков данных;
Фиг.11 - иллюстрация устройства для приема множества потоков данных;
Фиг.12 - иллюстрация процесса для приема одного потока данных;
Фиг.13 - иллюстрация устройства для приема одного потока данных.
Подробное описание
Описанные в настоящем документе способы могут быть использованы для различных систем беспроводной связи, таких как CDMA, TDMA, FDMA, OFDMA, SC-FDMA и другие. Термины "система" и "сеть" используются в настоящем документе как взаимозаменяемые. Система CDMA может реализовывать такую радиотехнологию, как Универсальный Наземный Радиодоступ (Universal Terrestrial Radio Access, UTRA), cdma2000 и т.п. UTRA включает в себя стандарт Широкополосного CDMA (Wideband-CDMA, W-CDMA) и другие разновидности CDMA. cdma2000 охватывает стандарты IS-2000, IS-95 и IS-856. Система TDMA может реализовывать такую радиотехнологию, как Глобальная Система Мобильной Связи (Global System for Mobile Communications, GSM). Система OFDMA может реализовывать такую радиотехнологию, как Evolved UTRA (E-UTRA), Ultra Mobile Broadband (UMB), IEEE 802.16 (WiMAX), IEEE 802.20, Flash-OFDM и т.п. UTRA, E-UTRA и GSM являются частью стандарта Универсальной Системы Мобильной Связи (Universal Mobile Telecommunication System, UMTS). Долгосрочная Эволюция (Long Term Evolution, LTE) 3GPP является будущим релизом UMTS, в котором используется E-UTRA, где на нисходящей линии связи применяется OFDMA, а на восходящей линии связи применяется SC-FDMA. Стандарты UTRA, E-UTRA, GSM, UMTS и LTE описаны в документах "Проекта Партнерства 3-го поколения" (3rd Generation Partnership Project, 3GPP). Стандарты cdma2000 и UMB описаны в документах "Второго Проекта Партнерства 3-го поколения" (3rd Generation Partnership Project 2, 3GPP2). Настоящие способы также могут быть использованы для беспроводных локальных сетей, в которых реализована такая радиотехнология, как IEEE 802.11 (Wi-Fi), Hiperlan и т.п. Эти различные радиотехнологии и стандарты хорошо известны.
Фиг.1 представляет собой иллюстрацию системы 100 беспроводной связи с множеством Node B 110. Node B может представлять собой стационарную станцию, которая осуществляет связь с множеством UE. На Node B также могут ссылаться как на Усовершенствованный Узел В (Enhanced Node B, eNB), базовую станцию, точку доступа и т.п. Каждый Node B 110 обеспечивает покрытие связи для определенной географической зоны. Множество UE 120 могут быть рассеяны по всей системе. UE 110 может быть стационарным или мобильным, и на UE также могут ссылаться как на мобильную станцию, терминал, терминал доступа, абонентский блок, станцию и т.п. UE может представлять собой сотовый телефон, Персональный Цифровой Секретарь (Personal Digital Assistant, PDA), беспроводной модем, устройство беспроводной связи, карманное устройство, портативный компьютер, бесшнуровый телефон и т.п. UE может осуществлять связь с Node B путем передачи по нисходящей линии связи и восходящей линии связи. Термин "нисходящая линия связи" (или прямая линия связи) обозначает линию связи от Node B к UE, а термин "восходящая линия связи" (или обратная линия связи) обозначает линию связи от UE к Node B.
Система 100 может поддерживать MIMO-передачу по нисходящей линии связи и/или восходящей линии связи. По нисходящей линии связи Node B может выполнять MIMO-передачу либо одному UE для SU-MIMO, либо множеству UE для MU-MIMO. По восходящей линии связи Node B может принимать MIMO-передачу либо от одного UE для SU-MIMO, либо от множества UE для MU-MIMO. На схему MU-MIMO также ссылаются как на Множественный Доступ с Пространственным Разделением (Spatial Division Multiple Access, SDMA).
Фиг.2A представляет собой иллюстрацию MIMO-передачи по нисходящей линии связи для SU-MIMO. Node B 110 может выполнять MIMO-передачу, содержащую множество (S) потоков данных, одному UE 120 на основании некоторого набора ресурсов. UE 120 может принять MIMO-передачу посредством S или более антенн, и может выполнить MIMO-детектирование, чтобы восстановить каждый поток данных.
Для схемы SU-MIMO MIMO-передача по восходящей линии выполняется аналогичным образом. UE 120 может выполнять MIMO-передачу, содержащую множество потоков данных, одному Node B 110 на основании некоторого набора ресурсов. Node B 110 может выполнить MIMO-детектирование, чтобы восстановить потоки данных, передаваемые пользовательским оборудованием UE 120.
Фиг.2B представляет собой иллюстрацию MIMO-передачи по нисходящей линии связи для схемы SDMA. Node B 110 может выполнять MIMO-передачу, содержащую S потоков данных, в S различных UE 120a~120s на основании некоторого набора ресурсов. Node B 110 может выполнять предварительное кодирование или формирование луча, чтобы направлять каждый поток данных к принимающему UE. В этом случае, каждое UE может быть в состоянии принять свой поток данных посредством одной антенны, как показано на Фиг.2B. Node B 110 также может передавать S потоков данных с S антенн: по одному потоку данных с каждой антенны. В этом случае, каждое UE 120 может принять MIMO-передачу посредством множества антенн (на Фиг.2B не показано) и может выполнить MIMO-детектирование, чтобы восстановить свой поток данных при наличии помех от других потоков данных. В целом, Node B 110 может передавать один или более потоков данных каждому UE для SDMA, и каждое UE может восстанавливать свой поток (потоки) данных посредством достаточного количества антенн.
Фиг.2C представляет собой иллюстрацию MIMO-передачи по восходящей линии связи для схемы SDMA. S различных UE 120a~120s могут одновременно передавать S потоков данных в Node B 110 на основании некоторого набора ресурсов. Каждое UE 120 может передавать свой поток данных через одну антенну, как показано на Фиг.2C. Node B 110 может принять MIMO-передачу от S пользовательских оборудований UE 120a~120s посредством множества антенн, и может выполнить MIMO-детектирование, чтобы восстановить поток данных от каждого UE при наличии помех от других потоков данных. В целом, каждое UE 120 может передавать один или более потоков данных в Node B для SDMA, и Node B может восстанавливать потоки данных от всех UE посредством достаточного количества антенн.
В целом, одна или более передающих станций могут выполнять MIMO-передачу в одну или более принимающих станций. Для нисходящей линии связи одна передающая станция или Node B может выполнять MIMO-передачу в одну или более принимающих станций или UE. Для восходящей линии связи одна или более передающих станций или UE могут выполнять MIMO-передачу в одну принимающую станцию или Node B. Таким образом, передающая станция может представлять собой Node B или UE, и она может передавать один или более потоков данных для MIMO-передачи. Принимающая станция также может представлять собой Node B или UE, и она может принимать один или более потоков данных в MIMO-передаче.
В целом, поток данных может нести любой тип данных, причем он может кодироваться передающей станцией независимым образом. После этого поток данных может быть независимо декодирован принимающей станцией. На поток данных также могут ссылаться как на пространственный поток, поток символов, поток, слой и т.п. Кодирование, как правило, выполняется на блоке данных, чтобы получить кодированный блок данных. На блок данных также могут ссылаться как на блок кода, транспортный блок, пакет, Протокольный Блок Данных (Protocol Data Unit, PDU) и т.п. На кодированный блок также могут ссылаться как на кодовое слово, кодированный пакет и т.п. Множество блоков данных во множестве потоков данных могут быть кодированы, чтобы получить множество кодовых слов, которые впоследствии могут быть параллельно переданы в MIMO-передаче. Так, термины "поток", "поток данных", "кодовое слово" и "слой" могут быть использованы как взаимозаменяемые.
Количество потоков данных, которые могут быть одновременно переданы через MIMO-канал и успешно декодированы принимающей станцией (станциями), обычно обозначают термином "ранг" MIMO-канала. Ранг может зависеть от множества факторов, таких как количество передающих антенн, количество приемных антенн, состояния канала и т.п. Например, если тракты канала для различных пар передающая/приемная антенна коррелируются, то может быть обеспечена поддержка меньшего количества потоков данных (например, одного потока данных), поскольку в результате передачи большего количества потоков данных в каждом потоке данных наблюдаются чрезмерные помехи от другого потока (потоков) данных. Ранг может быть определен на основании состояний канала и других факторов, что известно в технике. Так, количество потоков данных, которые должны быть переданы, ограничивается рангом.
Фиг.3 представляет собой структурную схему одного Node B 110 и двух UE 120x и 120y. Node B 110 снабжен множеством (T) антенн 326a~326t. UE 120x снабжено одной антенной 352x. UE 120y снабжено множеством (R) антенн 352a~352r. Каждая антенна может представлять собой физическую антенну или антенную решетку.
В Node B 110 процессор 320 данных передачи может принимать данные из источника 312 данных для одного или более обслуживаемых UE. Процессор 320 данных передачи может обрабатывать (например, кодировать, выполнять перемежение и сопоставление символов) данные для каждого UE на основании одной или более схем модуляции и кодирования, выбранных для этого UE, чтобы получать символы данных. На схему модуляции и кодирования также могут ссылаться как на формат пакета, транспортный формат, скорость и т.п. Процессор 320 данных передачи также может генерировать и мультиплексировать символы пилот-сигнала с символами данных. Символ данных является символом для данных, а символ пилот-сигнала является символом для пилот-сигнала, причем символ, как правило, является комплексной величиной. Символы данных и символы пилот-сигнала могут представлять собой символы, модулированные по некоторой схеме модуляции, такой как Фазовая Манипуляция (Phase-Shift Keying, PSK) или Квадратурная Амплитудная Модуляция (Quadrature Amplitude Modulation, QAM). Пилот-сигнал представляет собой данные, которые априори известны как в Node B, так и в UE.
Процессор 322 MIMO-передачи может выполнять пространственную обработку символов данных и символов пилот-сигнала, принимаемых из процессора 320 данных передачи. Процессор 322 MIMO-передачи также может выполнять прямое сопоставление MIMO, предварительное кодирование/формирование луча и т.п. Символ данных может быть передан с одной антенны для прямого сопоставления MIMO или с множества антенн для предварительного кодирования и формирования луча. Процессор 322 MIMO-передачи может предоставлять T выходных потоков символов в T модуляторов 324a~324t. Каждый модулятор 324 может обрабатывать свой выходной поток символов (например, для OFDM и т.п.), чтобы получить выходную последовательность элементарных сигналов. Каждый модулятор 324 может, сверх того, обрабатывать (например, преобразовывать в аналоговую форму, усиливать, фильтровать и преобразовывать с повышением частоты) свою выходную последовательность элементарных сигналов и генерировать сигнал нисходящей линии связи. T сигналов нисходящей линии связи из модуляторов 324a~324t могут передаваться с T антенн 326a~326t, соответственно.
В каждом UE 120 одна или множество антенн 352 могут принимать сигналы нисходящей линии связи из Node B 110. Каждая антенна 352 может предоставлять принятый сигнал в соответствующий демодулятор 354. Каждый демодулятор 354 может обрабатывать (например, фильтровать, усиливать, преобразовывать с понижением частоты и оцифровывать) свой принятый сигнал, чтобы получить выборки, после чего он может дополнительно обработать выборки (например, для OFDM), чтобы получить принятые символы.
В UE 120x с одной антенной детектор 358x данных может выполнять детектирование данных (например, согласованную фильтрацию или выравнивание) на принятых символах из демодулятора 354x и предоставлять детектированные символы, которые представляют собой оценки переданных символов данных. Процессор 360x данных приема может обрабатывать (например, выполнять обратное сопоставление символов, обратное перемежение и декодирование) детектированные символы, чтобы получить декодированные данные, которые могут быть предоставлены в приемник 362x данных. В UE 120y с множеством антенн MIMO-детектор 358y может выполнять MIMO-детектирование принятых символов из демодуляторов 354a~354r и предоставить детектированные символы. Процессор 360y данных приема может обрабатывать детектированные символы, чтобы получить декодированные данные, которые могут быть предоставлены в приемник 362y данных.
UE 120x и 120y могут передавать данные по восходящей линии связи в Node B 110. В каждом UE 120 данные от источника 368 данных могут быть обработаны процессором 370 данных приема и дополнительно обработаны процессором 372 MIMO-передачи (если это применимо), чтобы получить один или более выходных потоков символов. Один или более модуляторов 354 могут обрабатывать один или более выходных потоков символов (например, для Мультиплексирования с Частотным Разделением на Одной Несущей (Single-Carrier Frequency Division Multiplexing, SC-FDM) и т.п.), чтобы получать один или более выходных потоков элементарных сигналов. Каждый модулятор 354 может дополнительно обрабатывать свой выходной поток элементарных сигналов, чтобы получить сигнал восходящей линии связи, который может быть передан через соответствующую антенну 352. В Node B 110 сигналы восходящей линии связи от UE 120x, UE 120y и/или других UE могут быть приняты посредством антенн 326a~326t, обработаны демодуляторами 324a~324t и дополнительно обработаны MIMO-детектором 328 и процессором 330 данных приема, чтобы восстановить данные, переданные пользовательскими оборудованиями UE.
Контроллеры/процессоры 340, 380x и 380y могут управлять работой в Node B 110 и UE 120x и 120y, соответственно. Памяти 342, 382x и 382y могут хранить данные и программные коды для Node B 110 и UE 120x и 120y, соответственно. Планировщик 344 может выполнять планирование UE для передачи по нисходящей линии связи и/или восходящей линии связи и может предоставлять назначение ресурсов для спланированных UE.
В целом, MIMO-передача, содержащая множество (S) потоков данных, может быть передана на основании любых ресурсов. Ресурсы можно количественно определить по времени (в большинстве систем), по частоте (например, в системах OFDMA и SC-FDMA), по коду (например, в системе CDMA), по некоторому другому количеству или посредством любой комбинации перечисленных. Поскольку множество потоков данных передаются на основе одних и тех же ресурсов, то предполагается, что эти потоки данных могут быть пространственно разделены в принимающей станции (станциях). Тем не менее могут иметь место случаи, когда потоки данных невозможно пространственно разделить, например, поскольку доступная информация ранга устарела или некорректна и/или по другим причинам. В этих случаях может потребоваться иметь структуру передачи, которая предоставляет возможность принимающей станции (станциям) различать потоки данных.
В одном аспекте после канального кодирования каждый поток данных в MIMO-передаче может быть по отдельности скремблирован посредством кода скремблирования передающей станцией для этого потока данных. S потоков данных в MIMO-передаче могут быть скремблированы посредством S разных кодов скремблирования. Коды скремблирования могут представлять собой последовательности псевдослучайных чисел или некоторые другие типы кодов или последовательностей. S кодов скремблирования могут быть псевдослучайными относительно друг друга. Принимающая станция, приспособленная для приема заданного потока данных, может выполнять дополняющее дескремблирование посредством кода скремблирования, использованного для этого потока данных. Тогда принимающая станция сможет изолировать желаемый поток данных, тогда как остальные потоки данных будут выглядеть как псевдослучайный шум. Каждый поток данных, таким образом, может быть различен своей принимающей станцией на основании кода скремблирования для этого потока данных.
Фиг.4A представляет собой иллюстрацию структурной схемы одного варианта осуществления процессора 320 данных передачи в Node B 110, который также может быть использован как процессор 370y данных передачи в UE 120y с Фиг.3. В этом варианте процессор 320 данных передачи включает в себя S обрабатывающих секций 410a~410s для S потоков данных, которые должны быть параллельно переданы для MIMO-передачи, где S может быть любым целым числом больше 1. Каждая обрабатывающая секция 410 может принимать и обрабатывать один поток данных и предоставлять соответствующий поток символов данных.
Внутри обрабатывающей секции 410a для потока 1 данных, который может нести один или более блоков данных, канальный кодер 420a может кодировать каждый блок данных в потоке 1 данных и предоставлять соответствующее кодовое слово. Канальный кодер 420a может включать в себя FEC-кодер 422a и блок 424a согласования скорости. FEC-кодер 422a может кодировать каждый блок данных согласно схеме кодирования, выбранной для потока 1 данных. Выбранная схема кодирования может включать в себя сверточный код, турбо-код, код с Контролем Четности Низкой Плотности (Low Density Parity Check, LDPC), код с Циклическим Контролем Избыточности (Cyclic Redundancy Check, CRC), блочный код, отсутствие кодирования и т.п. FEC-кодер 422a может иметь фиксированную скорость 1/Q кодирования, и он может кодировать блок данных из N информационных битов и предоставлять кодированный блок из Q*N битов. Блок 424a может выполнять согласование скорости по битам кода, сгенерированного FEC-кодером 422a, чтобы получить желаемое количество битов кода. Блок 424a может прокалывать (или удалять) некоторые биты кода, если желаемое количество битов кода меньше, чем количество сгенерированных битов кода. Альтернативно, блок 424a может повторять некоторые биты кода, если желаемое количество битов кода больше, чем количество сгенерированных битов кода. В целом, канальный кодер 420a может выполнять либо только FEC-кодирование или только согласование скорости (например, повторение), либо и FEC-кодирование, и согласование скорости (например, либо прокалывание, либо повторение) блока данных и предоставлять кодовое слово. Канальный кодер 420a предоставляет кодированный поток с одним или более кодовыми словами.
Скремблер 430a может скремблировать кодированный поток от канального кодера 420a посредством кода скремблирования для потока 1 данных, и предоставлять скремблированный поток. Код скремблирования может быть сгенерирован различными способами. В одном варианте для реализации порождающего многочлена для последовательности псевдослучайных чисел может использоваться Сдвиговый Регистр с Линейной Обратной Связью (Linear Feedback Shift Register, LFSR). Вывод из LFSR представляет собой псевдослучайную последовательность битов, которая может быть использована в качестве кода скремблирования. S кодов скремблирования для S потоков данных могут представлять собой S разных последовательностей псевдослучайных чисел, которые могут быть получены посредством S разных затравочных величин для LFSR (в этом случае S последовательностей псевдослучайных чисел представляют собой, по существу, одну последовательность псевдослучайных чисел с разными сдвигами) или S разных порождающих многочленов. S кодов скремблирования также могут быть сгенерированы иным способом. В любом случае, S кодов скремблирования могут быть псевдослучайными относительно друг друга. Скремблер 430a может скремблировать кодированный поток путем манипулирования каждого бита кода в кодированном потоке посредством одного бита кода скремблирования, чтобы получить скремблированный бит.
B
Перемежитель 440a канала может принимать скремблированный поток из скремблера 430a, перемежать или менять порядок скремблированных битов на основании схемы перемежения, и предоставлять перемеженный поток. Перемежение канала может быть выполнено либо по отдельности для каждого потока данных (как показано на Фиг.4A), либо по некоторым или всем S потокам данных. Перемежение канала также может быть опущено. Блок 450a сопоставления символов может принимать перемеженные биты из перемежителя канала 440a и сопоставлять перемеженные биты символам данных на основании схемы модуляции, выбранной для потока 1 данных. Сопоставление символов может быть выполнено путем (i) группирования наборов битов для формирования B-битных величин, где B≥1, и (ii) сопоставления каждой B-битной величины одной из 2 точек в созвездии сигнала для выбранной схемы модуляции. Точка каждого сопоставленного сигнала представляет собой комплексную величину для символа данных. Блок 450a сопоставления символов предоставляет поток символов данных для потока 1 данных.
Каждая обрабатывающая секция 410 в процессоре 320 данных передачи может обрабатывать свой поток данных схожим образом и предоставлять соответствующий поток символов данных. Обрабатывающие секции 410a~410s могут предоставлять S потоков символов данных в процессор 322 MIMO-передачи.
Процессор 322 MIMO-передачи может выполнять пространственную обработку S потоков символов данных различными способами. Для прямого MIMO-сопоставления процессор 322 MIMO-передачи может сопоставлять S потоков символов данных S передающим антеннам - по одному потоку символов данных на каждую передающую антенну. В этом случае каждый поток данных, по существу, передается через отличную передающую антенну. Для предварительного кодирования процессор 322 MIMO-передачи может перемножать символы данных в S потоках с матрицей предварительного кодирования, так что каждый символ данных передается со всех T передающих антенн. В этом случае каждый поток данных, по существу, передается через отличную "виртуальную" антенну, сформированную посредством одного столбца матрицы предварительного кодирования и T передающих антенн. Процессор 322 MIMO-передачи также может выполнять пространственную обработку S потоков символов другими способами.
Node B 110 может выполнять пространственную обработку совместно для S потоков данных для нисходящей линии связи SDMA. Каждое UE 120 может выполнять пространственную обработку по отдельности для своих потоков данных для восходящей линии связи SDMA.
Фиг.4B представляет собой иллюстрацию структурной схемы одного варианта процессора 370x данных передачи в UE 120x с одной антенной с Фиг.3. Процессор 370x данных передачи может принимать поток данных, который должен быть передан одновременно с одним или более другими потоками данных из одного или более других UE для MIMO-передачи по восходящей линии связи. Процессор 370x данных передачи может обрабатывать поток данных и предоставлять соответствующий поток символов данных. В процессоре 370x данных передачи канальный кодер 420x может кодировать каждый блок данных в потоке данных и предоставлять соответствующее кодовое слово. В канальном кодере 420x FEC-кодер 422x может кодировать каждый блок данных в соответствии с выбранной схемой кодирования, и блок 424x согласования скорости может либо прокалывать, либо повторять некоторые биты кода, чтобы получить желаемое количество битов кода. Скремблер 430x может скремблировать кодированный поток из канального кодера 420x посредством кода скремблирования для потока данных и предоставлять скремблированный поток. Перемежитель 440x канала может перемежать биты в скремблированном потоке на основании схемы перемежения. Блок 450x сопоставления символов может сопоставлять перемеженные биты символам данных на основании выбранной схемы модуляции и предоставлять поток символов данных.
Фиг.4A и 4B представляют варианты, в которых скремблирование выполняется сразу после канального кодирования. В целом, скремблирование может быть выполнено в различных точках после канального кодирования. Например, скремблирование может быть выполнено после перемежения канала, после сопоставления символов и т.п.
Фиг.5A представляет собой иллюстрацию структурной схемы одного варианта процессора 360y данных приема в UE 120y, который также может быть использован как процессор 330 данных приема в Node B 110 с Фиг.3. Процессор 360y данных приема может восстанавливать все или некоторые из S потоков данных, передаваемых в MIMO-передаче. Для простоты Фиг.5A иллюстрирует процессор 360y данных передачи, обрабатывающий все S потоков данных, передаваемых в MIMO-передаче.
MIMO-детектор 358y может получать R потоков принятых символов из R демодуляторов 354a~354r. MIMO-детектор 358y может выполнять MIMO-детектирование на R потоках принятых символов на основании Минимальной Среднеквадратичной Ошибки (Minimum Mean Square Error, MMSE), обращения в ноль незначащих элементов или некоторых других способов. MIMO-детектор 358y может предоставлять S потоков детектированных символов, которые представляют собой оценки S потоков символов данных.
В варианте с Фиг.5A процессор 360y данных приема включает в себя S обрабатывающих секций 510a~510s для S потоков данных. Каждая обрабатывающая секция 510 может принимать и обрабатывать один поток детектированных символов и предоставлять соответствующий поток декодированных данных. В обрабатывающей секции 510a для потока 1 данных блок 520a обратного сопоставления символов может выполнять обратное сопоставление символов на своем потоке детектированных символов. Блок 520a обратного сопоставления символов может вычислять Логарифмические Отношения Правдоподобия (Log-Likelihood Ratio, LLR) для битов кода, передаваемых для потока 1 данных, на основании детектированных символов и схемы модуляции, используемой для потока 1 данных. Обращенный перемежитель 530a канала может выполнять обратное перемежение отношений LLR по способу, который дополняет способ перемежителя 440a канала в Node B 110 с Фиг.4A. Дескремблер 540a может дескремблировать обратно перемеженные LLR посредством кода скремблирования, использованного для потока 1 данных, и предоставлять дескремблированный поток.
Канальный декодер 550a может декодировать отношения LLR в дескремблированном потоке и предоставлять поток данных с одним или более блоками декодированных данных. Канальный декодер 550a может включать в себя блок 552a обратного согласования скорости и FEC-декодер 554a. Блок 552a может вставлять стирания для битов кода, которые были удалены блоком 424a согласования скорости в Node B 110 с Фиг.4A. Стирание может представлять собой LLR со значением 0, что указывает о равной вероятности '0' или '1' для бита кода. Блок 552a также может комбинировать отношения LLR для битов кода, которые были повторены блоком 424a согласования частоты. Блок 552a может предоставлять отношения LLR для всех битов кода, сгенерированных FEC-кодером 422a в Node B 110. FEC-декодер 554a может выполнять декодирование на отношениях LLR из блока 552a по способу, который дополняет кодирование, выполненное FEC-кодером 422a. Например, FEC-декодер 554a может выполнять турбо-декодирование или декодирование по Витерби, если FEC-кодером 422a было выполнено турбо-кодирование или сверточное кодирование, соответственно.
Каждая обрабатывающая секция 510 в процессоре 360y данных приема может обрабатывать свой поток детектированных символов схожим образом и предоставлять соответствующий поток декодированных данных. Обрабатывающие секции 510a~510s могут предоставлять S потоков декодированных данных, которые представляют собой оценки S потоков данных, передаваемых в MIMO-передаче.
MIMO-детектор 358y может иметь возможность пространственно разделять S потоков данных, параллельно передаваемых для MIMO-передачи. В этом случае в потоке детектированных символов для каждого потока данных может наблюдаться небольшое количество помех от других потоков данных. Тем не менее, S потоков данных могут иметь плохое пространственное разделение, и в этом случае в потоке детектированных символов для каждого потока данных может наблюдаться больше помех от других потоков данных. Дескремблирование, выполняемое каждым дескремблером 540, может рандомизировать помехи от других потоков данных, что может улучшить канальное декодирование для потока данных, который восстанавливается.
MIMO-детектор 358y и процессор 360y данных приема также могут выполнять последовательное подавление помех. В этом случае MIMO-детектор 358y может сначала выполнить MIMO-детектирование на потоках принятых символов и предоставить один поток детектированных символов для одного потока данных. Процессор 360y данных приема может обработать поток детектированных символов и предоставить поток декодированных данных, как описано выше. Помехи от потока декодированных данных могут быть оценены и вычтены из потоков принятых символов. Далее, MIMO-детектирование и обработка данных приема может повторяться для следующего потока данных. Скремблирование и дескремблирование для каждого потока данных может улучшить производительность для последовательного подавления помех, например, путем обеспечения того, что помехи между потоками являются белым шумом даже при наличии повторений кодированных битов в заданном потоке.
Фиг.5B представляет собой иллюстрацию структурной схемы одного варианта процессора 360x данных приема в UE 120x. Процессор 360x данных приема может принимать поток детектированных символов для одного потока данных из детектора 358x данных. Этот поток данных может быть одним из множества потоков данных, параллельно передаваемых для MIMO-передачи в множество UE. В процессоре 360x данных приема блок 520x обратного сопоставления символов может выполнять обратное сопоставление символов на потоке детектированных символов и предоставлять отношения LLR для передаваемых битов кода. Обращенный перемежитель 530x канала может выполнять обратное перемежение отношений LLR. Дескремблер 540x может дескремблировать обратно перемеженные LLR посредством кода скремблирования, использованного для потока 1 данных, и предоставлять дескремблированный поток. Канальный декодер 550x может декодировать отношения LLR в дескремблированном потоке и предоставлять поток детектированных данных. В канальном декодере 550x блок 552x обратного согласования скорости может вставлять стирания для битов кода, которые были удалены, и комбинировать отношения LLR для битов кода, которые были повторены. FEC-декодер 554x может выполнять декодирование по отношениям LLR из блока 552x и предоставлять блок декодированных данных для каждого кодового слова.
Фиг.5A и 5B представляют собой иллюстрации вариантов, в которых дескремблирование выполняется непосредственно до канального декодирования. В целом, дескремблирование может быть выполнено в точках, определенных скремблированием в передающей станции. Например, дескремблирование может быть выполнено до обратного перемежения канала, до обратного сопоставления символов и т.п.
В целом, скремблирование может выполняться независимо для каждого потока данных, так что принимающая станция может изолировать поток данных путем выполнения дополняющего дескремблирования. Скремблирование предоставляет возможность различения разных потоков данных, даже если они несут идентичные данные. Скремблинг может быть выполнен после канального кодирования, так что рандомизированные помехи от других потоков данных могут быть предоставлены в канальный декодер в принимающей станции.
Способность различения между множеством потоков данных, передаваемых в MIMO-передаче, может быть полезна по ряду причин. Во-первых, принимающая станция может быть в состоянии восстановить заданный поток данных в сценариях, где по некоторой причине множество потоков данных невозможно пространственно разделить. Во-вторых, MIMO-детектирование с линейным подавлением (например, MMSE или обращение в нуль незначащих элементов) или нелинейным подавлением (например, последовательное подавление помех) может быть улучшено. В-третьих, один или более потоков данных, несущих в себе коррелированные данные, могут быть рандомизированы путем скремблирования и дескремблирования, что может рандомизировать помехи и улучшить производительность декодирования. Например, часть потока данных может быть повторена путем согласования скорости, и тогда поток данных будет содержать коррелированные данные в исходной части и повторенной части. Скремблирование рандомизирует коррелированные данные. В качестве еще одного примера, множество UE могут посылать одинаковые или схожие данные (например, нулевой кадр или кадр Описания Вставки Тишины (Silence Insertion Description, SID) в MIMO-передаче. Скремблирование рандомизирует данные от этих UE.
Фиг.6 представляет собой иллюстрацию процесса 600 для передачи множества потоков данных. Процесс 600 может быть выполнен посредством Node B, UE или некоторого другого объекта. Для множества потоков данных, которые одновременно передаются для MIMO-передачи, может быть выполнено канальное кодирование (блок 612). Канальное кодирование может содержать FEC-кодирование и/или согласование скорости, причем оно может быть выполнено независимо для каждого потока данных, чтобы получить соответствующий кодированный поток. После канального кодирования для множества потоков данных может быть выполнено скремблирование посредством множества кодов скремблирования (блок 614). Каждый кодированный поток может быть скремблирован посредством отличного кода скремблирования, чтобы получить соответствующий скремблированный поток.
После канального кодирования, до или после скремблирования для множества потоков данных может быть выполнено перемежение канала (блок 616). Перемежение канала также может быть опущено. После канального кодирования, после перемежения канала (если оно было выполнено), до или после скремблирования для множества потоков данных может быть выполнено сопоставление символов (блок 618). После сопоставления символов и скремблирования для множества потоков данных может быть выполнена пространственная обработка (блок 620).
Фиг.7 представляет собой иллюстрацию устройства 700 для передачи множества потоков данных. Устройство 700 включает в себя средство для выполнения канального кодирования для множества потоков данных, одновременно передаваемых для MIMO-передачи (модуль 712), средство для выполнения скремблирования для множества потоков данных посредством множества кодов скремблирования после канального кодирования (модуль 714), средство для выполнения перемежения канала для множества потоков данных после канального кодирования, либо до скремблирования, либо после него (модуль 716), средство для выполнения сопоставления символов для множества потоков данных после перемежения канала, либо до скремблирования, либо после него (модуль 718), средство для выполнения пространственной обработки для множества потоков данных после сопоставления символов и скремблирования (модуль 720).
Фиг.8 представляет собой иллюстрацию процесса 800 для передачи одного потока данных. Процесс 800 может быть выполнен посредством UE, Node B или некоторого другого объекта. Канальное кодирование может быть выполнено для одного потока данных, передаваемого первой станцией, одновременно с, по меньшей мере, еще одним другим потоком данных, передаваемым, по меньшей мере, еще одной другой станцией для MIMO-передачи (блок 812). Для блока 812 может быть выполнено FEC-кодирование и/или согласование скорости для потока данных, чтобы получить кодированный поток. После канального кодирования для упомянутого потока данных может быть выполнено скремблирование посредством кода скремблирования (блок 814). Данный код скремблирования может отличаться от, по меньшей мере, еще одного кода скремблирования, используемого, по меньшей мере, еще одной другой станцией для, по меньшей мере, еще одного другого потока данных. После канального кодирования для потока данных может быть выполнено перемежение канала (блок 816). После перемежения канала для потока данных может быть выполнено сопоставление символов (блок 818).
Фиг.9 представляет собой иллюстрацию устройства 900 для передачи одного потока данных. Устройство 900 включает в себя средство для выполнения канального кодирования для потока данных, передаваемого первой станцией, одновременно с, по меньшей мере, еще одним другим потоком данных, передаваемым, по меньшей мере, еще одной другой станцией для MIMO-передачи (модуль 912), средство для выполнения скремблирования для потока данных посредством кода скремблирования после канального кодирования (модуль 914), модуль для выполнения перемежения канала для потока данных после канального кодирования (модуль 916) и средство для выполнения сопоставления символов для потока данных после перемежения канала (модуль 918).
Фиг.10 представляет собой иллюстрацию процесса 1000 для приема множества потоков данных. Процесс 1000 может быть выполнен посредством Node B, UE или некоторого другого объекта. Может быть принята MIMO-передача, содержащая множество потоков данных (блок 1012). На множестве потоков принятых символов может быть выполнено MIMO-детектирование, чтобы получить множество потоков детектированных символов для множества потоков данных (блок 1014). На множестве потоков детектированных символов может быть выполнено обратное сопоставление символов (блок 1016). После обратного сопоставления символов для множества потоков данных может быть выполнено перемежение канала (блок 1018). Для множества потоков данных может быть выполнено дескремблирование посредством множества кодов скремблирования, например посредством отличного кода скремблирования для каждого потока данных, чтобы получить соответствующий дескремблированный поток (блок 1020). После дескремблирования для множества потоков данных может быть выполнено канальное декодирование (блок 1022). Например, на каждом дескремблированном потоке может быть выполнено FEC-декодирование и/или обратное согласование скорости, чтобы получить соответствующий декодированный поток данных.
Фиг.11 представляет собой иллюстрацию устройства 1100 для приема множества потоков данных. Устройство 1100 включает в себя средство для приема MIMO-передачи, содержащей множество потоков данных (модуль 1112), средство для выполнения MIMO-детектирования на множестве потоков принятых символов, чтобы получить множество потоков детектированных символов для множества потоков данных (модуль 1114), средство для выполнения обратного сопоставления символов на множестве потоков детектированных символов (модуль 1116), средство для выполнения обратного перемежения канала для множества потоков данных после обратного сопоставления символов (модуль 1118), средство для выполнения дескремблирования для множества потоков данных посредством множества кодов скремблирования (модуль 1120) и средство для выполнения канального декодирования для множества потоков данных после дескремблирования (модуль 1122).
Фиг.12 представляет собой иллюстрацию процесса 1200 для приема одного потока данных. Процесс 1200 может быть выполнен посредством Node B, UE или некоторого другого объекта. Для потока данных может быть выполнено дескремблирование посредством кода скремблирования, причем поток данных является одним из множества потоков данных, одновременно передаваемых для MIMO-передачи (например, в множество станций), и множества потоков данных скремблируются посредством разных кодов скремблирования (блок 1212). После дескремблирования для потока данных может быть выполнено канальное декодирование (например, FEC-декодирование и/или обратное согласование скорости)(блок 1214). До канального декодирования для потока данных может быть выполнено обратное сопоставление символов. После обратного сопоставления символов и до канального кодирования для потока данных также может быть выполнено обратное перемежение канала.
Фиг.13 представляет собой иллюстрацию устройства 1300 для приема одного потока данных. Устройство 1300 включает в себя средство для выполнения дескремблирования для потока данных посредством кода дескремблирования, причем поток данных является одним из множества потоков данных, одновременно передаваемых для MIMO-передачи, и множество потоков данных скремблируются посредством разных кодов скремблирования (модуль 1312), и средство для выполнения канального декодирования для потока данных после дескремблирования (модуль 1314).
Модули с Фиг.7, 9, 11 и 13 могут содержать процессоры, электронные устройства, аппаратные устройства, электронные компоненты, логические схемы, памяти и т.п. или любую комбинацию перечисленных.
Специалистам в данной области техники будет очевидно, что информация и сигналы могут быть представлены посредством любой технологии и способа из широкого спектра таковых. Например, данные, инструкции, команды, информация, сигналы, биты, символы и элементарные сигналы, которые, возможно, упоминались в вышеизложенном описании, могут быть представлены посредством напряжений, токов, электромагнитных волн, магнитных полей или частиц, оптических полей или частиц, или посредством их любого сочетания.
Специалистам в данной области техники также будет понятно, что различные иллюстративные логические блоки, модули, схемы и этапы алгоритмов, описанные в привязке к данному раскрытию, могут быть реализованы как электронное аппаратное обеспечение, компьютерное программное обеспечение или их комбинации. Для ясной иллюстрации этой взаимозаменяемости аппаратного обеспечения и программного обеспечения, различные иллюстративные компоненты, блоки, модули, схемы и этапы выше были описаны в терминах их функциональности. Способ реализации такой функции, как аппаратное обеспечение или программное обеспечение, зависит от конкретного приложения и конструктивных ограничений, налагаемых на систему в целом. Специалисты в данной области техники могут реализовать описанные функции различными способами для каждого конкретного применения, но подобные решения реализации не должны быть интерпретированы как выходящие за рамки объема настоящего раскрытия.
Различные иллюстративные логические блоки, модули и схемы, описанные в привязке к настоящему раскрытию, могут быть реализованы или выполнены посредством процессора общего назначения, цифрового процессора сигналов, специализированной микросхемы, программируемой вентильной матрицы или другого программируемого логического устройства, дискретного вентиля или транзисторной логической схемы, дискретных аппаратных компонентов или их любой комбинации, предназначенной для выполнения описанных здесь функций. Процессор общего назначения может быть микропроцессором, но альтернативно процессор может быть любым обычным процессором, котроллером, микроконтроллером или конечным автоматом. Процессор также может быть реализован как комбинация вычислительных устройств, например комбинация цифрового процессора сигналов и микропроцессора, множество микропроцессоров, один или более микропроцессоров в сочетании с цифровым процессором сигналов в качестве ядра, или любая другая такая конфигурация.
Этапы способа или алгоритма, описанного в привязке к настоящему раскрытию, могут быть осуществлены непосредственно аппаратно, посредством программного модуля, исполняемого процессором, или посредством комбинации этих двух вариантов. Программный модуль может храниться в памяти ОЗУ, флэш-памяти, памяти ПЗУ, памяти СППЗУ, памяти ЭСППЗУ, регистрах, жестких дисках, съемных дисках, дисках CD-ROM или любой другой известной форме носителей данных. Иллюстративный носитель данных соединен с процессором так, чтобы процессор мог считывать информацию с носителя данных и записывать информацию на него. Альтернативно, носитель данных может быть интегрирован с процессором. Процессор и носитель данных могут быть в специализированной микросхеме. Специализированная микросхема может быть в терминале пользователя. Альтернативно, процессор и носитель данных могут быть расположены в терминале пользователя как раздельные компоненты.
В одном или более примерах осуществления описанные функции могут быть реализованы в аппаратном обеспечении, программном обеспечении, встроенном программном обеспечении или в их комбинации. При реализации в программном обеспечении функции могут храниться на машиночитаемом носителе и передавать с него в виде одной или более инструкций или кодов. Машиночитаемый носитель включает в себя как компьютерные средства хранения, так и средства передачи, включающие в себя среду, которая облегчает передачу компьютерной программы с одного места в другое. Средством хранения может быть любое доступное средство, к которому может быть выполнен доступ компьютером общего или специального назначения. В качестве примера, но не ограничиваясь перечисленным, подобные машиночитаемые носители могут включать в себя ПЗУ, ОЗУ, ЭСППЗУ, компакт диски CD-ROM или другие оптические дисковые хранилища, магнитные дисковые хранилища или другие магнитные устройства хранения, или любой другой носитель, который может быть использован для хранения желаемого средства программного кода в форме инструкций или структур данных и к которому может быть выполнен доступ компьютером общего или специального назначения, либо процессором общего или специального назначения. Кроме того, любое соединение определяется как машиночитаемый носитель. Например, если программное обеспечение передается с веб-сайта, сервера или другого удаленного источника через коаксиальный кабель, волоконно-оптический кабель, витую пару, Цифровую Абонентскую Линию (Digital Subscriber Line, DSL) или посредством беспроводных технологий, таких как инфракрасная связь, радиосвязь и микроволновая связь, то коаксиальный кабель, волоконно-оптический кабель, витая пара, DSL или беспроводные технологии, такие как инфракрасная связь, радиосвязь и микроволновая связь, включаются в определение носителя. Диски и дискеты в использованном здесь значении включают в себя компакт-диск (CD), лазерный диск, оптический диск, Цифровой Универсальный Диск (Digital Versatile Disc, DVD), гибкий диск и диск blu-ray, причем дискеты обычно воспроизводят данные магнитным способом, а диски воспроизводят данные оптическим образом посредством лазеров. Комбинации из каких-либо вышеперечисленных типов также входят в объем понятия машиночитаемый носитель.
Предшествующее описание приведено, чтобы предоставить возможность специалистам в данной области техники реализовать или использовать настоящее изобретение. Специалистам в данной области техники будут очевидны различные модификации настоящего изобретения, и описанные здесь ключевые принципы могут применяться к другим вариантам в рамках сущности или объема настоящего изобретения. Следовательно, настоящее изобретение не ограничивается описанными здесь примерами, а ему следует сопоставить самый широкий объем в соответствии с раскрытыми принципами и новыми отличительными признаками.