ПЕРЕДАЧА С ИНКРЕМЕНТНОЙ ИЗБЫТОЧНОСТЬЮ В СИСТЕМЕ СВЯЗИ MIMO
INCREMENTAL REDUNDANCY TRANSMISSION IN MIMO COMMUNICATION SYSTEM

Область техники, к которой относится изобретение
Настоящее изобретение в целом относится к обмену информацией, и более конкретно, к методикам передачи данных в системе связи со многими входами и многими выходами (MIMO).
Уровень техники
T
R
T
R
T
R
S
s
T
R
S
Система MIMO применяет множественные (N) передающие антенны и множественные (N) приемные антенны для передачи данных и обозначается как система (N, N). Канал MIMO, образованный N передающими и N приемными антеннами, может быть разложен на N пространственных каналов, где N≤min{N, N}. Система MIMO может обеспечивать увеличенную пропускную способность, если N пространственных каналов, созданных многоэлементными передающими и приемными антеннами, применяются для передачи данных.
S
Главной проблемой в системе MIMO является выбор подходящей скорости для передачи данных на основе условий канала. «Скорость» может указывать конкретную скорость передачи данных или скорость передачи информации в битах, конкретную схему кодирования, конкретную схему модуляции, конкретный размер пакета данных и так далее. Целью выбора скорости является максимизировать пропускную способность по N пространственным каналам наряду с соответствием определенным целям качества, которые могут измеряться посредством конкретной частоты ошибок пакета (например, 1% PER).
S
Пропускная способность канала MIMO зависит от отношений сигнал/шум-и-помеха (SNR), достигаемых N пространственными каналами. SNR зависят, в свою очередь, от условий канала. В одной обычной системе MIMO передатчик кодирует, модулирует и передает данные в соответствии со скоростью, которая выбирается на основе модели статического канала MIMO. Хорошая производительность может достигаться, если модель точна, и если канал MIMO относительно статичен (то есть, не меняется во времени). В другой обычной системе MIMO приемник оценивает канал MIMO, выбирает подходящую скорость на основе оценок канала, и отправляет выбранную скорость передатчику. Затем передатчик обрабатывает и передает данные в соответствии с выбранной скоростью. Производительность этой системы зависит от особенности канала MIMO и точности оценок канала.
Для обеих описанных выше обычных систем MIMO передатчик обычно обрабатывает и передает каждый пакет данных на выбранной для этого пакета данных скорости. Приемник декодирует каждый пакет данных, переданный передатчиком, и определяет, декодирован ли пакет безошибочно или с ошибкой. Приемник может отправить назад уведомление о подтверждении приема (ACK), если пакет декодирован безошибочно, или отрицательное уведомление о подтверждении приема (NAK), если пакет декодирован с ошибкой. Передатчик может повторно передать каждый пакет данных, декодированный приемником с ошибкой, полностью, по приему NAK для пакета от приемника.
Производительность обеих описанных выше систем MIMO сильно зависит от точности выбора скорости. Если выбранная скорость для пакета данных слишком умеренная (например, так как фактическое SNR гораздо лучше, чем оценка SNR), то чрезмерные ресурсы системы тратятся на передачу пакета данных, и пропускная способность канала недоиспользуется. Наоборот, если выбранная скорость для пакета данных слишком интенсивна, то пакет может декодироваться приемником с ошибкой, и ресурсы системы могут затрачиваться на повторную передачу пакета данных. Выбор скорости для системы MIMO является многообещающим вследствие (1) большей сложности в оценке канала для канала MIMO и (2) зависящей от времени и независимой особенности множественных пространственных каналов канала MIMO.
Следовательно, существует потребность в данной области техники в методиках для эффективной передачи данных в системе MIMO, и которые не требуют точного выбора скорости для достижения хорошей производительности.
Сущность изобретения
В данном документе предоставляются методики для выполнения передачи с инкрементной избыточностью (IR) в системе MIMO. Изначально приемник или передатчик в системе MIMO оценивает канал MIMO и выбирает подходящую скорость для передачи данных по каналу MIMO. Передатчик обеспечивается выбранной скоростью, если приемник выполняет выбор скорости.
B
T
R
B
B
Передатчик обрабатывает (например, кодирует, разделяет, перемежает и модулирует) пакет данных на основе выбранной скорости и получает многочисленные (N) блоки символов данных для пакета данных. Первый блок символов данных обычно содержит достаточную информацию для предоставления приемнику возможности восстанавливать пакет данных при благоприятных условиях канала. Каждый из остающихся блоков символов данных содержит дополнительную избыточность для предоставления возможности приемнику восстанавливать пакет данных при менее благоприятных условиях канала. Передатчик передает первый блок символов данных от N передающих антенн к N приемным антеннам в приемнике. После этого передатчик передает оставшиеся блоки из N блоков символов данных, один блок за раз, пока пакет данных не восстановится приемником правильно, либо все из N блоков не будут переданы.
P
P
T
P
P
Если многочисленные (N) блоки символов данных для N пакетов данных нужно передать одновременно от N передающих антенн, то передатчик дополнительно обрабатывает эти N блоков символов данных, так что N пакетов данных испытывают сходные условия канала. Это позволяет использовать единую скорость для всех пакетов данных, переданных одновременно по каналу MIMO.
Приемник получает принятый блок символов для каждого блока символов данных, переданного передатчиком. Приемник «обнаруживает» каждый принятый блок символов для получения обнаруженного блока символов, который является оценкой соответствующего блока символов данных. Затем приемник обрабатывает (например, демодулирует, обратно перемежает, перебирает и декодирует) все обнаруженные блоки символов, полученные для пакета данных, и предоставляет декодированный пакет. Приемник может отправить назад ACK, если декодированный пакет является безошибочно декодированным, и NAK, если декодированный пакет с ошибкой. Если декодированный пакет с ошибкой, то приемник повторяет обработку, когда получают другой принятый блок символов для другого блока символов данных, переданного передатчиком.
dd
Приемник может также восстановить пакет данных, используя схему итеративного обнаружения и декодирования (IDD). Для схемы IDD, когда бы ни получался новый принятый блок символов для пакета данных, обнаружение и декодирование выполняют итеративно множество (N) раз на всех принятых блоках символов для получения декодированного пакета. Детектор выполняет обнаружение всех принятых блоков символов и предоставляет обнаруженные блоки символов. Декодер выполняет декодирование всех обнаруженных блоков символов и предоставляет априорную информацию декодера, которая используется детектором в последующей итерации. Декодированный пакет формируют на основе выходной информации декодера для последней итерации.
Далее подробно описаны различные аспекты и варианты осуществления изобретения.
Краткое описание чертежей
Признаки и особенность настоящего изобретения станут более очевидными из изложенного ниже подробного описания, рассматриваемого вместе с чертежами, на которых одинаковые символы ссылок определяют соответственно по всему документу и где:
Фиг.1 показывает блок-схему передатчика и приемника в системе MIMO, которая реализует передачу IR;
Фиг.2 показывает процесс для отправки и приема передачи IR в системе MIMO;
Фиг.3 показывает временную диаграмму, которая иллюстрирует передачу IR;
Фиг.4А показывает процессор передаваемых (TX) данных в передатчике;
Фиг.4В показывает турбокодер внутри процессора передаваемых данных;
Фиг.5 иллюстрирует обработку одного пакета данных процессором передаваемых данных;
Фиг. с 6А по 6D показывают четыре варианта осуществления пространственного процессора передачи в передатчике;
Фиг. 7A и 7B показывают демультиплексирование одного блока символов данных и двух блоков символов данных соответственно, для примерной системы MIMO-OFDM (мультиплексирование с ортогональным частотным разделением каналов);
Фиг.8А показывает один из вариантов осуществления приемника;
Фиг.8В показывает процессор принимаемых (RX) данных в приемнике на фиг. 8А;
Фиг.9А показывает приемник, который реализует итеративное обнаружение и декодирование; и
Фиг.9В показывает турбодекодер.
Подробное описание
Слово «примерный» используется в данном документе для обозначения «служащий в качестве примера, отдельного случая или иллюстрации». Любой вариант осуществления или проект, описанный в данном документе как «примерный», не обязательно должен быть истолкован как предпочтительный или выгодный по сравнению с другими вариантами осуществления или проектами.
S
P
T
P
S
P
Для системы MIMO с N пространственными каналами N пакетов данных могут быть переданы одновременно от N передающих антенн, где 1≤N≤N. Единая скорость может использоваться для всех пакетов данных, переданных одновременно, независимо от величины N. Использование единой скорости может упростить обработку как в передатчике, так и в приемнике в системе MIMO.
B
B
B
B
Фиг.1 показывает блок-схему передатчика 110 и приемника 150 в системе 100 MIMO, которая реализует передачу IR. На передатчике 110 процессор 120 передаваемых данных принимает пакеты данных от источника 112 данных. Процессор 120 передаваемых данных обрабатывает (например, форматирует, кодирует, разделяет, перемежает и модулирует) каждый пакет данных в соответствии со скоростью, выбранной для этого пакета, чтобы получить N блоков символов данных для пакета, где N > 1 и может зависеть от выбранной скорости. Выбранная скорость для каждого пакета данных может указывать скорость передачи данных, схему кодирования или скорость кода, схему модуляции, размер пакета, количество блоков символов данных и так далее для того пакета, который указан различными средствами управления, предоставляемыми контроллером 140. Для передачи IR N блоков символов данных для каждого пакета данных передают один блок за раз, пока пакет не декодирован правильно приемником 150, либо все N блоков символов данных переданы.
T
T
Пространственный процессор 130 передачи принимает блоки символов данных и выполняет необходимую обработку, чтобы передать каждый блок символов данных от всех N передающих антенн в одном временном интервале (или просто «интервале»). Интервал является заданным периодом времени для системы 100 MIMO. Пространственный процессор 130 передачи может выполнять демультиплексирование, пространственную обработку и так далее, как описано ниже. Для каждого интервала пространственный процессор 130 передачи обрабатывает один блок символов данных, мультиплексирует в контрольные символы (символы пилот-сигнала), как требуется, и предоставляет N передаваемых последовательностей символов модулю 132 передатчика (TMTR). Каждый передаваемый символ может быть предназначенным для символа данных или контрольного символа.
T
T
T
Модуль 132 передатчика принимает и приводит в нужное состояние (например, преобразует в аналоговый, преобразует с повышением частоты, фильтрует и усиливает) N передаваемых последовательностей символов, чтобы получить N модулированных сигналов. Каждый модулированный сигнал затем передается от соответствующей передающей антенны (не показана на фиг.1) и через канал MIMO к приемнику 150. Канал MIMO искажает N передаваемых сигналов с характеристикой канала
и дополнительно ухудшает передаваемые сигналы с помощью аддитивного белого гауссовского шума и возможного взаимного влияния от других передатчиков.
T
R
R
R
R
R
В приемнике 150 N передаваемых сигналов принимаются каждой из N приемных антенн (не показаны на фиг.1) и N принятых сигналов от N приемных антенн предоставляются модулю 154 приемника (RCVR). Модуль 154 приемника приводит в нужное состояние, оцифровывает и предварительно обрабатывает каждый принятый сигнал, чтобы получить последовательность принятых символов для каждого интервала. Модуль 154 приемника предоставляет N принятых последовательностей символов (для данных) пространственному процессору 160 приема и принятые контрольные символы (для контроля) блоку 172 оценки канала. Пространственный процессор 160 приема обрабатывает (например, обнаруживает и мультиплексирует) N принятых последовательностей символов для каждого интервала, чтобы получить обнаруженный блок символов, который является оценкой блока символов данных, отправленного передатчиком 110 для того интервала.
Процессор 170 принимаемых данных принимает все обнаруженные блоки символов, которые были приняты для восстанавливаемого пакета данных (то есть, «текущего» пакета), обрабатывает (например, демодулирует, обратно перемежает, перебирает и декодирует) эти обнаруженные блоки символов в соответствии с выбранной скоростью и предоставляет декодированный пакет, который является оценкой пакета данных, отправленного передатчиком 110. Процессор 170 принимаемых данных также предоставляет состояние декодированного пакета, которое указывает, безошибочно ли декодирован пакет или с ошибкой.
Блок 172 оценки канала обрабатывает принятые контрольные символы и/или принятые символы данных, чтобы получить оценки канала (например, оценки коэффициента усиления канала и оценки SNR) для канала MIMO. Селектор 174 скорости принимает оценки канала и выбирает скорость для следующего пакета данных, который необходимо передать приемнику 150. Контроллер 180 принимает выбранную скорость от селектора 174 скорости и состояние пакета от процессора 170 передаваемых данных и собирает информацию обратной связи для передатчика 110. Информация обратной связи может включать в себя выбранную скорость для следующего пакета, ACK или NAK для текущего пакета и так далее. Информация обратной связи обрабатывается пространственным процессором 190 передачи/процессором 190 передаваемых данных, дополнительно приводятся в нужное состояние модулем 192 передатчика и передаются через канал обратной связи передатчику 110.
В передатчике 110 переданный приемником 150 сигнал(ы) принимаются и приводятся в нужное состояние модулем 146 приемника и дополнительно обрабатываются пространственным процессором 148 приема/процессором 148 принимаемых данных, чтобы восстановить информацию обратной связи, отправленную приемником 150. Контроллер 140 принимает восстановленную информацию обратной связи, использует выбранную скорость для обработки следующего пакета данных, который необходимо отправить приемнику 150, и использует ACK/NAK для управления передачей IR текущего пакета.
Контроллеры 140 и 180 управляют функционированием в передатчике 110 и приемнике 150 соответственно. Модули 142 и 182 памяти предоставляют хранилище для программных кодов и данных, используемых контроллерами 140 и 180 соответственно. Модули 142 и 182 памяти могут быть внутренними по отношению к контроллерам 140 и 180, как показано на фиг.1, либо внешними по отношению к этим контроллерам. Блоки обработки, показанные на фиг.1, описываются подробно ниже.
B
B
T
B
Фиг.2 показывает блок-схему алгоритма процесса 200 для отправки и приема передачи IR в системе MIMO. В начале приемник оценивает канал MIMO на основе контрольных символов и/или символов данных, принятых от передатчика (этап 210). Приемник выбирает единую скорость для передачи данных по каналу MIMO на основе оценок канала и отправляет выбранную скорость передатчику (этап 212). Передатчик принимает выбранную скорость и кодирует пакет данных в соответствии с выбранной скоростью, чтобы получить кодированный пакет (этап 220). Затем передатчик разделяет кодированный пакет на N подпакетов, где N также может определяться выбранной скоростью, и затем обрабатывает каждый подпакет, чтобы получить соответствующий блок символов данных (также на этапе 220). Передатчик передает один блок символов данных за раз от N передающих антенн, пока все N блоков символов данных не передадутся, либо примется ACK от приемника для пакета данных (этап 222).
R
B
Приемник принимает каждый переданный блок символов данных через N приемных антенн (этап 230). Всякий раз, когда принимается новый блок символов данных, приемник обнаруживает и декодирует все блоки символов данных, которые были приняты для пакета данных (этап 232). Приемник также проверяет декодированный пакет, чтобы определить, безошибочно ли декодирован пакет (хороший), или с ошибкой (удален) (также этап 232). Если декодированный пакет удаляется, то приемник может отправить NAK обратно передатчику, который использует эту обратную связь, чтобы начать передачу следующего блока символов данных для пакета данных. В качестве альтернативы передатчик может отправить один блок символов данных за раз, пока не примется ACK от приемника, который может или может не отправить обратно NAK. Приемник прерывает обработку для пакета данных, если пакет декодирован безошибочно, либо если все N блоков символов данных приняты для пакета (этап 234).
Фиг.2 показывает определенный вариант осуществления для передачи IR в системе MIMO. Передача IR также может реализовываться другими методами, и это находится в пределах объема изобретения. Передача IR может реализовываться как в системах дуплекса с частотным разделением каналов (FDD), так и дуплекса с временным разделением каналов (TDD). Для системы FDD прямой канал MIMO и канал обратной связи используют разные полосы частот и вероятно соблюдают разные условия каналов. В этом случае приемник может оценить прямой канал MIMO и отправить обратно выбранную скорость, как показано на фиг.2. Для системы TDD прямой канал MIMO и канал обратной связи совместно используют одинаковую полосу частот, и вероятно соблюдают похожие условия каналов. В этом случае передатчик может оценить канал MIMO на основе контрольного сигнала, отправленного приемником, и использовать эту оценку канала для выбора скорости для передачи данных приемнику. Оценка канала и выбор скорости могут выполняться приемником, передатчиком либо обоими.
1
x
x
x
x
2
x
Фиг.3 иллюстрирует передачу IR в системе MIMO. Приемник оценивает канал MIMO, выбирает скорость r и отправляет выбранную скорость передатчику в интервале 0. Передатчик принимает выбранную скорость от приемника, обрабатывает пакет данных (Пакет 1) в соответствии с выбранной скоростью и передает первый блок символов данных (Блок 1) для пакета данных в интервале 1. Приемник принимает, обнаруживает и декодирует первый блок символов данных, определяет, что Пакет 1 декодирован с ошибкой, и отправляет обратно NAK в интервале 2. Передатчик принимает NAK и передает второй блок символов данных (Блок 2) для Пакета 1 в интервале 3. Приемник принимает Блок 2, обнаруживает и декодирует первые два блока символов данных, определяет, что Пакет 1 все еще декодирован с ошибкой, и отправляет обратно NAK в интервале 4. Передача блока и ответ NAK могут повторяться любое количество раз. В примере, показанном на фиг.3, передатчик принимает NAK для блока N-1 символов данных и передает блок N символов данных для Пакета 1 в интервале m, где N меньше либо равно общему количеству блоков для Пакета 1. Приемник принимает, обнаруживает и декодирует все N блоков символов данных, принятых для Пакета 1, определяет, что пакет декодирован безошибочно и отправляет обратно ACK в интервале m+1. Приемник также оценивает канал MIMO, выбирает скорость r для следующего пакета данных и отправляет выбранную скорость передатчику в интервал m+1. Передатчик принимает ACK для блока N символов данных и прерывает передачу Пакета 1. Передатчик также обрабатывает следующий пакет данных (Пакет 2) в соответствии с выбранной скоростью и передает первый блок символов данных (Блок 1) для Пакета 2 в интервале m+2. Обработка в передатчике и приемнике продолжается тем же образом для каждого пакета данных, переданного через канал MIMO.
Для варианта осуществления, показанного на фиг.3, существует задержка в один интервал для ответа ACK/NAK от приемника для каждого блока передачи. Для улучшения использования канала многочисленные пакеты данных могут передаваться чересстрочным методом. Например, пакеты данных для одного информационного канала могут передаваться в нечетных интервалах, и пакеты данных для другого информационного канала могут передаваться в четных интервалах. Более чем два информационных канала также могут чередоваться, если задержка ACK/NAK длиннее, чем один интервал.
Передатчик
1.
B
Фиг. 4А показывает блок-схему варианта осуществления процессора 120 передаваемых данных в передатчике 110. Процессор 120 передаваемых данных принимает пакеты данных, обрабатывает каждый пакет на основе его выбранной скорости и предоставляет N блоков символов данных для пакета. Фиг.5 иллюстрирует обработку одного пакета данных процессором 120 передаваемых данных.
В процессоре 120 передаваемых данных генератор 412 контроля циклическим избыточным кодом (CRC) принимает пакет данных, формирует значение CRC для пакета данных и прикрепляет значение CRC к концу пакета данных, чтобы образовать форматированный пакет. Значение CRC применяется приемником для проверки, декодирован ли пакет безошибочно или с ошибками. Другие коды обнаружения ошибок также могут использоваться вместо CRC. Кодер 414 прямого исправления ошибок (FEC) затем кодирует форматированный пакет в соответствии со схемой кодирования или скоростью кода, указанных выбранной скоростью, и предоставляет кодированный пакет или «кодовое слово». Кодирование увеличивает надежность передачи данных. Кодер 414 FEC может обеспечивать выполнение блочного кода, сверточного кода, турбокода, какого-либо иного кода или их сочетаний.
p1
p2
1
2
1
2
data
p1
p2
Фиг.4В показывает блок-схему параллельно связанного сверточного кодера 414а (или турбокодера), который может использоваться для кодера 414 FEC на фиг.4А. Турбокодер 414а включает в себя два составляющих сверточных кодера 452a и 452b, перемежитель 454 кода и мультиплексор 456 (MUX). Перемежитель 454 кода перемежает информационные биты в форматированном пакете (обозначенные как {d}) в соответствии со схемой кодового перемежения. Составляющий кодер 452а принимает и кодирует информационные биты с первым составляющим кодом и предоставляет первые биты контроля четности (обозначаемые как {c}). Подобным образом составляющий кодер 452b принимает и кодирует перемеженные информационные биты от перемежителя 454 кода со вторым составляющим кодом и предоставляет вторые биты контроля четности (обозначаемые как {c}). Составляющие кодеры 452a и 452b могут обеспечивать выполнение двух рекурсивных систематических составляющих кодов со скоростями R и R кода соответственно, где R может или может не быть равен R. Мультиплексор 456 принимает и мультиплексирует информационные биты и биты контроля четности от составляющих кодеров 452a и 452b и предоставляет кодированный пакет из битов кода (обозначаемых как {c}). Кодированный пакет включает в себя информационные биты {d}, которые также называются систематическими битами и обозначаются как {c}, сопровождаемые первыми битами {c} контроля четности, и затем сопровождаемые вторыми {c} битами контроля четности.
B
B
B
B
B
B
Возвращаясь к фиг.4А, модуль 416 разделения принимает и разделяет кодированный пакет на N кодированных подпакетов, где N может зависеть от выбранной скорости и указываться регулировкой разделения от контроллера 140. Первый кодированный подпакет обычно содержит все систематические биты и ноль или больше битов контроля четности. Это дает возможность приемнику восстанавливать пакет данных с помощью только первого кодированного подпакета при благоприятных условиях канала. Остальные N-1 кодированных подпакетов содержат оставшиеся первый и второй биты контроля четности. Каждый из этих N-1 кодированных подпакетов обычно содержит несколько первых битов контроля четности и несколько вторых битов контроля четности, с битами контроля четности, пересекающими весь пакет данных. Например, если N=8 и оставшиеся первый и второй биты контроля четности являются данными индексами, начинающимися с 0, то второй кодированный подпакет может содержать биты 0, 7, 14, … из оставшихся первого и второго битов контроля четности, третий кодированный подпакет может содержать биты 1, 8, 15, … из оставшихся первого и второго битов контроля четности, и так далее, и восьмой и последний кодированный подпакет может содержать биты 6, 13, 20, … из оставшихся первого и второго битов контроля четности. Улучшенная производительность декодирования может достигаться посредством кодирования с расширением спектра битов контроля четности параллельно остальным N-1 кодированным подпакетам.
B
B
B
B
B
Перемежитель 420 канала включает в себя N перемежителей 422а по 422nb блоков, который принимает N кодированных подпакетов от модуля 416 разделения. Каждый перемежитель 422 блоков перемежает (то есть, переупорядочивает) биты кода для их подпакета в соответствии со схемой перемежения и предоставляет перемеженный подпакет. Перемежение обеспечивает время, частоту и/или пространственное разнесение для битов кода. Мультиплексор 424 соединяется со всеми N перемежителями 422а по 422b блоков и предоставляет N перемеженных подпакетов, один подпакет за раз и если направлен регулировкой передачи IR от контроллера 140. В частности, мультиплексор 424 предоставляет перемеженный подпакет от перемежителя 422а блоков первым, затем перемеженный подпакет от перемежителя 422b блоков следующим, и так далее, и перемеженный подпакет от перемежителя 422nb блоков последним. Мультиплексор 424 предоставляет следующий перемеженный подпакет, если NAK принимается для пакета данных. Все N перемежителей 422а по 422b блоков могут быть очищены всякий раз, когда принимается ACK.
B
B
B
Модуль 426 преобразования символов принимает перемеженные подпакеты от перемежителя 420 канала и преобразует перемеженные данные в каждом подпакете в символы модуляции. Преобразование символов выполняется в соответствии со схемой модуляции указанной выбранной скоростью. Преобразование символов может достигаться посредством (1) группирования множеств из B битов для образования В-разрядных двоичных значений, где B≥1, и (2) преобразования каждого В-разрядного двоичного значения в точку на сигнальном созвездии, имеющем 2 точек. Это сигнальное созвездие соответствует выбранной схеме модуляции, которая может быть BPSK (двухпозиционная фазовая манипуляция), QPSK (квадратурная фазовая манипуляция), 2-PSK (фазовая манипуляция), 2-QAM (квадратурная амплитудная модуляция) и так далее. Как использовано в данном документе, «символ данных» является символом модуляции для данных, и «контрольный символ» является символом модуляции для контроля. Модуль 426 преобразования символов предоставляет блок символов данных для каждого кодированного подпакета, как показано на фиг.5.
B
SYM
1
2
i
SYM
i
i
i
i,1
i,2
i,B
b
b
Для каждого пакета данных процессор 120 передаваемых данных предоставляет N блоков символов данных, которые вместе включают в себя N символов данных и могут обозначаться как {s}=[s s …
]. Каждый символ s данных, где i=1 … N, получается посредством преобразования B битов кода следующим образом: s=map (), где =[b b … b].
F
Методики передачи IR, описанные в этом документе, могут реализовываться в системе MIMO с единственной несущей, которая использует одну несущую для передачи данных, и в мультинесущей системе MIMO, которая использует множественные несущие для передачи данных. Множественные несущие могут обеспечиваться мультиплексированием с ортогональным частотным разделением каналов (OFDM), другими мультинесущими методиками модуляции или какими-нибудь другими конструкциями. OFDM эффективно разделяет общую полосу пропускания системы на множество (N) ортогональных поддиапазонов, которые также обычно называются тонами, элементами разрешения или частотными каналами. С OFDM каждый поддиапазон ассоциативно связывается с соответствующей несущей, которая может модулироваться с данными.
s
T
R
T
Обработка, выполняемая пространственным процессором 130 передачи и модулем 132 передатчика в передатчике 110, зависит от того, передаются ли один или множество пакетов данных одновременно и используются ли одна или множество несущих для передачи данных. Некоторые примерные образцы для этих двух модулей описываются ниже. Для простоты последующее описание предполагает полноранговый канал MIMO с N=N≤N. В этом случае один символ модуляции может передаваться от каждой из N передающих антенн для каждого поддиапазона в каждом периоде символа.
T
T
T
T
Фиг.6А показывает блок-схему пространственного процессора 130а передачи и модуля 132а передатчика, которые могут использоваться для передачи IR одного пакета за раз в системе MIMO с единственной несущей. Пространственный процессор 130а передачи включает в себя мультиплексор/демультиплексор 610 (MUX/DEMUX), который принимает блок символов данных и демультиплексирует символы данных в блоке на N подблоков для N передающих антенн. Мультиплексор/демультиплексор 610 также мультиплексирует контрольные символы (например, методом мультиплексирования с временным разделением (TDM)) и предоставляет N передаваемых последовательностей символов для N передающих антенн. Каждая передаваемая последовательность символов предназначена для передачи от одной передающей антенны в одном интервале. Каждый передаваемый символ может быть предназначенным для символа данных или контрольного символа.
T
T
T
T
Модуль 132а передатчика включает в себя N передающих радиочастотных модулей 652а по 652t для N передающих антенн. Каждый передающий радиочастотный модуль 652 принимает и приводит в нужное состояние соответствующую передаваемую последовательность символов от пространственного процессора 130а передачи, чтобы сформировать модулированный сигнал. N модулированных сигналов от передающих радиочастотных модулей 652а по 652t передаются от N передающих антенн 672a по 672t соответственно.
P
P
S
P
Фиг.6В показывает блок-схему пространственного процессора 130b передачи и модуля 132а передатчика, которые могут использоваться для передачи IR множественных пакетов одновременно в системе MIMO с единственной несущей. Пространственный процессор 130b включает в себя модуль 620 матричного умножения, который принимает N блоков символов данных для передачи в одном интервале, где 1≤N≤N. Модуль 620 выполняет перемножение матриц символов данных в N блоках с матрицей базиса передачи и диагональной матрицей следующим образом:
<maths num="3"><img file="00000003.tif" he="5" wi="16" img-content="undefined" img-format="tif" /></maths>
(1)
T
где
есть вектор {N×1} данных;
T
есть заранее оговоренный вектор {N×1} данных;
T
T
есть матрица {N×N} базиса передачи, которая является унитарной матрицей; и
T
T
есть диагональная матрица {N×N}.
T
T
P
P
P
T
P
T
T
T
T
P
P
ant
T
T
P
tot
Вектор
включает в себя N элементов для N передающих антенн с N элементами, устанавливаемыми в N символов данных из N блоков, и остающиеся N-N элементы, устанавливаемые в ноль. Вектор
включает в себя N элементов для N заранее оговоренных символов, которые необходимо отправить от N передающих антенн в одном периоде символов. Матрица
базиса передачи позволяет отправить каждый блок символов данных от всех N передающих антенн. Это дает возможность всем N блокам символов данных испытывать схожие условия канала и дополнительно позволяет использоваться единой скорости для всех N пакетов данных. Матрица
также позволяет полной мощности P каждой передающей антенны быть использованной для передачи данных. Матрица
может быть определена как
, где
есть матрица Адамара - Уолша (Walsh-Hadamard). Матрица
также может быть определена как
, где
есть матрица дискретного преобразования Фурье (DFT) с (k,i)-ым элементом, определенным как
, где m есть индекс ряда и n есть индекс столбца для матрицы
, с m=1 … N и n=1 … N. Диагональная матрица
может использоваться для распределения различных мощностей передачи на N блоков символов данных, соответствующих общему ограничению P мощности передачи для каждой передающей антенны. «Эффективная» характеристика канала, наблюдаемая приемником, тогда равна
. Эта схема передачи описывается более подробно в Патентной заявке США номер 10/367,234, озаглавленной «Rate Adaptive Transmission Scheme for MIMO Systems» (Схема передачи с адаптивной скоростью передачи для систем MIMO), зарегистрированной 14 февраля 2003 г.
T
T
T
T
Мультиплексор 622 принимает заранее оговоренные символы от модуля 620 матричного умножения, мультиплексирует контрольные символы и предоставляет N передаваемых последовательностей символов для N передающих антенн. Модуль 132а передатчика принимает и приводит в нужное состояние N передаваемых последовательностей символов и формирует N модулированных сигналов.
T
T
Фиг.6С показывает блок-схему пространственного процессора 130а передачи и модуля 132b передатчика, которые могут использоваться для передачи IR одного пакета за раз в системе MIMO-OFDM. В пространственном процессоре 130а передачи мультиплексор/демультиплексор 610 принимает и демультиплексирует символы данных, мультиплексирует контрольные символы и предоставляет N передаваемых последовательностей символов для N передающих антенн.
T
T
T
F
F
F
F
F
F
cp
cp
Модуль 132b передатчика включает в себя N модуляторов 660а по 660t OFDM и N передающих радиочастотных модулей 666а по 666t для N передающих антенн. Каждый модулятор 660 OFDM включает в себя модуль 662 обратного быстрого преобразования Фурье (IFFT) и генератор 664 цикличных префиксов. Каждый модулятор 660 OFDM принимает соответствующую передаваемую последовательность символов от пространственного процессора 130а передачи и группирует каждое множество из N передаваемых символов и значения сигнала нуля для N поддиапазонов. (Поддиапазоны, не использованные для передачи данных, заполняются нулями). Модуль 662 IFFT преобразует каждое множество N передаваемых символов и нулей во временную область, используя N-точечное обратное быстрое преобразование Фурье, и предоставляет соответствующий преобразованный символ, который содержит N символов шумоподобной последовательности. Генератор 664 цикличных префиксов повторяет часть каждого преобразованного символа, чтобы получить соответствующий символ OFDM, который содержит N+N символов шумоподобной последовательности. Повторенная часть называется цикличным префиксом, и N указывает количество повторяемых символов шумоподобной последовательности. Циклический префикс гарантирует, что символ OFDM сохраняет свои ортогональные свойства при наличии многолучевого разброса задержек, вызванного избирательным затуханием частоты (то есть, частотной характеристикой, которая неравномерна). Генератор 664 цикличных префиксов предоставляет последовательность символов OFDM для последовательности передаваемых символов, которая дополнительно приведена в нужное состояние посредством ассоциативно связанного передающего радиочастотного модуля 666, чтобы сформировать модулированный сигнал.
T
F
1
2
N
1
4
5
8
Фиг.7А показывает демультиплексирование блока символов данных для примерной системы MIMO-OFDM с четырьмя передающими антеннами (N=4) и 16 поддиапазонами (N=16). Блок символов данных может обозначаться как {s}=[s s … s]. Для варианта осуществления, показанного на фиг. 7А, демультиплексирование выполняется так, что первые четыре символа s по sданных в блоке отправляются в поддиапазоне 1 передающих антенн с 1 по 4 соответственно, следующие четыре символа s по sданных отправляются в поддиапазоне 2 передающих антенн с 1 по 4 соответственно, и так далее.
P
P
S
T
T
Фиг.6D показывает блок-схему пространственного процессора 130c передачи и модуля 132b передатчика, которые могут использоваться для передачи IR множественных пакетов одновременно в системе MIMO-OFDM. В пространственном процессоре 130с передачи мультиплексор/демультиплексор 630 принимает N блоков символов данных, где 1≤N≤N, и предоставляет символы данных в каждом блоке различным поддиапазонам и различным передающим антеннам, как проиллюстрировано ниже. Мультиплексор/демультиплексор 630 также мультиплексирует контрольные символы и предоставляет N передаваемых последовательностей символов для N передающих антенн.
p
T
F
1,1
1,2
1,3
1,4
1,5
1,6
1,7
1,8
2,1
2,2
2,3
2,4
2,5
2,6
2,7
2,8
F
Фиг.7B показывает вариант осуществления демультиплексирования/демультиплексирования двух блоков символов данных (N=2) для примерной системы MIMO-OFDM с четырьмя передающими антеннами (N=4) и 16 поддиапазонами (N=16). Для первого блока символов данных первые четыре символа s, s, s и s данных передаются по 1, 2, 3 и 4 поддиапазонам, соответственно, передающих антенн 1, 2, 3 и 4, соответственно. Следующие четыре символа s, s, s и s данных оборачиваются и передаются по 5, 6, 7 и 8 поддиапазонам, соответственно, передающих антенн 1, 2, 3 и 4, соответственно. Для второго блока символов данных первые четыре символа s, s, s и s данных передаются по 1, 2, 3 и 4 поддиапазонам, соответственно, передающих антенн 3, 4, 1 и 2, соответственно. Следующие четыре символа s, s, s и s данных оборачиваются и передаются по 5, 6, 7 и 8 поддиапазонам, соответственно, передающих антенн 3, 4, 1 и 2, соответственно. Для варианта осуществления, показанного на фиг.7В, множество Nзначений частотной области для каждой передающей антенны для каждого периода символов включает в себя символы передачи для некоторых поддиапазонов и нули для других поддиапазонов.
F
T
P
S
Фиг.7В показывает передачу двух блоков символов данных одновременно через N поддиапазонов и N передающих антенн. Вообще, любое количество блоков символов данных может передаваться одновременно через поддиапазоны и передающие антенны. Например, один, два, три или четыре блока символов данных могут передаваться одновременно на фиг.7В. Однако количество блоков символов данных, которое может надежно предаться одновременно, зависит от ранга канала MIMO, так что N следует быть меньше либо равным N. Схема передачи, показанная на фиг.7В, предусматривает простую адаптацию передачи различного количества блоков символов данных одновременно, на основе ранга канала MIMO.
T
P
Для варианта осуществления, показанного на фиг.7В, каждый блок символов данных передается диагонально через NF поддиапазонов и от всех N передающих антенн. Это обеспечивает как частотное, так и пространственное разнесение для всех N блоков символов данных, передаваемых одновременно, которые позволяют использовать единую скорость для всех пакетов данных. Однако различные скорости также могут использоваться для различных пакетов данных, передаваемых одновременно. Использование различных скоростей может обеспечивать лучшую характеристику для некоторых приемников, таких как, например, линейный приемник, который не обеспечивает выполнение схемы IDD. Передача IR многочисленных пакетов данных с различными скоростями одновременно описывается в Патентной заявке США номер 10/785,292, озаглавленной «Incremental Redundancy Transmission for Multiple Parallel Channels in a MIMO Communication System» (Передача с инкрементальной избыточностью для множественных параллельных каналов в системе связи MIMO), зарегистрированной 23 февраля 2004 г.
F
ant
Мультиплексирование/демультиплексирование также может выполняться другими методами при достижении как частотного, так и пространственного разнесения. Например, мультиплексирование/демультиплексирование может быть таким, что все N поддиапазонов каждой передающей антенны используются для перенесения передаваемых символов. Поскольку полная мощность каждой передающей антенны ограничивается P, количество мощности передачи, доступное для каждого символа передачи, зависит от количества поддиапазонов, переносящих символы передачи.
T
T
Возвращаясь обратно к фиг.6D, модуль 132b передатчика принимает и приводит в нужное состояние N передаваемых последовательностей символов от пространственного процессора 130с передачи и формирует N модулированных сигналов.
Приемник
2.
R
T
R
R
F
F
R
R
Фиг.8А показывает блок-схему приемника 150а, которая является одним из вариантов осуществления приемника 150 на фиг. 1. В приемнике 150а N приемных антенн 810а по 810r принимают Nмодулированных сигналов, переданных передатчиком 110, и предоставляют N принятых сигналов N принимающим радиочастотным модулям 812а по 812r соответственно, в модуле 154 приемника. Каждый принимающий радиочастотный модуль 812 приводит в нужное состояние и оцифровывает свой принятый сигнал и предоставляет поток символов/символов шумоподобной последовательности. Для системы MIMO с единственной несущей демодуляторы 814а по 814r OFDM не нужны, и каждый принимающий радиочастотный модуль 812 предоставляет поток символов соответствующему демультиплексору 816 непосредственно. Для системы MIMO-OFDM каждый принимающий радиочастотный модуль 812 предоставляет поток символов шумоподобной последовательности соответствующему демодулятору 814 OFDM. Каждый демодулятор 814 OFDM выполняет демодуляцию OFDM на его потоке символов шумоподобной последовательности посредством (1) удаления цикличного префикса в каждом принятом символе OFDM, чтобы получить принятый преобразованный символ, и (2) преобразования каждого принятого преобразованного символа к частотной области с помощью быстрого преобразования Фурье (FFT), чтобы получить N принятых символов для N поддиапазонов. Для обеих систем демультиплексоры 816а по 816r принимают N потоков символов от принимающих радиочастотных модулей 812 или демодуляторов 814 OFDM, предоставляют N принятых последовательностей символов (для данных) для каждого интервала пространственному процессору 160а приема, и предоставляют принятые контрольные символы блоку 172 оценки канала.
R
T
Пространственный процессор 160а приема включает в себя детектор 820 и мультиплексор 822. Детектор 820 выполняет пространственную либо пространственно-временную обработку (или «обнаружение») на N принятых последовательностях символов, чтобы получить N обнаруженных последовательностей символов. Каждый обнаруженный символ является оценкой символа данных, переданного передатчиком. Детектор 820 может реализовать детектор объединения с максимальным отношением (MRC), линейный детектор обращения в нуль (ZF) незначащих коэффициентов (который также называет детектором обращения матрицы корреляции канала (CCMI)), детектор минимальной среднеквадратической ошибки (MMSE), линейный корректор MMSE (MMSE-LE), корректор с решающей обратной связью (DFE) или какой-либо другой детектор/корректор. Обнаружение может выполняться на основе оценки матрицы
характеристик канала, если пространственная обработка не выполняется на передатчике. В альтернативном варианте осуществления обнаружение может выполняться на основе эффективной матрицы
оценки канала, если символы данных заранее перемножаются с матрицей
базиса передачи на передатчике для системы MIMO с единственной несущей. Для простоты последующее описание предполагает, что матрица
базиса передачи не использовалась. Модель для системы MIMO-OFDM может выражаться как:
<maths num="26"><img file="00000015.tif" he="5" wi="36" img-content="undefined" img-format="tif" /></maths>
, для k=1 … N<sub>F</sub>
(2)
T
T
T
T
где
есть вектор {N×1} данных с N элементами для N символов данных, переданных от N передающих антенн по поддиапазону k;
R
R
R
R
есть вектор {N×1} приема с N элементами для N принятых символов, полученных через N приемных антенн по поддиапазону k;
R
T
есть матрица {N×N} характеристик канала для поддиапазона k; и
есть вектор аддитивного белого гауссовского шума (AWGN).
Вектор
предполагается имеющем нулевое значение, и ковариационная матрица
, где
есть дисперсия шума, и  I есть единичная матрица с единичками по диагонали и нулями где-либо еще.
T
T
Для системы MIMO-OFDM приемник выполняет обнаружение раздельно для каждого из поддиапазонов, используемых для передачи данных. Следующее описание предназначено для одного поддиапазона, и для простоты индекс k диапазона опускается в математическом выводе. Следующее описание также применимо для системы MIMO с единственной несущей. Для простоты предполагается, что вектор
включает в себя N символов данных, отправленных от N передающих антенн.
Пространственная обработка посредством детектора MRC может выражаться как:
<maths num="35"><img file="00000023.tif" he="7" wi="22" img-content="undefined" img-format="tif" /></maths>
(3)
где
есть характеристика детектора MRC, которая равна
;
T
есть вектор {N×1} обнаруженных символов для детектора MRC; и
H
“” обозначает сопряженное транспонирование.
R
Обнаруженный символ для передающей антенны i может выражаться как
, где
есть i-й столбец
, и задается как
, где
есть вектор характеристики канала между передающей антенной i и N приемными антеннами.
Пространственная обработка посредством детектора MMSE может выражаться как:
<maths num="44"><img file="00000031.tif" he="7" wi="27" img-content="undefined" img-format="tif" /></maths>
(4)
где
для детектора MMSE. Характеристика детектора MMSE для передающей антенны i может выражаться как
.
Пространственная обработка посредством детектора обращения в нуль незначащих коэффициентов может выражаться как:
<maths num="47"><img file="00000034.tif" he="7" wi="19" img-content="undefined" img-format="tif" /></maths>
(5)
где
для детектора обращения в нуль незначащих коэффициентов. Характеристика детектора обращения в нуль незначащих коэффициентов для передающей антенны i может выражаться как
.
T
T
T
T
T
P
Для каждого интервала детектор 820 предоставляет N обнаруженных последовательностей символов, которые соответствуют N элементам
. Мультиплексор 822 принимает N обнаруженных последовательностей символов от детектора 820 и выполняет обработку дополнительно к выполненной пространственным процессором 130 передаче на передатчике. Если только один блок символов данных передается в каждом интервале, как для пространственного процессора 130а передачи на фиг. 6А и 6С, то мультиплексор 822 мультиплексирует обнаруженные символы в N последовательностях в один обнаруженный блок символов. Если многочисленные блоки символов данных передаются в каждом интервале, как для пространственных процессоров 130а и 130с передачи на фиг. 6В и 6D соответственно, то мультиплексор 822 мультиплексирует и демультиплексирует обнаруженные символы в N последовательностях в N обнаруженных блоках символов (не показаны на фиг.8А). В любом случае, каждый обнаруженный блок символов является оценкой блока символов данных, переданного передатчиком.
Блок 172 оценки канала оценивает матрицу
характеристик канала для канала MIMO и минимальный уровень шума в приемнике (например, на основе принятых контрольных символов) и предоставляет оценки канала контроллеру 180. В контроллере 180 модуль 176 вычисления матриц выводит характеристику
детектора (которая может быть
,
или
) на основе оцененной матрицы характеристик канала, как описано выше, и предоставляет характеристику детектора детектору 820. Детектор 820 предварительно перемножает вектор
принятых символов с характеристикой
детектора, чтобы получить вектор
обнаруженных символов. Селектор 174 скорости (который реализуется контроллером 180 для варианта осуществления приемника, показанного на фиг.8А) выполняет выбор скорости на основе оценок канала, как описано ниже. Таблица 184 поиска (LUT) хранит множество скоростей, поддерживаемых системой MIMO, и множество значений параметра, ассоциативно связанных с каждой скоростью (например, скорость передачи данных, размер пакета, схема кодирования или скорость кода, схема модуляции и так далее для каждой скорости). Селектор 174 скорости обращается к LUT 184 за информацией, используемой для выбора скорости.
B
Фиг.8В показывает блок-схему процессора 170а принимаемых данных, который является одним из вариантов осуществления процессора 170 принимаемых данных на фиг.1 и 8А. В процессоре 170а принимаемых данных модуль 830 восстановления символов принимает обнаруженные блоки символов от пространственного процессора 160а приема, один блок за раз. Для каждого обнаруженного блока символов модуль 830 восстановления символов демодулирует обнаруженные символы в соответствии со схемой модуляции, используемой для того блока (как указано регулировкой демодуляции от контроллера 180), и предоставляет демодулированный блок данных обращенному перемежителю 840 канала. Обращенный перемежитель 840 канала включает в себя демультиплексор 842 и N обратных перемежителей 844a по 844nb блоков. До приема нового пакета данных обратные перемежители 844а по 844nb блоков инициализируются стираниями. Стиранием является значение, которое заменяет на отсутствующий бит кода (то есть, один еще не принятый) и задающее соответствующий вес в процессе декодирования. Мультиплексор 842 принимает демодулированные блоки данных от модуля 830 восстановления символов и предоставляет каждый демодулированный блок данных надлежащему обращенному перемежителю 844 блоков. Каждый обращенный перемежитель 844 блоков обратно перемежает демодулированные данные в их блоке способом, дополнительным к перемежению, выполняемому на передатчике для того блока. Если перемежение зависит от выбранной скорости, то контроллер 180 предоставляет регулировку обращенного перемежения, чтобы блокировать обращенные перемежители 844, как указывается пунктирной линией.
Когда бы ни принимался новый блок символов данных от передатчика для пакета данных, декодирование выполняется заново на всех блоках, принятых для того пакета. Модуль 848 повторной сборки образует пакет обратно перемеженных данных для последующего декодирования. Обратно перемеженный пакет данных содержит (1) обратно перемеженные блоки данных для всех блоков символов данных, принятых для текущего пакета, и (2) стирания для блоков символов данных, не принятых для текущего пакета. Модуль 848 повторной сборки выполняет повторную сборку методом, дополнительным к разделению, выполненному передатчиком, как указывается регулировкой повторной сборки от контроллера 180.
Декодер 850 исправления расширенного кода ошибки (ЕЕС) декодирует обратно перемеженный пакет данных способом, дополнительным к кодированию FEC (прямое исправление ошибок), выполненному на передатчике, как указывается регулировкой декодирования от контроллера 180. Например, турбодекодер либо декодер Витерби (Viterbi) могут использоваться для декодера 850 FEC, если турбо- или сверточное кодирование соответственно выполняется на передатчике. Декодер 850 FEC предоставляет декодированный пакет для текущего пакета. Проверочное устройство 852 CRC проверяет декодированный пакет, чтобы определить, безошибочно ли декодирован пакет или с ошибкой, и предоставляет состояние декодированного пакета.
data
p1
p2
Фиг.9А показывает блок-схему приемника 150b, которая является другим вариантом осуществления приемника 150 на фиг.1. Приемник 150b реализует схему итеративного обнаружения и декодирования (IDD). Для простоты, схема IDD описывается ниже для схемы кодирования, показанной на фиг.4В и 5, которая кодирует пакет данных на три части - систематические биты {c}, первые биты {c} контроля четности и вторые биты {c} контроля четности.
dd
dd
Приемник 150b включает в себя детектор 920 и декодер 950 FEC, которые выполняют итеративное обнаружение и декодирование на принятых символах для пакета данных, чтобы получить декодированный пакет. Схема IDD пользуется возможностями по исправлению ошибок кода канала, чтобы обеспечить улучшенную характеристику. Это достигается посредством итеративного прохождения априорной информации между детектором 920 и декодером 950 FEC в течение N итераций, где N>1 как описано ниже. Априорная информация указывает правдоподобие переданных битов.
R
R
T
Приемник 150b включает в себя пространственный процессор 160b приема и процессор 170b принимаемых данных. Внутри пространственного процессора 160b приема буфер 918 принимает и сохраняет N принятых последовательностей символов, предоставленных модулем 154 приемника для каждого интервала. Когда бы ни принимался новый блок символов данных от передатчика для пакета данных, итеративное обнаружение и декодирование выполняется заново (то есть, с начала) на всех принятых символах для всех блоков, принятых для того пакета. Детектор 920 выполняет пространственную обработку или обнаружение на N принятых последовательностях символов для каждого принятого блока и предоставляет N обнаруженных последовательностей символов для этого блока. Детектор 920 может реализовать детектор MRC, детектор обращения в нуль незначащих коэффициентов, детектор MMSE или какой-либо другой детектор/корректор. Для простоты, ниже описывается обнаружение с детектором MMSE.
Для детектора MMSE с итеративным обнаружением и декодированием, обнаруженный символ
для передающей антенны i может выражаться:
<maths num="60"><img file="00000043.tif" he="7" wi="22" img-content="undefined" img-format="tif" /></maths>
, для i=1 … N,
(6)
где
и
выводятся на основе критерия MMSE, который может выражаться как:
<maths num="63"><img file="00000046.tif" he="10" wi="43" img-content="undefined" img-format="tif" /></maths>
(7)
Решения к оптимизационной задаче, поставленной в равенстве (7), могут выражаться как:
<img file="00000047.tif" he="8" wi="45" img-content="undefined" img-format="tif" />, и
(8)
<maths num="64"><img file="00000048.tif" he="7" wi="17" img-content="undefined" img-format="tif" /></maths>
(9)
с <maths num="65"><img file="00000049.tif" he="7" wi="18" img-content="undefined" img-format="tif" /></maths>
,
(10)
<maths num="66"><img file="00000050.tif" he="15" wi="72" img-content="undefined" img-format="tif" /></maths>
, и
(11)
<maths num="67"><img file="00000051.tif" he="6" wi="22" img-content="undefined" img-format="tif" /></maths>
,
(12)
где есть i-й столбец матрицы
характеристик канала;
равен
с установленным в нуль i-м столбцом;
T
есть вектор {(N-1)×1}, полученный посредством удаления i-ого элемента
;
есть ожидаемые значения элементов вектора ; и
есть ковариационная матрица вектора
.
Матрица
является векторным проигрышем энергии вектора
характеристик канала для передающей антенны i.
Матрица
является ковариационной матрицей взаимного влияния на передающую антенну i. Вектор
является ожидаемым значением взаимного влияния на передающую антенну i.
Равенство (6) может быть упрощено как:
<maths num="80"><img file="00000062.tif" he="5" wi="21" img-content="undefined" img-format="tif" /></maths>
для i=1 … N<sub>T</sub>,
(13)
где
и  есть выборка гауссова шума с нулевым значением и дисперсией
. Выборка гауссова шума
предполагает, что взаимное влияние от других передающих антенн является гауссовым после детектора MMSE.
В последующем описании верхний индекс n означает n-ю итерацию обнаружения/декодирования, и нижний индекс m обозначает m-й блок символов данных, принятый для текущего восстанавливаемого пакета. Для первой итерации (то есть, n=1) обнаружение основывается исключительно на принятых символах, поскольку нет априорной информации, доступной от декодера FEC. Отсюда допускаются биты, с равной вероятностью являющиеся '1' либо '0'. В этом случает, равенство (8) уменьшается до линейного детектора MMSE, который может задаваться как
. Для каждой последующей итерации (то есть, n>1) априорная информация, предоставляемая декодером FEC, используется детектором. Так как количество итераций увеличивается, взаимное влияние уменьшается, и детектор стремится к детектору MRC, который достигает полного разнесения.
R
T
T
Для каждого блока символов данных, принятых для текущего пакета, детектор 920 на фиг.9А выполняет обнаружение на N принятых последовательностях символов для того блока, и предоставляет N обнаруженных последовательностей символов. Мультиплексор 922 мультиплексирует обнаруженные символы в N последовательностях, чтобы получить обнаруженный блок символов, который предоставляется процессору 170b принимаемых данных. Обнаруженный блок символов, полученный на n-й итерации обнаружения/декодирования для m-ого блока символов данных, обозначается как .
b
i
i,1
i,2
i,B
В процессоре 170b принимаемых данных модуль 930 логарифмического отношения правдоподобия (LLR) принимает обнаруженные символы от пространственного процессора 160b приема и вычисляет LLR B битов кода для каждого обнаруженного символа. Каждый обнаруженный символ  является оценкой символа
данных, которая получается посредством преобразования B битов кода =[b b … b] в точку на сигнальном созвездии. LLR для j-го бита обнаруженного символа  может выражаться как:
<maths num="86"><img file="00000071.tif" he="15" wi="51" img-content="undefined" img-format="tif" /></maths>
,
(14)
где  есть j-ый бит для обнаруженного символа ;
есть вероятность обнаруженного символа  с битом  являться 1;
есть вероятность обнаруженного символа  с битом  являться -1 (то есть, '0');
и
есть LLR бита .
LLR {
} представляют априорную информацию, предоставленную детектором декодеру FEC, и называется также, как и LLR детектора.
Для простоты перемежение предполагается таким, чтобы B битов для каждого обнаруженного символа  являлись независимыми. Равенство (14) тогда может выражаться как:
<maths num="90"><img file="00000077.tif" he="28" wi="94" img-content="undefined" img-format="tif" /></maths>
(15)
где
есть множество точек в сигнальном созвездии, чей j-й бит равен q,
s есть символ модуляции или оцениваемая точка в множестве
(то есть, «гипотетический» символ);
есть коэффициент усиления для передающей антенны i и определяется выше;
есть дисперсия выборки гауссова шума
для обнаруженного символа ;
есть множество B битов для гипотетического символа s;
(j) равен
, с удаленным j-м битом;
есть множество LLR, полученных от декодера FEC для B битов гипотетического символа s;
(j) равен
с декодером LLR для удаленного j-го бита (то есть,
); и
T
"" обозначает транспонирование.
Декодер LLR для (i, j)-ого бита может выражаться как:
<maths num="103"><img file="00000086.tif" he="15" wi="46" img-content="undefined" img-format="tif" /></maths>
,
(16)
где
есть вероятность бита  являться 1; и
есть вероятность бита  являться -1.
Для первой итерации (n=l) все элементы
(j) устанавливаются в нули, чтобы обозначать равную вероятность каждого бита быть 1 или -1, так как нет априорной информации, доступной для бита. Для каждой последующей итерации элементы
(j) вычисляются на основе «гибких» значений для битов из декодера FEC. Модуль 930 вычисления LLR предоставляет LLR для битов кода каждого обнаруженного символа, принятого от пространственного процессора 160b приема. Блок LLR, полученный на n-й итерации обнаружения/декодирования для m-ого блока символов данных, обозначается как
.
Обращенный перемежитель 940 канала принимает и обратно перемежает каждый блок LLR от модуля 930 вычисления LLR, и предоставляет обратно перемеженные LLR для блока. Модуль 948 повторной сборки формирует пакет LLR, который содержит (1) блоки обратно перемеженных LLR от обращенного перемежителя 940 канала для всех блоков символов данных, принятых от передатчика, и (2) блоки нулевых LLR для непринятых блоков символов данных. Пакет LLR для n-й итерации обнаружения/декодирования обозначается как
. Декодер 950 FEC принимает и декодирует пакет LLR от модуля 948 повторной сборки, как описано ниже.
Фиг.9В показывает блок-схему турбодекодера 950а, который может применяться для декодеров 950 и 850 FEC на фиг.9А и 8В соответственно. Турбодекодер 950а выполняет итеративное декодирование для параллельно связанного сверточного кода, например как показанного на фиг.4В.
В турбодекодере 950а демультиплексор 952 принимает и демультиплексирует пакет
LLR от модуля 948 повторной сборки (который также обозначается как входные LLR) на информационный бит
LLR, первый бит
контроля четности LLR и второй бит
контроля четности LLR. Декодер 954а с гибким входом/гибким выходом (SISO) принимает информационный бит
LLR и первый бит
контроля четности LLR от демультиплексора 952, и обратно перемеженный информационный бит
LLR от обращенного перемежителя 958 кода. Декодер 954а SISO затем извлекает новые LLR для данных и первых битов
и
контроля четности на основе первого составляющего сверточного кода. Перемежитель 956 кода перемежает информационный бит
LLR в соответствии со схемой кодового перемежения, используемой на передатчике, и предоставляет перемеженный информационный бит
LLR. Подобным образом декодер 954b SISO принимает информационный бит
LLR и второй бит
контроля четности от демультиплексора 952 и перемеженный информационный бит
LLR от кодового перемежителя 956. Декодер 954b SISO затем извлекает новые LLR для данных и вторых битов
и
контроля четности на основе второго составляющего сверточного кода. Обращенный перемежитель 958 кода обратно перемежает информационный бит
LLR дополнительным способом по отношению к кодовому перемежению и предоставляет обратно перемеженный информационный бит
LLR. Декодеры 954а и 954b SISO могут реализовывать максимально апостериорный (МАР) алгоритм BCJR SISO либо его производные меньшей сложности, алгоритм гибкого выхода Витерби (Viterbi) или какой-либо другой алгоритм декодирования, которые известны в данной области техники.
dec
dec
dec
Декодирование декодерами 954а и 954b SISO повторяется N раз для текущей итерации n обнаружения/декодирования, где N ≥ 1. После того как будут завершены все N итераций декодирования, сумматор/мультиплексор 960 принимает итоговый информационный бит
LLR и итоговый первый бит
контроля четности от декодера 954а SISO, обратно перемеженный итоговый информационный бит
LLR от обращенного перемежителя 958 кода, и итоговый второй бит
контроля четности LLR от декодера 954b SISO. Сумматор/мультиплексор 960 затем вычисляет LLR  декодера для следующей итерации n+1 обнаружения/декодирования следующим образом:
. LLR  декодера соответствуют
в равенстве (16) и представляют априорную информацию, предоставляемую детектору декодером FEC.
dd
После того как все N итераций обнаружения/декодирования завершены, сумматор/мультиплексор 960 вычисляет итоговый информационный бит
LLR следующим образом:
, где
есть информационный бит LLR, предоставленный модулем 930 вычисления LLR для последней итерации обнаружения/декодирования. Двусторонний ограничитель 962 ограничивает итоговый информационный бит
LLR и предоставляет декодированный пакет
для восстанавливаемого пакета. Проверочное устройство 968 CRC проверяет декодированный пакет и предоставляет состояние пакета.
Возвращаясь обратно к фиг.9А, LLR  декодера от декодера 950 FEC перемежаются перемежителем 970 канала, и перемеженные LLR декодера предоставляются детектору 920. Детектор 920 извлекает новые обнаруженные символы  на основе принятых символов
и LLR  декодера. LLR  декодера используются для вычисления (а) ожидаемого значения взаимного влияния (то есть
), которое используется для получения
в равенстве (12), и (b) дисперсии взаимного влияния (то есть
), которая используется для получения
в равенстве (11).
dd
Обнаруженные символы  для всех принятых блоков символов данных от пространственного процессора 160а приема снова декодируются процессором 170b принимаемых данных, как описано выше. Процесс обнаружения и декодирования повторяется N раз. Во время итеративного процесса обнаружения и декодирования надежность обнаруженных символов усиливается с каждой итерацией обнаружения/декодирования.
dd1
dd2
dd1
dd2
Как показано в равенстве (8), характеристика
детектора MMSE зависит от
, которая, в свою очередь, зависит от дисперсии взаимного влияния
. Поскольку
различна для каждой итерации обнаружения/декодирования, характеристика
детектора MMSE также различается для каждой итерации. Для упрощения приемника 150b детектор 920 может реализовать (1) детектор MMSE для N итераций обнаружения/декодирования, и затем (2) детектор MRC (или какой-нибудь другой тип детектора/корректора, имеющего характеристику, которая не меняется с итерацией) для N последующих итераций обнаружения/декодирования, где N и N каждый могут быть единицей либо больше. Например, детектор MMSE может использоваться для первой итерации обнаружения/декодирования и детектор MRC может использоваться для следующих пяти итераций обнаружения/декодирования. В другом примере, детектор MMSE может использоваться для первых двух итераций обнаружения/декодирования и детектор MRC может использоваться для следующих четырех итераций обнаружения/декодирования.
i
i
i
Детектор MRC может быть реализован с составляющей u, как показано в равенстве (6), где
заменяет
. Как показано в равенствах (6), (9), и (12), составляющая u зависит от ожидаемого значения взаимного влияния
. Для дополнительного упрощения приемника 150b составляющая u может быть опущена после переключения с детектора MMSE на детектор MRC.
T
Схема итеративного обнаружения и декодирования обеспечивает различные преимущества. Например, схема IDD поддерживает использование единой скорости для всех пакетов данных, переданных одновременно через N передающих антенн, может бороться с частотно-избирательным затуханием и может гибко использоваться с различными схемами кодирования и модуляции, включая параллельно связанный сверточный код, показанный на фиг.4В.
Выбор скорости
3.
Для обеих систем MIMO и MIMO-OFDM с единственной несущей приемник и/или передатчик может оценивать канал MIMO и выбирает подходящую скорость для передачи данных по каналу MIMO. Выбор скорости может выполняться различными способами. Некоторые примерные схемы выбора скорости описываются ниже.
T
T
T
T
-1
В первой схеме выбора скорости скорость для передачи данных по каналу MIMO выбирается на основе показателя, который выводится, используя эквивалентную систему, которая моделирует характеристики канала для N передающих антенн. Эквивалентная система определяется имеющей канал AWGN (то есть, с равномерной частотной характеристикой) и спектральной эффективностью, которая равна средней спектральной эффективности N передающих антенн. Эквивалентная система имеет общую пропускную способность, равную общей пропускной способности N передающих антенн. Средняя спектральная эффективность может определяться посредством (1) оценивания принятого SBR для каждой передающей антенны (например, на основе принятого контрольного символа и/или символа данных), (2) вычисления спектральной эффективности каждой передающей антенны из принятого SNR и на основе (ограниченной или неограниченной) функции f(x) спектральной эффективности и (3) вычисления средней спектральной эффективности N передающих антенн на основе спектральных эффективностей отдельных предающих антенн. Показатель может задаваться как SNR, требуемый эквивалентной системой, чтобы поддерживать среднюю спектральную эффективность. Это SNR может определяться из средней спектральной эффективности и на основе обратной функции f(x).
Система может быть спроектирована, чтобы поддерживать множество скоростей. Одна из поддерживаемых скоростей может быть предназначена для нулевой скорости (то есть, скорость передачи данных равна нулю). Каждая из оставшихся скоростей ассоциативно связывается с конкретной ненулевой скоростью передачи данных, конкретной схемой кодирования или кодовой скоростью, конкретной схемой модуляции и конкретным минимальным SNR, требуемым для достижения заданного уровня характеристики (например, 1% PER) для канала AWGN. Для каждой поддерживаемой скорости с ненулевой скоростью передачи данных требуемое SNR получается на основе определенной конструкции системы (то есть, конкретной кодовой скорости, схемы перемежения, схемы модуляции и так далее, используемых системой для той скорости) и для канала AWGN. Требуемое SNR может получаться посредством компьютерного моделирования, эмпирических измерений и так далее, как известно в данной области техники. Множество поддерживаемых скоростей и их требуемые SNR могут храниться в справочной таблице (например, LUT 184 на фиг.8А).
Показатель может сравниваться по отношению к требуемому SNR для каждой из скоростей, поддерживаемых системой. Наивысшая скорость с требуемым SNR, которая меньше чем либо равна показателю, выбирается для использования для передачи данных по каналу MIMO. Первая схема выбора скорости подробно описывается в Патентной заявке США номер 10/176,567, озаглавленной «Rate Control for Multi-Channel Communication Systems» (Управление скоростью для многоканальных систем связи), зарегистрированной 20 июня 2002 г.
T
T
T
Во второй схеме выбора скорости скорость для передачи данных по каналу MIMO выбирается на основе принятых SNR для N передающих антенн. Принятое SNR для каждой передающей антенны сначала определяется и затем вычисляется среднее принятое SNR
для N передающих антенн. Рабочее SNR
вычисляется следующим для N передающих антенн на основе среднего принятого SNR
и смещения
SNR или фактора возврата в предыдущее состояние (например,
, где единицы в дБ). Смещение SBR используется для подсчета ошибки оценки, изменчивости в канале MIMO и других факторов. Рабочий SNR
может сравниваться по отношению к требуемому SNR для каждой из скоростей, поддерживаемых системой. Наивысшая скорость с требуемым SNR, которая меньше чем, либо равна рабочему SNR (то есть
), выбирается для использования для передачи данных по каналу MIMO. Вторая схема выбора скорости подробно описывается в Патентной заявке США номер 10/394,529, озаглавленной «Transmission Mode Selection for Data Transmission in a Multi-Channel Communication System» (Выбор режима передачи для передачи данных в многоканальной системе связи), зарегистрированной 20 марта 2003 г.
Методики передачи IR, описанные в этом документе, могут быть реализованы различными средствами. Например, эти методики могут реализовываться в аппаратном обеспечении, программном обеспечении либо их сочетании. Для аппаратной реализации обрабатывающие модули, используемые на передатчике для передачи IR, могут быть реализованы в одной или более специализированных интегральных схем (ASIC), цифровых процессорах сигналов (DSP), устройствах цифровой обработки сигналов (DSPD), программируемых логических устройствах (PLD), программируемых пользователем вентильных матрицах (FPGA), процессорах, контроллерах, микроконтроллерах, микропроцессорах, других электронных модулях, спроектированных для выполнения описанных здесь функций, или их сочетаниях. Обрабатывающие модули, используемые на приемнике для приема передачи IR, также могут быть реализованы в одной или более ASIC, DSP, DSPD, PLD, FPGA, процессорах, контроллерах и так далее.
Для программной реализации методики передачи IR могут быть реализованы с помощью модулей (например, процедур, функций и так далее), которые выполняют описанные здесь функции. Программные коды могут сохраняться в модуле памяти (например, модулях 142 и 182 памяти на фиг.1) и исполняться процессором (например, контроллерами 140 и 180). Модуль памяти может быть реализован внутри процессора или быть внешним к процессору, в этом случае он может быть коммуникационно соединен с процессором через различные средства, как известно в данной области техники.
Заголовки включаются в данный документ для ссылки и для помощи в определении местонахождения определенных разделов. Эти заголовки не предназначены для ограничения объема понятий, описанных ниже в документе, и эти понятия могут быть применимы в других разделах по всему описанию изобретения.
Предшествующее описание раскрытых вариантов осуществления предоставляется, чтобы дать возможность любому специалисту в данной области техники создавать или использовать настоящее изобретение. Различные модификации к этим вариантам осуществления будут очевидны специалистам в данной области техники, а общие принципы, определенные в материалах настоящей заявки, могут быть применены к другим вариантам осуществления, без отклонения от сущности или объема изобретения. Таким образом, настоящее изобретение не предназначено, чтобы ограничиваться вариантами осуществления, показанными в материалах настоящей заявки, а должно соответствовать самому широкому объему, согласующемуся с принципами и новыми признаками, раскрытыми в материалах настоящей заявки.