СПОСОБ ДЕТЕКТИРОВАНИЯ СИГНАЛА В СИСТЕМАХ СВЯЗИ С MIMO КАНАЛОМ
METHOD FOR SIGNAL DETECTION IN COMMUNICATION SYSTEMS WITH MIMO CHANNEL

Изобретение относится к области связи, в частности к радиотехническим беспроводным коммуникационным системам, а более конкретно к способам приема сигнала в системе передачи, использующей технологию многоантенной приемопередачи.
Системы многоантенной приемо-передачи, далее упоминаемые как MIMO (Multiple-In/Multiple-Out), являются сравнительно новым направлением развития технологии в области беспроводных систем связи. Такие системы используют множество передающих и приемных антенн для параллельной передачи сигнала по нескольким пространственно разнесенным каналам в одном и том же диапазоне спектра и демонстрируют высокую спектральную эффективность (см. Фиг.1).
MIMO система в частотной области обычно описывается матричным уравнением:
<mrow><mi>Y</mi><mo>=</mo><mi>H</mi><mi>X</mi><mo>+</mo><mi>з</mi><mo>,</mo><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mo stretchy="false">(</mo><mn>1</mn><mo stretchy="false">)</mo></mrow>
<mrow><mn>2</mn><msubsup><mi>σ</mi><mi>η</mi><mn>2</mn></msubsup></mrow>
где Y-N-мерный вектор комплексных значений принятого сигнала, Х - М-мерный вектор переданного комплексного сигнала, з - вектор отсчетов комплексного шума размерностью N×1 с нулевым средним и дисперсией
, Н - комплексная матрица канала размерностью N×M, состоящая из комплексных коэффициентов передачи всех пространственных подканалов.
i
k,i
К
<mrow><msub><mi>x</mi><mi>i</mi></msub><mrow><mo>(</mo><mrow><msub><mi>b</mi><mrow><mn>1,</mn><mi>i</mi></mrow></msub><mo>…</mo><msub><mi>b</mi><mrow><mi>К</mi><mo>,</mo><mi>i</mi></mrow></msub></mrow><mo>)</mo></mrow></mrow>
<mrow><mrow><mo>{</mo><mrow><mn>0,</mn><mtext> 1</mtext></mrow><mo>}</mo></mrow></mrow>
<mrow><mi>Х</mi><mo>=</mo><mi>Х</mi><mrow><mo>(</mo><mi>В</mi><mo>)</mo></mrow></mrow>
Каждая компонента x вектора Х может принимать одно из 2 комплексных значений в зависимости от применяемой схемы модуляции. Таким образом, каждая компонента содержит информацию о К переданных бит, т.е. имеем:
, где b ∈
. В целом вектор x содержит информацию о K*М бит, т.е.
, где
Согласно алгоритму максимального правдоподобия (МП) функция правдоподобия вектора Х вычисляется как:
<mrow><mi>Λ</mi><mrow><mo>(</mo><mi>Х</mi><mo>)</mo></mrow><mo>=</mo><mi>С</mi><mi></mi><mi>exp</mi><mrow><mo>(</mo><mrow><mo>-</mo><mfrac><mn>1</mn><mrow><mn>2</mn><msup><mi>σ</mi><mn>2</mn></msup><msub><mrow /><mi>η</mi></msub></mrow></mfrac><msup><mrow><mo stretchy="false">(</mo><mi>Y</mi><mo>-</mo><mi>H</mi><mi>X</mi><mo stretchy="false">)</mo></mrow><mi>H</mi></msup><mo stretchy="false">(</mo><mi>Y</mi><mo>-</mo><mi>H</mi><mi>X</mi><mo stretchy="false">)</mo></mrow><mo>)</mo></mrow><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mo stretchy="false">(</mo><mn>2</mn><mo stretchy="false">)</mo></mrow>
Таким образом, алгоритм МП позволяет определить отношение правдоподобия для каждого бита следующим образом:
<mrow><mi>L</mi><mi>L</mi><msub><mi>R</mi><mi>i</mi></msub><mo>=</mo><mi>log</mi><mrow><mo>(</mo><mrow><mfrac><mrow><mstyle displaystyle="true"><munder><mo>∑</mo><mtable columnalign="left"><mtr><mtd><mi>B</mi></mtd></mtr><mtr><mtd><mrow><msub><mi>b</mi><mi>i</mi></msub><mo>=</mo><mn>1</mn></mrow></mtd></mtr></mtable></munder><mrow><mi>exp</mi><mrow><mo>(</mo><mrow><mo>−</mo><mfrac><mn>1</mn><mrow><mn>2</mn><msubsup><mi>σ</mi><mi>η</mi><mn>2</mn></msubsup></mrow></mfrac><msup><mrow><mrow><mo>(</mo><mrow><mi>Y</mi><mo>−</mo><mi>H</mi><mi>X</mi><mrow><mo>(</mo><mi>B</mi><mo>)</mo></mrow></mrow><mo>)</mo></mrow></mrow><mi>H</mi></msup><mrow><mo>(</mo><mrow><mi>Y</mi><mo>−</mo><mi>H</mi><mi>X</mi><mrow><mo>(</mo><mi>B</mi><mo>)</mo></mrow></mrow><mo>)</mo></mrow></mrow><mo>)</mo></mrow></mrow></mstyle></mrow><mrow><mstyle displaystyle="true"><munder><mo>∑</mo><mtable columnalign="left"><mtr><mtd><mi>B</mi></mtd></mtr><mtr><mtd><mrow><msub><mi>b</mi><mi>i</mi></msub><mo>=</mo><mn>0</mn></mrow></mtd></mtr></mtable></munder><mrow><mi>exp</mi><mrow><mo>(</mo><mrow><mo>−</mo><mfrac><mn>1</mn><mrow><mn>2</mn><msubsup><mi>σ</mi><mi>η</mi><mn>2</mn></msubsup></mrow></mfrac><msup><mrow><mrow><mo>(</mo><mrow><mi>Y</mi><mo>−</mo><mi>H</mi><mi>X</mi><mrow><mo>(</mo><mi>B</mi><mo>)</mo></mrow></mrow><mo>)</mo></mrow></mrow><mi>H</mi></msup><mrow><mo>(</mo><mrow><mi>Y</mi><mo>−</mo><mi>H</mi><mi>X</mi><mrow><mo>(</mo><mi>B</mi><mo>)</mo></mrow></mrow><mo>)</mo></mrow></mrow><mo>)</mo></mrow></mrow></mstyle></mrow></mfrac></mrow><mo>)</mo></mrow><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mo stretchy="false">(</mo><mn>3</mn><mo stretchy="false">)</mo></mrow>
Суммирование в (3) осуществляется по всем возможным значениям В, число которых может быть весьма высоким. Таким образом, сложность алгоритма МП может быть чрезмерно большой для высокого ранга матрицы Н и модуляции с большим алфавитом. Требуется учесть все возможные варианты значений Х, что сложно реализовать в случае большого количества антенн и многопозиционной модуляции (модуляции с большим алфавитом). Так для 4-х передающих антенн (4 параллельных информационных потока) и модуляции QAM-16 в приемнике необходимо проанализировать 65536 возможных варианта векторах.
Существует ряд способов добиться рабочих характеристик, близких к характеристикам алгоритма МП, и в то же время сохранить сложность реализации на приемлемом для практических систем уровне. Одним из таких способов является традиционный алгоритм K-best, который относится к квазиоптимальным алгоритмам и позволяет достичь приемлемого компромисса между сложностью реализации и рабочими характеристиками.
Из уровня техники известны различные подходы к решению проблем, возникающих при практической реализации телекоммуникационных систем, основанных на технологии многоантенной приемопередачи. В частности, в источнике [1] предложен способ MIMO детектирования, основанный на QR разложении матрицы канала Н
<mrow><mi>H</mi><mo>=</mo><mi>Q</mi><mi>R</mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mo stretchy="false">(</mo><mn>4</mn><mo stretchy="false">)</mo></mrow>
и применении поиска символов-кандидатов «в ширину». Данный подход также использован в [2], и в дальнейшем упоминается как традиционный алгоритм K-best.
<mrow><mi>Λ</mi><mrow><mo>(</mo><mi>X</mi><mo>)</mo></mrow></mrow>
Указанный алгоритм является вариантом сферического декодера с поиском «в ширину», для которого функция правдоподобия определяется для ограниченного числа (К) кандидатов, лежащих в окрестности точки с максимальным значением функции правдоподобия
. Ту же задачу можно решить с помощью традиционного сферического декодера с поиском «в глубину» [4, 5, 6].
QR разложение (4) необходимо для эффективной реализации указанных процедур поиска. Здесь R - верхняя треугольная матрица, а Q - унитарная матрица. С помощью QR разложения матрица канала преобразуется к верхней треугольной форме, а элементы шумового вектора, в свою очередь, остаются некоррелированными. Исходные варианты всех указанных методов поиска, а также их модификации используют в качестве основного компонента модуль QR разложения.
H
Умножение обеих частей (1) на Q не меняет статистическое распределение шумовой компоненты в векторе принятого сигнала. Таким образом, при помощи QR разложения (1) преобразуется к следующей форме:
H
где н=Qз - вектор, состоящий из некоррелированных шумовых компонент (т.к. матрица Q - унитарная).
Аналогично (2), функция правдоподобия для (5) запишется в следующем виде:
<mtable columnalign="left"><mtr><mtd><mi>Λ</mi><mrow><mo>(</mo><mi>X</mi><mo>)</mo></mrow><mo>=</mo><mi>C</mi><mi></mi><mi>exp</mi><mrow><mo>(</mo><mrow><mo>-</mo><mfrac><mn>1</mn><mrow><mn>2</mn><msubsup><mi>σ</mi><mi>η</mi><mn>2</mn></msubsup></mrow></mfrac><msup><mrow><mo stretchy="false">(</mo><mi>Z</mi><mo>-</mo><mi>R</mi><mi>X</mi><mo stretchy="false">)</mo></mrow><mi>H</mi></msup><mo stretchy="false">(</mo><mi>Z</mi><mo>-</mo><mi>R</mi><mi>X</mi><mo stretchy="false">)</mo></mrow><mo>)</mo></mrow><mo>=</mo></mtd></mtr><mtr><mtd><mi>exp</mi><mrow><mo>(</mo><mrow><mo>-</mo><mfrac><mn>1</mn><mrow><mn>2</mn><msubsup><mi>σ</mi><mi>η</mi><mn>2</mn></msubsup></mrow></mfrac><mstyle displaystyle="true"><munderover><mo>∑</mo><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>M</mi></munderover><mrow><mo>|</mo><mo>|</mo><msub><mi>z</mi><mi>i</mi></msub><mo>−</mo><msub><mi>r</mi><mrow><mi>i</mi><mi>i</mi></mrow></msub><msub><mi>x</mi><mi>i</mi></msub><mo>−</mo><msub><mi>r</mi><mi>i</mi></msub><msub><mrow /><mrow><mo stretchy="false">(</mo><mi>i</mi><mo>+</mo><mn>1</mn><mo stretchy="false">)</mo></mrow></msub><msub><mi>x</mi><mrow><mi>i</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>…</mo><mo>−</mo><msub><mi>r</mi><mrow><mi>i</mi><mo stretchy="false">(</mo><mi>M</mi><mo>-</mo><mn>1</mn><mo stretchy="false">)</mo></mrow></msub><msub><mi>x</mi><mrow><mi>M</mi><mo>−</mo><mn>1</mn></mrow></msub><mo>−</mo><msub><mi>r</mi><mrow><mi>i</mi><mo>,</mo><mi>M</mi></mrow></msub><msub><mi>x</mi><mi>M</mi></msub><mo>|</mo><msup><mo>|</mo><mn>2</mn></msup></mrow></mstyle></mrow><mo>)</mo></mrow><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mo stretchy="false">(</mo><mn>6</mn><mo stretchy="false">)</mo></mtd></mtr></mtable>
Благодаря верхней треугольной форме матрицы R вычисление показателя экспоненты для функции правдоподобия может осуществляться послойно, начиная с нижних слоев в восходящем порядке в соответствии с (7):
<mtable columnalign="left"><mtr><mtd><mstyle displaystyle="true"><munderover><mo>∑</mo><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>M</mi></munderover><mrow><mo>|</mo><mo>|</mo><msub><mi>z</mi><mi>i</mi></msub><mo>−</mo><msub><mi>r</mi><mrow><mi>i</mi><mi>i</mi></mrow></msub><msub><mi>x</mi><mi>i</mi></msub><mo>−</mo><msub><mi>r</mi><mrow><mi>i</mi><mo stretchy="false">(</mo><mi>i</mi><mo>+</mo><mn>1</mn><mo stretchy="false">)</mo></mrow></msub><msub><mi>x</mi><mrow><mi>i</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>…</mo><mo>−</mo><msub><mi>r</mi><mrow><mi>i</mi><mo stretchy="false">(</mo><mi>M</mi><mo>−</mo><mn>1</mn><mo stretchy="false">)</mo></mrow></msub><msub><mi>x</mi><mrow><mi>M</mi><mo>−</mo><mn>1</mn></mrow></msub><mo>−</mo><msub><mi>r</mi><mrow><mi>i</mi><mo>,</mo><mi>M</mi></mrow></msub><msub><mi>x</mi><mi>M</mi></msub><mo>|</mo><msup><mo>|</mo><mn>2</mn></msup><mo>=</mo></mrow></mstyle></mtd></mtr><mtr><mtd><mo>|</mo><mo>|</mo><msub><mi>z</mi><mi>M</mi></msub><mo>−</mo><msub><mi>r</mi><mrow><mi>M</mi><mi>M</mi></mrow></msub><msub><mi>x</mi><mi>M</mi></msub><mo>|</mo><msup><mo>|</mo><mn>2</mn></msup><mo>+</mo></mtd></mtr><mtr><mtd><mo>|</mo><mo>|</mo><msub><mi>z</mi><mrow><mi>M</mi><mo>−</mo><mn>1</mn></mrow></msub><mo>−</mo><msub><mi>r</mi><mrow><mo stretchy="false">(</mo><mi>M</mi><mo>−</mo><mn>1</mn><mo stretchy="false">)</mo><mo stretchy="false">(</mo><mi>M</mi><mo>−</mo><mn>1</mn><mo stretchy="false">)</mo></mrow></msub><msub><mi>x</mi><mrow><mi>M</mi><mo>−</mo><mn>1</mn></mrow></msub><mo>−</mo><msub><mi>r</mi><mrow><mo stretchy="false">(</mo><mi>M</mi><mo>−</mo><mn>1</mn><mo stretchy="false">)</mo><mo>,</mo><mi>M</mi></mrow></msub><msub><mi>x</mi><mi>M</mi></msub><mo>|</mo><msup><mo>|</mo><mn>2</mn></msup><mo>+</mo><mo>…</mo><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mo stretchy="false">(</mo><mn>7</mn><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd><mo>|</mo><mo>|</mo><msub><mi>z</mi><mi>i</mi></msub><mo>−</mo><msub><mi>r</mi><mrow><mi>i</mi><mi>i</mi></mrow></msub><msub><mi>x</mi><mi>i</mi></msub><mo>−</mo><msub><mi>r</mi><mrow><mi>i</mi><mo stretchy="false">(</mo><mi>i</mi><mo>+</mo><mn>1</mn><mo stretchy="false">)</mo></mrow></msub><msub><mi>x</mi><mrow><mi>i</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>…</mo><mo>−</mo><msub><mi>r</mi><mrow><mi>i</mi><mo stretchy="false">(</mo><mi>M</mi><mo>−</mo><mn>1</mn><mo stretchy="false">)</mo></mrow></msub><msub><mi>x</mi><mrow><mi>M</mi><mo>−</mo><mn>1</mn></mrow></msub><mo>−</mo><msub><mi>r</mi><mrow><mi>i</mi><mo>,</mo><mi>M</mi></mrow></msub><msub><mi>x</mi><mi>M</mi></msub><mo>|</mo><msup><mo>|</mo><mn>2</mn></msup><mo>+</mo><mo>…</mo></mtd></mtr><mtr><mtd><mo>|</mo><mo>|</mo><msub><mi>z</mi><mn>1</mn></msub><mo>−</mo><msub><mi>r</mi><mrow><mn>11</mn></mrow></msub><msub><mi>x</mi><mn>1</mn></msub><mo>−</mo><msub><mi>r</mi><mrow><mn>12</mn></mrow></msub><msub><mi>x</mi><mn>2</mn></msub><mo>…</mo><mo>−</mo><msub><mi>r</mi><mrow><mn>1,</mn><mo stretchy="false">(</mo><mi>M</mi><mo>−</mo><mn>1</mn><mo stretchy="false">)</mo></mrow></msub><msub><mi>x</mi><mrow><mi>M</mi><mo>−</mo><mn>1</mn></mrow></msub><mo>−</mo><msub><mi>r</mi><mrow><mn>1,</mn><mi>M</mi></mrow></msub><msub><mi>x</mi><mi>M</mi></msub><mo>|</mo><msup><mo>|</mo><mn>2</mn></msup></mtd></mtr></mtable>
M
M
Поиск символов-кандидатов, лежащих в окрестности точки максимального правдоподобия, происходит пошагово, начиная с М-го слоя. Так как первое слагаемое в правой части (7) зависит только от x, можно легко определить метрики для всех возможных значений x:
<mrow><msub><mi>d</mi><mi>M</mi></msub><mo>=</mo><mo>|</mo><mo>|</mo><msub><mi>z</mi><mi>M</mi></msub><mo>−</mo><msub><mi>r</mi><mrow><mi>M</mi><mo>,</mo><mi>M</mi></mrow></msub><msub><mi>x</mi><mi>M</mi></msub><mo>|</mo><msup><mo>|</mo><mn>2</mn></msup><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mo stretchy="false">(</mo><mn>8</mn><mo stretchy="false">)</mo></mrow>
В рассматриваемом примере в качестве метрики ветви используется квадрат Евклидова расстояния. Ветвь - структура, объединяющая символы-кандидаты в нескольких последовательно расположенных слоях, берущая начало на слое М и проходящая только через один символ-кандидат в каждом из последующих просмотренных слоев - см. Фиг.2 (виды 2.1 и 2.2).
<mrow><msubsup><mi>x</mi><mrow><mi>M</mi><mo>,</mo><mi>b</mi><mi>e</mi><mi>s</mi><mi>t</mi></mrow><mrow><mo stretchy="false">(</mo><mi>k</mi><mo stretchy="false">)</mo></mrow></msubsup></mrow>
M
При проведении «поиска в ширину» на основе критерия минимума метрики (8) можно определить К лучших кандидатов
(k - индекс символа-кандидата в М-ом слое) из всего множества значений x. Далее процедура поиска переходит к слою М-1 (второе слагаемое в правой части (7)), причем в качестве решения для М-го слоя рассматриваются К лучших (выживших) кандидатов из слоя М. При поиске лучших кандидатов в слое М-1 осуществляется накопление метрики результирующей ветви, и из всего полученного множества ветвей выбирается К наилучших с минимальной метрикой. Так, метрика для ветви, соединяющей символы-кандидаты из М-го и М-1-го слоя определяется из следующего соотношения:
<mrow><msub><mi>d</mi><mrow><mi>M</mi><mo>−</mo><mn>1</mn></mrow></msub><mo>=</mo><msub><mi>d</mi><mi>M</mi></msub><mo>+</mo><mo>|</mo><mo>|</mo><msub><mi>z</mi><mrow><mi>M</mi><mo>−</mo><mn>1</mn></mrow></msub><mo>−</mo><msub><mi>r</mi><mrow><mo stretchy="false">(</mo><mi>M</mi><mo>-</mo><mn>1</mn><mo stretchy="false">)</mo><mo stretchy="false">(</mo><mi>M</mi><mo>-</mo><mn>1</mn><mo stretchy="false">)</mo></mrow></msub><msub><mi>x</mi><mrow><mi>M</mi><mo>-</mo><mn>1</mn></mrow></msub><mo>-</mo><msub><mi>r</mi><mrow><mo stretchy="false">(</mo><mi>M</mi><mo>-</mo><mn>1</mn><mo stretchy="false">)</mo><mo>,</mo><mi>M</mi></mrow></msub><msub><mi>x</mi><mi>M</mi></msub><mo>|</mo><msup><mo>|</mo><mn>2</mn></msup></mrow>
,
где второе слагаемое - часть метрики, полученная на М-1-ом слое, а первое слагаемое - составляющая метрики ветви, полученная на М-ом слое (8). Таким образом, на каждом шаге осуществляется накопление метрики ветви. В каждом слое сохраняются К лучших ветвей с минимальными накопленными метриками.
Для того, чтобы поиск начался со слоя с максимальной энергией (наиболее надежного слоя), перед началом поиска производится процедура сортировки столбцов матрицы канала Н и соответствующей перестановке элементов вектора X. В этом случае минимизируется влияние ошибки при выборе выживших символов-кандидатов на начальных шагах алгоритма (ошибка на раннем этапе поиска приводит к существенному отклонению К лучших выживших ветвей на финальном этапе от окрестности решения МП). Указанная сортировка может быть осуществлена в порядке возрастания норм столбцов матрицы Н и соответствующей перестановке элементов в векторе X. Кроме того, существует ряд альтернативных способов (например, [6]). Применение сортировки столбцов канальной матрицы позволяет приблизить рабочие характеристики традиционного алгоритма К-лучших к рабочим характеристикам алгоритма МП, сохраняя при этом количество кандидатов на существенно более низком уровне в сравнении с алгоритмом МП.
После окончания процедуры поиска на основе набора выживших ветвей (К лучших ветвей) принимается решение о значении переданного вектора Х (жесткое или мягкое). Для принятия жесткого решения элементы вектора Х принимаются равными символам-кандидатам ветви с наименьшей накопленной метрикой. В случае мягкого решения рассчитываются отношения логарифма правдоподобия согласно (3), причем в качестве Х(В) рассматриваются только К выживших ветвей.
При проведении «поиска в глубину», который является альтернативным способом нахождения наилучшей комбинации символов-кандидатов (см. Фиг.2, вид 2.2), выполняются следующие операции: начиная со слоя М, детектор последовательно просматривает слой за слоем, накапливая метрику ветви в соответствии с (7) и сравнивая ее с порогом δ, определяющим радиус гиперсферы, внутри которой осуществляется отбор К лучших ветвей. Ветвь продлевается каждый раз, когда детектор находит символ-кандидат в i-м слое, удовлетворяющий условию нахождения всей ветви внутри указанной гиперсферы, при этом на следующем шаге детектор осуществляет поиск продолжения данной ветви в слое i-1. Если метрика ветви на i-м слое превышает порог δ, данная ветвь отбрасывается (окончательно или временно), равно как и все ее продолжения, берущие начало в i-м слое. В этом случае детектор начинает проверку других ветвей.
Все указанное выше относительно сортировки столбцов и детектирования символа при «поиске в ширину» применимо также и при «поиске в глубину».
Согласно представленному выше подходу каждый i-й детектируемый слой зависит только от предшествующих ему i+1..M слоев и не зависит от последующих 1..i-1. Таким образом, очевидно, что при ошибочных решениях на ранних этапах (выбраны кандидаты, не находящиеся в окрестности решения МП), среди выживших ветвей не будет решения МП и К лучших ветвей окажутся вдалеке от области МП решения. Данная проблема отчасти решается за счет применения поиска с возвратом и изменением списка выживших ветвей на предыдущих слоях. Такой метод, равно как и традиционный сферический декодер, обладает непостоянной сложностью и переменной задержкой, что делает затруднительным их практическую реализацию. При этом очевидно, что описанные алгоритмы K-best с «поиском в ширину» [1] и «поиском в глубину» [4], равно как и их модификации [2, 3, 5, 6], основанные на QR разложении, не могут рассматриваться как единственно возможные способы поиска наилучших символов-кандидатов. Для целей заявляемого изобретения в качестве прототипа выбрано решение, описанное в [1].
Задачей заявленного изобретения является создание усовершенствованного способа MIMO детектирования с меньшей сложностью и лучшими рабочими характеристиками, чем наилучшие имеющиеся аналоги. Иными словами, требуется новый более эффективный и простой в реализации квазиоптимальный способ MIMO детектирования, позволяющий с более высокой надежностью осуществлять выбор кандидатов из окрестности МП решения.
Технический результат достигается за счет применения усовершенствованного способа детектирования сигнала в системах связи с MIMO (Multiple-In/Multiple-Out), каналом, который включает в себя выполнение следующих операций:
- принимают сигналы, модулированные переданными QAM (Quadrature Amplitude Modulation) символами через несколько приемных антенн;
- осуществляют частотное преобразование принятых сигналов на нулевую несущую частоту;
- формируют отсчеты принятых и преобразованных сигналов путем квантования и дискретизации, которые рассматриваются как выходные отсчеты MIMO канала, и описываются формулой Y=НХ+η, где Y - N-мерный вектор выходных отсчетов MIMO канала, Х - М-мерный вектор входных отсчетов MIMO канала, η - N-мерный вектор отсчетов шума, Н - канальная матрица MIMO канала размера N×M, при этом полагают, что частота дискретизации равна частоте следования QAM символов, поэтому вектор входных отсчетов MIMO канала Х является также вектором переданных QAM символов;
<mrow><msubsup><mi>σ</mi><mi>η</mi><mn>2</mn></msubsup></mrow>
<mrow><msubsup><mi>σ</mi><mi>s</mi><mn>2</mn></msubsup></mrow>
- по полученным выходным отсчетам MIMO канала оценивают канальную матрицу MIMO канала Н, дисперсию шума
и среднюю мощность сигнала
;
- детектируют QAM символы на основе выходных отсчетов MIMO канала и восстанавливают оригинальные данные, содержащиеся в детектированных QAM символах, посредством оценки апостериорной вероятности переданных бит, выполняя следующие шаги:
- осуществляют упорядочивание QAM символов по критерию максимума энергии сигнала от передающей антенны;
- формируют верхне-треугольную матрицу для поиска наиболее вероятных переданных символов;
- осуществляют послойный поиск К наилучших кандидатов на основе сформированной верхне-треугольной матрицы, начиная с нижнего слоя и заканчивая верхним слоем;
- производят оценку вероятности принятых символов на основе евклидовых метрик, вычисленных для К наилучших кандидатов;
при этом заявляемый способ отличается от прототипа тем, что:
- формируют MMSE (Minimum Mean Square Error) оценку принятого вектора QAM символов и вычисляют матрицу ковариации;
<mover accent="true"><mi>F</mi><mo>˜</mo></mover>
- формируют верхне-треугольную матрицу
на основе матрицы ковариации MMSE оценок с помощью процедуры послойной оценки маргинальных вероятностей;
- начиная с нижнего слоя, формируют список из К наилучших (наиболее вероятных) векторов символов-кандидатов согласно критерию минимальности модифицированного евклидового расстояния;
- модифицированное евклидовое расстояние для слоя k определяется как суммарное расстояние, рассчитанное для всех предшествующих слоев, плюс расстояние до символа-кандидата текущего слоя согласно выражению:
<mrow><mo>|</mo><mo>|</mo><mo stretchy="false">(</mo><msub><mover accent="true"><mi>F</mi><mo>˜</mo></mover><mrow><mi>k</mi><mo>…</mo><mi>M</mi></mrow></msub><msub><mover accent="true"><mi>X</mi><mo>^</mo></mover><mrow><mi>k</mi><mo>…</mo><mi>M</mi></mrow></msub><mo>-</mo><msub><mover accent="true"><mi>F</mi><mo>˜</mo></mover><mrow><mi>k</mi><mo>…</mo><mi>M</mi></mrow></msub><msub><mi>X</mi><mrow><mi>k</mi><mo>…</mo><mi>M</mi></mrow></msub><mo stretchy="false">)</mo><mo>|</mo><msup><mo>|</mo><mn>2</mn></msup><mo>-</mo><mo>|</mo><mo>|</mo><msub><mi>x</mi><mi>k</mi></msub><mo>|</mo><msup><mo>|</mo><mn>2</mn></msup><mo>-</mo><mo>|</mo><mo>|</mo><msub><mi>x</mi><mrow><mi>k</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>|</mo><msup><mo>|</mo><mn>2</mn></msup><mo>-</mo><mo>…</mo><mo>-</mo><mo>|</mo><msub><mi>x</mi><mi>M</mi></msub><mo>|</mo><msup><mo>|</mo><mn>2</mn></msup></mrow>
,
<mrow><msub><mover accent="true"><mi>F</mi><mo>˜</mo></mover><mrow><mi>k</mi><mo>…</mo><mi>M</mi></mrow></msub></mrow>
<mover accent="true"><mi>F</mi><mo>˜</mo></mover>
<mrow><msub><mover accent="true"><mi>X</mi><mo>^</mo></mover><mrow><mi>k</mi><mo>…</mo><mi>M</mi></mrow></msub></mrow>
<mrow><msub><mi>X</mi><mrow><mi>k</mi><mo>…</mo><mi>M</mi></mrow></msub></mrow>
<mrow><mo>|</mo><mo>|</mo><msub><mi>x</mi><mi>k</mi></msub><mo>|</mo><msup><mo>|</mo><mn>2</mn></msup><mo>,</mo><mo>|</mo><msub><mi>x</mi><mrow><mi>k</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>|</mo><msup><mo>|</mo><mn>2</mn></msup><mo>,</mo><mo>…</mo><mo>,</mo><mo>|</mo><msub><mi>x</mi><mi>M</mi></msub><mo>|</mo><msup><mo>|</mo><mn>2</mn></msup></mrow>
где
- нижне-диагональная часть матрицы
размера (М-k+1)×(М-k+1),
- нижняя часть вектора MMSE решения размера (M-k+1)×1,
- нижняя часть вектора символа-кандидата размера (M-k+1)×1,
- метрики, характеризующие энергию компонентов символа-кандидата для слоев k…М;
- после обработки всех слоев оценивают вероятность переданных символов (либо бит) на основе модифицированных Евклидовых расстояний для списка из К наилучших векторов символов-кандидатов.
Таким образом, в заявляемом изобретении предложен способ послойного поиска, основанный на оценке вектора переданного сигнала по критерию минимума среднего квадрата ошибки (MMSE - minimum mean square error). Предложенный способ обладает лучшими рабочими характеристиками и схожей или меньшей сложностью реализации, нежели прототип [1].
Далее существо заявляемого изобретения поясняется в деталях с привлечением графических материалов.
Фиг.1 - Приемопередающая MIMO система с М передающими, N приемными антеннами и параллельной приемопередачей множества слоев данных.
Входные данные обрабатываются в передатчике 101, модулируются в QAM модуляторах 103-105 и передаются М антеннами через канал. Переданный сигнал претерпевает искажения в канале (искажения могут быть вызваны многолучевым распространением, аддитивным шумом и т.п.), принимается на N приемных антенн и обрабатывается в приемнике 102. Приемник 102 включает в себя модули синхронизации, оценки канала, MIMO детектирования, декодирования и другие блоки, необходимые для получения декодированных данных на приемном конце.
Фиг.2 (вид 2.1) - Схема «поиска в ширину» для 2-х лучших ветвей (К=2) и модуляции QPSK (Qaudrature Phase Shift Keying).
Поиск начинается со слоя 4, где находятся два лучших символа-кандидата с минимальной метрикой (8), от которых процедура поиска переходит к слою 3 (два лучших символа-кандидата при модуляции QPSK порождают восемь проверяемых ветвей). На слое 3 определяются два лучших символа-кандидата, которые наряду с лучшими символами-кандидатами со слоя 4 образуют выжившие ветви с минимальными накопленными метриками (7). Лучшие символы-кандидаты слоя 3 используются в качестве отправных точек для продолжения поиска на слое 2 и т.д. Таким образом, после выбора двух лучших символов-кандидатов на слое 1 формируются две выживших ветви, включающих в себя символы-кандидаты из всех четырех слоев, на основе которых принимается мягкое или жесткое решение о значении переданного вектора. Описанная процедура предполагает анализ K*L ветвей на каждом слое (L - размер алфавита выбранной схемы модуляции). Существуют несколько способов, позволяющих сократить количество анализируемых ветвей - [1], [2], [3]. Подходы, аналогичные предложенным в [1], [2], [3], могут быть использованы при реализации способа MIMO детектирования, заявленного в настоящем изобретении.
Фиг.2 (вид 2.2) - Схема «поиска в глубину» для одной лучшей ветви (К=1) и модуляции QPSK (Qaudrature Phase Shift Keying).
На первом этапе определяется лучший символ-кандидат с минимальной метрикой (8) на слое 4 - символ 2. Начиная с этого символа, поиск продолжается в слое 3, где в первую очередь просматривается символ 3 (очередность проверки символов на принадлежность к выжившей ветви определяется на основе процедуры предварительной сортировки символов в каждом слое для каждой просматриваемой ветви, например - см. [1], [2], [3]). В приведенном примере символ 3 принимается как лучший символ-кандидат (соответствующая накопленная метрика ветви (7) меньше порогового значения δ) и поиск продолжается в слое 2, где в порядке очередности, установленном предварительной сортировкой, просматриваются все возможные символы-кандидаты и ни один из них не позволяет продолжить текущую ветвь так, чтобы ее накопленная метрика оказалась меньше порогового значения δ. Как следствие, все ветви, начинающиеся с символа 2 в слое 4 и содержащие символ 3 в слое 3, исключаются из дальнейшего поиска (исключенные ветви). Поиск возобновляется со слоя 4 (лучший символ-кандидат для слоя 4 уже найден) и продолжается в слое 3, для которого лучшим символом-кандидатом принимается символ 2 (символ 2 следует за символом 3 в предварительно отсортированном списке для слоя 3 и ветви, берущей начало с символа 2 в слое 4), т.к. накопленная метрика ветви для него меньше порогового значения δ. Поиск продолжается в слое 2 и слое 1, в каждом из которых накопленная метрика, соответствующая просматриваемому в первую очередь символу 1, не превышает порогового значения δ. Таким образом, находится выжившая ветвь, которая используется для вынесения мягкого или жесткого решения о значении переданного вектора.
Фиг.3 - Зависимость вероятности блоковой ошибки от ОСШ для MIMO-OFDM 8х8 системы (N=8, М=8, система совместима со стандартом LTE Rel.10).
В качестве декодера, исправляющего ошибки, использован 4-х итеративный Max-Log-MAP Турбо декодер. Модуляция - QAM-16, скорость кодирования - ¾, канал - ЕРА-5 [7]. Кривые 1 и 2 соответствуют прототипу [1] с количеством выживших ветвей-кандидатов К=40 и К=1000 соответственно. Линия 3 соответствует заявляемому способу с количеством выживший ветвей-кандидатов К=40. Представленная иллюстрация демонстрирует преимущество заявляемого изобретения в сравнении с прототипом [1].
Фиг.4 - Блок-схема, поясняющая заявляемое изобретение.
<mrow><msubsup><mi>σ</mi><mi>η</mi><mn>2</mn></msubsup></mrow>
<mover accent="true"><mi>x</mi><mo>^</mo></mover>
Принятый входной сигнал Y 302 направляют в модуль 301 оценки канала, который формирует оценку канальной матрицы Н, а также оценку дисперсии шумовой компоненты
. Оценка канальной матрицы направляется в модуль 303 сортировки, который переставляет столбцы канальной матрицы Н в соответствии с их возрастающей нормой. При этом меняется порядок детектирования слоев в переданном векторе. Отсчеты принятого сигнала совместно со значениями отсортированной канальной матрицы из модуля 303 сортировки столбцов направляют в модуль 304 MMSE оценщика. Данный модуль формирует MMSE оценку переданного вектора X и оценку матрицы ковариации V. Матрица V направляется в модуль 305 вычисления треугольной матрицы, который формирует верхне-треугольную матрицу F в соответствии с процедурой послойной оценки маргинальных вероятностей. MMSE оценку
и матрицу F направляют в модуль 309 послойной обработки, в котором, начиная с последнего слоя, вычисляют в блоке 307 метрики для наиболее вероятных символов-кандидатов в соответствии с процедурой определения модифицированного Евклидового расстояния. При обработке каждого слоя оставляют символы, характеризуемые минимальными метриками. Продолжают послойную обработку с вычислением интегральной метрики на каждом слое вплоть до достижения верхнего слоя. На основании метрик выживших наилучших кандидатов (такие кандидаты определяются в модуле 308) формируют оценку вероятности для переданных символов (переданных бит) в модуле 306 вычисления логарифмов отношений правдоподобия.
В заявляемом способе MIMO детектирования треугольная матрица формируется на основе MMSE решения следующим образом.
<mover accent="true"><mi>x</mi><mo>^</mo></mover>
На первом этапе переставляют столбцы канальной матрицы в порядке возрастания их нормы для получения оптимального расположения слоев в процессе MIMO детектирования. Этот процесс называют также сортировкой слоев. В результате сортировки получают вектор MMSE решения
в соответствии с выражением (9).
<mtable columnalign="left"><mtr><mtd><mover accent="true"><mi>X</mi><mo>^</mo></mover><mo>=</mo><msub><mi>K</mi><mrow><mi>M</mi><mi>M</mi><mi>S</mi><mi>E</mi></mrow></msub><mi>Y</mi></mtd></mtr><mtr><mtd><mi>V</mi><mo>=</mo><mi>I</mi><mo>-</mo><msub><mi>K</mi><mrow><mi>M</mi><mi>M</mi><mi>S</mi><mi>E</mi></mrow></msub><mi>H</mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mo stretchy="false">(</mo><mn>9</mn><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd><msub><mi>K</mi><mrow><mi>M</mi><mi>M</mi><mi>S</mi><mi>E</mi></mrow></msub><mo>=</mo><msup><mi>H</mi><mi>H</mi></msup><msup><mrow><mo>(</mo><mrow><mi>H</mi><msup><mi>H</mi><mi>H</mi></msup><mo>+</mo><mn>2</mn><msubsup><mi>σ</mi><mi>η</mi><mn>2</mn></msubsup><mi>I</mi></mrow><mo>)</mo></mrow><mrow><mo>−</mo><mn>1</mn></mrow></msup></mtd></mtr></mtable>
<mover accent="true"><mi>x</mi><mo>^</mo></mover>
MMSE
где
- вектор MMSE оценок размерности M×1, V ковариационная матрица MMSE оценок размерности М×М, K - MMSE матрица-фильтр размером N×M. Заметим, что Н в (9) отличается от исходной матрицы канала за счет сортировки столбцов.
Полагаем, что искомый вектор имеет Гауссовское распределение с математическим ожиданием X и ковариационной матрицей V.
Введем дополнительные обозначения:
M
ρ - нижний диагональный элемент матрицы V,
<mrow><msub><mover accent="true"><mi>X</mi><mo>¯</mo></mover><mrow><mn>1,..,</mn><mi>M</mi><mo>-</mo><mi>k</mi></mrow></msub><msub><mrow /><mrow><mo>\</mo><mi>M</mi><mo>-</mo><mi>k</mi><mo>+</mo><mn>1,..</mn><mi>M</mi></mrow></msub></mrow>
- вектор математического ожидания для слоев 1..M-k условного распределения вероятности при заданных нижних слоях М-k+1..M, размерность вектора (M-k)x1,
(M-k)
V - ковариационная матрица, характеризующая условное распределение вероятности слоев 1..M-k при заданных нижних слоях М-k+1..M, размерность матрицы (M-k)x(M-k),
(M-k)
(M-k)
ρ - нижний диагональный элемент матрицы V.
Введем также представление ковариационной матрицы V в виде совокупности четырех компонентов:
<mrow><mi>V</mi><mo>≜</mo><mrow><mo>[</mo><mrow><mtable><mtr><mtd><mrow><msub><mi>V</mi><mrow><mrow><mo>(</mo><mrow><mn>1</mn><mo>…</mo><mi>M</mi><mo>−</mo><mn>1</mn></mrow><mo>)</mo></mrow></mrow></msub></mrow></mtd><mtd><mrow><msub><mi>V</mi><mrow><mrow><mo>(</mo><mrow><mn>1</mn><mo>…</mo><mi>M</mi><mo>−</mo><mn>1</mn></mrow><mo>)</mo></mrow><mo>,</mo><mi>M</mi></mrow></msub></mrow></mtd></mtr><mtr><mtd><mrow><msubsup><mi>V</mi><mrow><mrow><mo>(</mo><mrow><mn>1</mn><mo>…</mo><mi>M</mi><mo>−</mo><mn>1</mn></mrow><mo>)</mo></mrow><mo>,</mo><mi>M</mi></mrow><mi>H</mi></msubsup></mrow></mtd><mtd><mrow><msub><mi>ρ</mi><mi>M</mi></msub></mrow></mtd></mtr></mtable></mrow><mo>]</mo></mrow><mo>,</mo><mtable><mtr><mtd><mrow /></mtd><mtd><mrow /></mtd><mtd><mrow /></mtd><mtd><mrow /></mtd></mtr></mtable><mrow><mo>(</mo><mrow><mn>10</mn></mrow><mo>)</mo></mrow></mrow>
1…M-1
(1…M-1),M
M
<mrow><msubsup><mi>V</mi><mrow><mo stretchy="false">(</mo><mn>1..</mn><mi>M</mi><mo>-</mo><mn>1</mn><mo stretchy="false">)</mo><mo>,</mo><mi>M</mi></mrow><mi>H</mi></msubsup></mrow>
где V - исходная матрица без последней строки и столбца, V - последний столбец без нижнего элемента,
- последняя строка без правого элемента, ρ - нижний диагональный элемент.
Формирование треугольной матрицы описывается следующей последовательностью шагов для слоев с М-го по 1-й.
- Шаг 1. Для слоя М математическое ожидание и дисперсия совпадают с MMSE оценкой, т.е.:
<mrow><msub><mover accent="true"><mi>X</mi><mo>¯</mo></mover><mi>M</mi></msub><mo>=</mo><msub><mover accent="true"><mi>X</mi><mo>^</mo></mover><mi>M</mi></msub><mo>;</mo><msub><mi>ρ</mi><mi>M</mi></msub><mo>=</mo><msub><mi>V</mi><mrow><mi>M</mi><mo>,</mo><mi>M</mi></mrow></msub><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mo stretchy="false">(</mo><mn>1</mn><mn>1</mn><mo stretchy="false">)</mo></mrow>
- Шаг 2. Для слоев 1…М-1 определяем параметры условного распределения вероятности, зависящие от решения на слое М. Математическое ожидание для слоев 1…М-1 определяется выражением:
<mrow><msub><mover accent="true"><mi>X</mi><mo>¯</mo></mover><mrow><mn>1</mn><mo>…</mo><mi>M</mi><mo>−</mo><mn>1</mn><mrow><mo>|</mo><mi>M</mi></mrow></mrow></msub><mo>=</mo><msub><mover accent="true"><mi>X</mi><mo>^</mo></mover><mrow><mn>1</mn><mo>…</mo><mi>M</mi><mo>−</mo><mn>1</mn></mrow></msub><mo>+</mo><msub><mi>V</mi><mrow><mo stretchy="false">(</mo><mn>1..</mn><mi>M</mi><mo>−</mo><mn>1</mn><mo stretchy="false">)</mo><mo>,</mo><mi>M</mi></mrow></msub><msubsup><mi>ρ</mi><mi>M</mi><mrow><mo>−</mo><mn>1</mn></mrow></msubsup><mo stretchy="false">(</mo><msub><mi>X</mi><mi>M</mi></msub><mo>−</mo><msub><mover accent="true"><mi>X</mi><mo>¯</mo></mover><mi>M</mi></msub><mo stretchy="false">)</mo><mi></mi><mo>,</mo><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mo stretchy="false">(</mo><mn>12</mn><mo stretchy="false">)</mo></mrow>
M
где X - один из возможных символов созвездия на слое М, определяемого типом модуляции. Ковариационная матрица задается выражением:
<mrow><msup><mi>V</mi><mrow><mo stretchy="false">(</mo><mi>M</mi><mo>-</mo><mn>1</mn><mo stretchy="false">)</mo></mrow></msup><mo>=</mo><msub><mi>V</mi><mrow><mo stretchy="false">(</mo><mn>1</mn><mo>…</mo><mi>M</mi><mo>-</mo><mn>1</mn><mo stretchy="false">)</mo></mrow></msub><mo>-</mo><msub><mi>V</mi><mrow><mo stretchy="false">(</mo><mn>1</mn><mo>…</mo><mi>M</mi><mo>-</mo><mn>1</mn><mo stretchy="false">)</mo><mo>,</mo><mi>M</mi></mrow></msub><msubsup><mi>V</mi><mrow><mo stretchy="false">(</mo><mn>1</mn><mo>…</mo><mi>M</mi><mo>-</mo><mn>1</mn><mo stretchy="false">)</mo><mo>,</mo><mi>M</mi></mrow><mi>H</mi></msubsup><msubsup><mi>ρ</mi><mi>M</mi><mrow><mo>−</mo><mn>1</mn></mrow></msubsup><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mo stretchy="false">(</mo><mn>13</mn><mo stretchy="false">)</mo></mrow>
<mrow><msub><mover accent="true"><mi>X</mi><mo>¯</mo></mover><mrow><mi>M</mi><mo>−</mo><mn>1</mn><mrow><mo>|</mo><mi>M</mi></mrow></mrow></msub></mrow>
<mrow><msub><mover accent="true"><mi>X</mi><mo>¯</mo></mover><mrow><mn>1</mn><mo>…</mo><mi>M</mi><mo>−</mo><mn>1</mn><mrow><mo>|</mo><mi>M</mi></mrow></mrow></msub></mrow>
<mrow><msub><mi>ρ</mi><mrow><mi>M</mi><mo>−</mo><mn>1</mn><mrow><mo>|</mo><mi>M</mi></mrow></mrow></msub><mo>=</mo><msubsup><mi>V</mi><mrow><mi>M</mi><mo>−</mo><mn>1,</mn><mi>M</mi><mo>−</mo><mn>1</mn></mrow><mrow><mo stretchy="false">(</mo><mi>M</mi><mo>-</mo><mn>1</mn><mo stretchy="false">)</mo></mrow></msubsup></mrow>
M-1|M
(M-1)
Для слоя М-1 можно задать маргинальное распределение вероятности, зависящее от символа на слое М, причем математическое ожидание
и дисперсия ρ такого распределения будут равны (М-1)ой компоненте вектора
и последнему диагональному элементу матрицы V,
.
- Шаг 3. Для слоев 1…М-2:
<mrow><msub><mover accent="true"><mi>X</mi><mo>¯</mo></mover><mrow><mn>1</mn><mo>…</mo><mi>M</mi><mo>−</mo><mn>2</mn><mrow><mo>|</mo><mi>M</mi></mrow><mo>−</mo><mn>1,</mn><mi>M</mi></mrow></msub><mo>=</mo><msub><mover accent="true"><mi>X</mi><mo>¯</mo></mover><mrow><mn>1</mn><mo>…</mo><mi>M</mi><mo>−</mo><mn>2</mn><mrow><mo>|</mo><mi>M</mi></mrow></mrow></msub><mo>+</mo><msubsup><mi>V</mi><mrow><mo stretchy="false">(</mo><mn>1</mn><mo>…</mo><mi>M</mi><mo>−</mo><mn>2</mn><mo stretchy="false">)</mo><mo>,</mo><mi>M</mi><mo>−</mo><mn>1</mn></mrow><mrow><mo stretchy="false">(</mo><mi>M</mi><mo>−</mo><mn>1</mn><mo stretchy="false">)</mo></mrow></msubsup><msubsup><mi>ρ</mi><mrow><mi>M</mi><mo>−</mo><mn>1</mn><mrow><mo>|</mo><mi>M</mi></mrow></mrow><mrow><mo>−</mo><mn>1</mn></mrow></msubsup><mo stretchy="false">(</mo><msub><mi>X</mi><mrow><mi>M</mi><mo>−</mo><mn>1</mn></mrow></msub><mo>−</mo><msub><mover accent="true"><mi>X</mi><mo>¯</mo></mover><mrow><mi>M</mi><mo>−</mo><mn>1</mn><mrow><mo>|</mo><mi>M</mi></mrow></mrow></msub><mo stretchy="false">)</mo><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mo stretchy="false">(</mo><mn>14</mn><mo stretchy="false">)</mo></mrow>
<mrow><msup><mi>V</mi><mrow><mo stretchy="false">(</mo><mi>M</mi><mo>-</mo><mn>2</mn><mo stretchy="false">)</mo></mrow></msup><mo>=</mo><msubsup><mi>V</mi><mrow><mo stretchy="false">(</mo><mn>1</mn><mo>…</mo><mi>M</mi><mo>-</mo><mn>2</mn><mo stretchy="false">)</mo></mrow><mrow><mo stretchy="false">(</mo><mi>M</mi><mo>-</mo><mn>1</mn><mo stretchy="false">)</mo></mrow></msubsup><mo>−</mo><msubsup><mi>V</mi><mrow><mo stretchy="false">(</mo><mn>1</mn><mo>…</mo><mi>M</mi><mo>-</mo><mn>2</mn><mo stretchy="false">)</mo><mo>,</mo><mi>M</mi><mo>-</mo><mn>1</mn></mrow><mrow><mo stretchy="false">(</mo><mi>M</mi><mo>-</mo><mn>1</mn><mo stretchy="false">)</mo></mrow></msubsup><msup><mrow><mo stretchy="false">(</mo><msubsup><mi>V</mi><mrow><mo stretchy="false">(</mo><mn>1</mn><mo>…</mo><mi>M</mi><mo>-</mo><mn>2</mn><mo stretchy="false">)</mo><mo>,</mo><mi>M</mi><mo>-</mo><mn>1</mn></mrow><mrow><mo stretchy="false">(</mo><mi>M</mi><mo>-</mo><mn>1</mn><mo stretchy="false">)</mo></mrow></msubsup><mo stretchy="false">)</mo></mrow><mi>H</mi></msup><msubsup><mi>ρ</mi><mrow><mi>M</mi><mo>−</mo><mn>1</mn><mrow><mo>|</mo><mi>M</mi></mrow></mrow><mrow><mo>−</mo><mn>1</mn></mrow></msubsup><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mo stretchy="false">(</mo><mn>15</mn><mo stretchy="false">)</mo></mrow>
M-2|M-1,M
<mrow><msub><mover accent="true"><mi>X</mi><mo>¯</mo></mover><mrow><mi>M</mi><mo>−</mo><mn>2</mn><mrow><mo>|</mo><mi>M</mi></mrow><mo>−</mo><mn>1,</mn><mi>M</mi></mrow></msub></mrow>
<mrow><msub><mover accent="true"><mi>X</mi><mo>¯</mo></mover><mrow><mn>1</mn><mo>…</mo><mi>M</mi><mo>−</mo><mn>2</mn><mrow><mo>|</mo><mi>M</mi></mrow><mo>−</mo><mn>1,</mn><mi>M</mi></mrow></msub></mrow>
(M-2)
Соответственно маргинальные дисперсия ρ и математическое ожидание
для слоя М-2 задаются (М-2) элементом вектора
и последним диагональным элементом матрицы V:
………
………
- Шаг М. Для слоя 1:
<mrow><msub><mover accent="true"><mi>X</mi><mo>¯</mo></mover><mrow><mn>1</mn><mo>|</mo><mn>2</mn><mo>…</mo><mi>M</mi><mo>−</mo><mn>1,</mn><mi>M</mi></mrow></msub><mo>=</mo><msub><mover accent="true"><mi>X</mi><mo>¯</mo></mover><mrow><mn>1</mn><mo>|</mo><mn>3</mn><mo>…</mo><mo>,</mo><mi>M</mi><mo>−</mo><mn>1,</mn><mi>M</mi></mrow></msub><mo>+</mo><msubsup><mi>V</mi><mrow><mo stretchy="false">(</mo><mn>1</mn><mo stretchy="false">)</mo><mn>,2</mn></mrow><mrow><mo stretchy="false">(</mo><mn>2</mn><mo stretchy="false">)</mo></mrow></msubsup><msubsup><mi>ρ</mi><mrow><mn>2</mn><mo>|</mo><mn>3</mn><mo>…</mo><mi>M</mi><mo>−</mo><mn>1,</mn><mi>M</mi></mrow><mrow><mo>−</mo><mn>1</mn></mrow></msubsup><mo stretchy="false">(</mo><msub><mi>X</mi><mn>2</mn></msub><mo>-</mo><msub><mover accent="true"><mi>X</mi><mo>¯</mo></mover><mrow><mn>2</mn><mo>|</mo><mn>3</mn><mo>…</mo><mo>,</mo><mi>M</mi><mo>-</mo><mn>1,</mn><mi>M</mi></mrow></msub><mo stretchy="false">)</mo><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mo stretchy="false">(</mo><mn>16</mn><mo stretchy="false">)</mo></mrow>
<mrow><msub><mi>ρ</mi><mrow><mn>1</mn><mo>|</mo><mn>2</mn><mo>…</mo><mo>,</mo><mi>M</mi><mo>−</mo><mn>1,</mn><mi>M</mi><mo>|</mo></mrow></msub><mo>=</mo><msup><mi>V</mi><mrow><mo stretchy="false">(</mo><mn>1</mn><mo stretchy="false">)</mo></mrow></msup><mo>=</mo><msubsup><mi>V</mi><mrow><mo stretchy="false">(</mo><mn>1</mn><mo stretchy="false">)</mo></mrow><mrow><mo stretchy="false">(</mo><mn>2</mn><mo stretchy="false">)</mo></mrow></msubsup><mo>−</mo><msubsup><mi>V</mi><mrow><mo stretchy="false">(</mo><mn>1</mn><mo stretchy="false">)</mo><mn>,2</mn></mrow><mrow><mo stretchy="false">(</mo><mn>2</mn><mo stretchy="false">)</mo></mrow></msubsup><msup><mrow><mo stretchy="false">(</mo><msubsup><mi>V</mi><mrow><mo stretchy="false">(</mo><mn>1</mn><mo stretchy="false">)</mo><mn>,2</mn></mrow><mrow><mo stretchy="false">(</mo><mn>2</mn><mo stretchy="false">)</mo></mrow></msubsup><mo stretchy="false">)</mo></mrow><mi>H</mi></msup><msubsup><mi>ρ</mi><mrow><mn>2</mn><mo>|</mo><mn>3</mn><mo>…</mo><mo>,</mo><mi>M</mi><mo>−</mo><mn>1,</mn><mi>M</mi></mrow><mrow><mo>−</mo><mn>1</mn></mrow></msubsup><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mo stretchy="false">(</mo><mn>17</mn><mo stretchy="false">)</mo></mrow>
k+1,k+2,…,M
<mrow><msub><mover accent="true"><mi>X</mi><mo>⌢</mo></mover><mrow><mi>k</mi><mo>,</mo><mi>k</mi><mo>+</mo><mn>1,</mn><mo>…</mo><mo>,</mo><mi>M</mi></mrow></msub></mrow>
Из приведенных выражений следует, что математическое ожидание и дисперсия условного распределения вероятности слоя k зависят только от элементов матрицы ковариации MMSE решения V, от значений символов созвездия X (т.е. символов-кандидатов на слоях k+1…М) и элементов вектора MMSE решения
.
1
2
M-1
M
T
Вероятность передачи всего вектора Х=(х,х,…,x,x) равна произведению вероятностей:
<mrow><mi>p</mi><mrow><mo>(</mo><mrow><msub><mi>x</mi><mn>1</mn></msub><mo>,</mo><msub><mi>x</mi><mn>2</mn></msub><mo>,</mo><mo>…</mo><msub><mi>x</mi><mrow><mi>M</mi><mo>−</mo><mn>1</mn></mrow></msub><mo>,</mo><msub><mi>x</mi><mi>M</mi></msub></mrow><mo>)</mo></mrow><mo>=</mo><mi>p</mi><mrow><mo>(</mo><mrow><msub><mi>x</mi><mn>1</mn></msub><mo>|</mo><msub><mi>x</mi><mn>2</mn></msub><mo>,</mo><mo>…</mo><msub><mi>x</mi><mrow><mi>M</mi><mo>−</mo><mn>1</mn></mrow></msub><mo>,</mo><msub><mi>x</mi><mi>M</mi></msub></mrow><mo>)</mo></mrow><mo>⋅</mo><mi>p</mi><mrow><mo>(</mo><mrow><msub><mi>x</mi><mn>2</mn></msub><mo>|</mo><msub><mi>x</mi><mn>3</mn></msub><mo>,</mo><mo>…</mo><msub><mi>x</mi><mrow><mi>M</mi><mo>−</mo><mn>1</mn></mrow></msub><mo>,</mo><msub><mi>x</mi><mi>M</mi></msub></mrow><mo>)</mo></mrow><mo>…</mo><mi>p</mi><mrow><mo>(</mo><mrow><msub><mi>x</mi><mrow><mi>M</mi><mo>−</mo><mn>1</mn></mrow></msub><mo>|</mo><msub><mi>x</mi><mi>M</mi></msub></mrow><mo>)</mo></mrow><mi>p</mi><mrow><mo>(</mo><mrow><msub><mi>x</mi><mi>M</mi></msub></mrow><mo>)</mo></mrow><mo stretchy="false">(</mo><mn>18</mn><mo stretchy="false">)</mo></mrow>
Каждый из сомножителей в (18) есть Гауссовская экспонента, определяемая выражениями (11)-(17), и, следовательно, вероятность для полного вектора можно описать выражением:
<mtable columnalign="left"><mtr><mtd><mi>p</mi><mrow><mo>(</mo><mrow><msub><mi>x</mi><mn>1</mn></msub><mo>,</mo><msub><mi>x</mi><mn>2</mn></msub><mo>,</mo><mo>…</mo><msub><mi>x</mi><mrow><mi>M</mi><mo>−</mo><mn>1</mn></mrow></msub><mo>,</mo><msub><mi>x</mi><mi>M</mi></msub></mrow><mo>)</mo></mrow><mo>=</mo><mi>C</mi><mi></mi><mi>exp</mi><mrow><mo>(</mo><mrow><mo>−</mo><mo stretchy="false">(</mo><mfrac><mrow><mo>|</mo><mo>|</mo><msub><mi>X</mi><mi>M</mi></msub><mo>−</mo><msub><mover accent="true"><mi>X</mi><mo>¯</mo></mover><mi>M</mi></msub><mo>|</mo><msup><mo>|</mo><mn>2</mn></msup></mrow><mrow><msub><mi>ρ</mi><mi>M</mi></msub></mrow></mfrac><mo>+</mo><mfrac><mrow><mo>|</mo><mo>|</mo><msub><mi>X</mi><mrow><mi>M</mi><mo>−</mo><mn>1</mn></mrow></msub><mo>−</mo><msub><mover accent="true"><mi>X</mi><mo>¯</mo></mover><mrow><mi>M</mi><mo>−</mo><mn>1</mn><mrow><mo>|</mo><mi>M</mi></mrow></mrow></msub><mo>|</mo><msup><mo>|</mo><mn>2</mn></msup></mrow><mrow><msub><mi>ρ</mi><mrow><mi>M</mi><mo>−</mo><mn>1</mn><mo>|</mo><mi>M</mi></mrow></msub></mrow></mfrac><mo>+</mo><mo>…</mo><mo>+</mo><mfrac><mrow><mo>|</mo><mo>|</mo><msub><mi>X</mi><mn>1</mn></msub><mo>−</mo><msub><mover accent="true"><mi>X</mi><mo>¯</mo></mover><mrow><mn>1</mn><mo>|</mo><mn>2,</mn><mo>…</mo><mo>,</mo><mi>M</mi><mo>−</mo><mn>1,</mn><mi>M</mi></mrow></msub><mo>|</mo><msup><mo>|</mo><mn>2</mn></msup></mrow><mrow><msub><mi>ρ</mi><mrow><mn>1</mn><mo>|</mo><mi>M</mi></mrow></msub></mrow></mfrac><mo stretchy="false">)</mo></mrow><mo>)</mo></mrow><mo>=</mo></mtd></mtr><mtr><mtd><mo>=</mo><mi>C</mi><mi></mi><mi>exp</mi><mrow><mo>(</mo><mrow><mo>−</mo><mstyle displaystyle="true"><munderover><mo>∑</mo><mrow><mi>k</mi><mo>=</mo><mn>1</mn></mrow><mi>M</mi></munderover><mrow><mfrac><mn>1</mn><mrow><msub><mi>ρ</mi><mi>k</mi></msub></mrow></mfrac><mo>|</mo><mo>|</mo><mstyle displaystyle="true"><munderover><mo>∑</mo><mrow><mi>i</mi><mo>=</mo><mi>k</mi><mo>+</mo><mn>1</mn></mrow><mi>M</mi></munderover><mrow><msub><mi>f</mi><mrow><mi>k</mi><mi>i</mi></mrow></msub><msub><mover accent="true"><mi>x</mi><mo>^</mo></mover><mi>i</mi></msub><mo>−</mo><mstyle displaystyle="true"><munderover><mo>∑</mo><mrow><mi>i</mi><mo>=</mo><mi>k</mi><mo>+</mo><mn>1</mn></mrow><mi>M</mi></munderover><mrow><msub><mi>f</mi><mrow><mi>k</mi><mi>i</mi></mrow></msub><msub><mi>x</mi><mi>i</mi></msub><mo>|</mo><msup><mo>|</mo><mn>2</mn></msup></mrow></mstyle></mrow></mstyle></mrow></mstyle></mrow><mo>)</mo></mrow><mo>,</mo><mi></mi><mtext> </mtext><mtext> </mtext><mtext> </mtext><mtext> </mtext><mtext> </mtext><mo stretchy="false">(</mo><mn>19</mn><mo stretchy="false">)</mo></mtd></mtr></mtable>
<mrow><msub><mover accent="true"><mi>x</mi><mo>^</mo></mover><mi>i</mi></msub></mrow>
<mover accent="true"><mi>x</mi><mo>^</mo></mover>
i
k,i
где
- компонента вектора MMSE решения
на слое i, x - символ кандидат из созвездия, определяемого видом модуляции, С - нормировочная константа, f - элемент треугольной матрицы. Индекс i означает, что данный символ кандидат выбирается для слоя i.
Назовем такой способ формирования треугольной матрицы “процедурой послойной оценки маргинальных вероятностей”.
Выражение (19) можно переписать в виде:
<mrow><mi>p</mi><mo stretchy="false">(</mo><msub><mi>x</mi><mn>1</mn></msub><mo>,</mo><msub><mi>x</mi><mn>2</mn></msub><mo>,</mo><mo>…</mo><msub><mi>x</mi><mrow><mi>M</mi><mo>-</mo><mn>1</mn></mrow></msub><mo>,</mo><msub><mi>x</mi><mi>M</mi></msub><mo stretchy="false">)</mo><mo>=</mo><mi>C</mi><mi></mi><mi>exp</mi><mrow><mo>(</mo><mrow><mo>−</mo><msup><mrow><mo stretchy="false">(</mo><mi>F</mi><mover accent="true"><mi>X</mi><mo>^</mo></mover><mo>−</mo><mi>F</mi><mi>X</mi><mo stretchy="false">)</mo></mrow><mi>H</mi></msup><msup><mi>ℜ</mi><mrow><mo>−</mo><mn>1</mn></mrow></msup><mo stretchy="false">(</mo><mi>F</mi><mover accent="true"><mi>X</mi><mo>^</mo></mover><mo>−</mo><mi>F</mi><mi>X</mi><mo stretchy="false">)</mo></mrow><mo>)</mo></mrow><mo>,</mo><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mo stretchy="false">(</mo><mn>20</mn><mo stretchy="false">)</mo></mrow>
k
где F - верхне-треугольная матрица, ℜ - диагональная матрица со значениями ρ на диагонали.
<mrow><mover accent="true"><mi>F</mi><mo>˜</mo></mover><mo>=</mo><msqrt><mi>ℜ</mi></msqrt><mi>F</mi></mrow>
Зададим верхне-треугольную матрицу
, тогда выражение (20) преобразуется в
<mrow><mi>p</mi><mo stretchy="false">(</mo><msub><mi>x</mi><mn>1</mn></msub><mo>,</mo><msub><mi>x</mi><mn>2</mn></msub><mo>,</mo><mo>…</mo><msub><mi>x</mi><mrow><mi>M</mi><mo>−</mo><mn>1</mn></mrow></msub><mo>,</mo><msub><mi>x</mi><mi>M</mi></msub><mo stretchy="false">)</mo><mo>=</mo><mi>C</mi><mi></mi><mi>exp</mi><mrow><mo>(</mo><mrow><mo>−</mo><mo>|</mo><mo>|</mo><mo stretchy="false">(</mo><mover accent="true"><mi>F</mi><mo>˜</mo></mover><mover accent="true"><mi>X</mi><mo>^</mo></mover><mo>−</mo><mover accent="true"><mi>F</mi><mo>˜</mo></mover><mi>X</mi><mo stretchy="false">)</mo><mo>|</mo><msup><mo>|</mo><mn>2</mn></msup></mrow><mo>)</mo></mrow><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mo stretchy="false">(</mo><mn>21</mn><mo stretchy="false">)</mo></mrow>
Нетрудно видеть, что вероятность неполного вектора (только для слоев k,…,М) может быть определена аналогичным выражением
<mrow><mi>p</mi><mo stretchy="false">(</mo><msub><mi>x</mi><mi>k</mi></msub><mo>,</mo><msub><mi>x</mi><mrow><mi>k</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>,</mo><mo>…</mo><msub><mi>x</mi><mi>M</mi></msub><mo stretchy="false">)</mo><mo>=</mo><mi>C</mi><mi></mi><mi>exp</mi><mrow><mo>(</mo><mrow><mo>-</mo><mo>|</mo><mo>|</mo><mo stretchy="false">(</mo><msub><mover accent="true"><mi>F</mi><mo>˜</mo></mover><mrow><mi>k</mi><mo>…</mo><mi>M</mi></mrow></msub><msub><mover accent="true"><mi>X</mi><mo>^</mo></mover><mrow><mi>k</mi><mo>…</mo><mi>M</mi></mrow></msub><mo>-</mo><msub><mover accent="true"><mi>F</mi><mo>˜</mo></mover><mrow><mi>k</mi><mo>…</mo><mi>M</mi></mrow></msub><msub><mi>X</mi><mrow><mi>k</mi><mo>…</mo><mi>M</mi></mrow></msub><mo stretchy="false">)</mo><mo>|</mo><msup><mo>|</mo><mn>2</mn></msup></mrow><mo>)</mo></mrow><mo>,</mo><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mrow><mo>(</mo><mrow><mn>22</mn></mrow><mo>)</mo></mrow></mrow>
<mrow><msub><mover accent="true"><mi>F</mi><mo>˜</mo></mover><mrow><mi>k</mi><mo>…</mo><mi>M</mi></mrow></msub></mrow>
<mover accent="true"><mi>F</mi><mo>˜</mo></mover>
где
- верхне-треугольная матрица, образованная нижними k-M строками и k-M столбцами матрицы
.
<mrow><mo>|</mo><mo>|</mo><mo stretchy="false">(</mo><msub><mover accent="true"><mi>F</mi><mo>˜</mo></mover><mrow><mi>k</mi><mo>…</mo><mi>M</mi></mrow></msub><msub><mover accent="true"><mi>X</mi><mo>^</mo></mover><mrow><mi>k</mi><mo>…</mo><mi>M</mi></mrow></msub><mo>-</mo><msub><mover accent="true"><mi>F</mi><mo>˜</mo></mover><mrow><mi>k</mi><mo>…</mo><mi>M</mi></mrow></msub><msub><mi>X</mi><mrow><mi>k</mi><mo>…</mo><mi>M</mi></mrow></msub><mo stretchy="false">)</mo><mo>|</mo><msup><mo>|</mo><mn>2</mn></msup></mrow>
Отсюда очевидно, что процесс поиска кандидатов может производиться послойно аналогично K-best, причем кандидаты на слое k выбираются из условия минимизации метрики
.
<mover accent="true"><mi>x</mi><mo>^</mo></mover>
Вероятности (21) и (22) получены на основе MMSE решения, которое дает смещенную оценку вектора
относительного его истинного значения. Для нахождения истинной функции правдоподобия, определяющей вероятность символа, представим распределение вероятности, задаваемое MMSE решением в виде произведения вероятностей:
<mrow><msub><mi>p</mi><mrow><mi>M</mi><mi>M</mi><mi>S</mi><mi>E</mi></mrow></msub><mrow><mo>(</mo><mrow><msub><mi>x</mi><mi>k</mi></msub><mo>,</mo><msub><mi>x</mi><mrow><mi>k</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>,</mo><mo>…</mo><msub><mi>x</mi><mi>M</mi></msub></mrow><mo>)</mo></mrow><mo>=</mo><mi>Λ</mi><mo stretchy="false">(</mo><mi>Y</mi><mo>|</mo><msub><mi>x</mi><mi>k</mi></msub><mo>,</mo><msub><mi>x</mi><mrow><mi>k</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>,</mo><mo>…</mo><msub><mi>x</mi><mi>M</mi></msub><mo stretchy="false">)</mo><msub><mi>P</mi><mrow><mi>Pr</mi></mrow></msub><mo stretchy="false">(</mo><msub><mi>x</mi><mi>k</mi></msub><mo>,</mo><msub><mi>x</mi><mrow><mi>k</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>,</mo><mo>…</mo><msub><mi>x</mi><mi>M</mi></msub><mo stretchy="false">)</mo><mo>,</mo><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mo stretchy="false">(</mo><mn>23</mn><mo stretchy="false">)</mo></mrow>
k
k+1
M
Pr
k
k+1
M
где Λ(Y|x,x,…x) - истинная функция правдоподобия, основанная на измерениях (т.е. без априорной информации о принимаемых символах), P(x,x,…,x) - априорная информация о символах.
MMSE решение подразумевает Гауссовскую аппроксимацию искомого сигнала с нулевым математическим ожиданием и единичной дисперсией. Таким образом:
<mrow><msub><mi>P</mi><mrow><mi>Pr</mi></mrow></msub><mo stretchy="false">(</mo><msub><mi>x</mi><mi>k</mi></msub><mo>,</mo><msub><mi>x</mi><mrow><mi>k</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>,</mo><mo>…</mo><mo>,</mo><msub><mi>x</mi><mi>M</mi></msub><mo stretchy="false">)</mo><mo>=</mo><msub><mi>P</mi><mrow><mi>Pr</mi></mrow></msub><mo stretchy="false">(</mo><msub><mi>x</mi><mi>k</mi></msub><mo stretchy="false">)</mo><msub><mi>P</mi><mrow><mi>Pr</mi></mrow></msub><mo stretchy="false">(</mo><msub><mi>x</mi><mrow><mi>k</mi><mo>+</mo><mn>1</mn></mrow></msub><mo stretchy="false">)</mo><mo>…</mo><msub><mi>P</mi><mrow><mi>Pr</mi></mrow></msub><mo stretchy="false">(</mo><msub><mi>x</mi><mi>M</mi></msub><mo stretchy="false">)</mo><mo>=</mo><mi>exp</mi><mo stretchy="false">(</mo><mo>-</mo><mo>|</mo><mo>|</mo><msub><mi>x</mi><mi>k</mi></msub><mo>|</mo><msup><mo>|</mo><mn>2</mn></msup><mo>-</mo><mo>|</mo><mo>|</mo><msub><mi>x</mi><mrow><mi>k</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>|</mo><msup><mo>|</mo><mn>2</mn></msup><mo>-</mo><mo>…</mo><mo>-</mo><mo>|</mo><mo>|</mo><msub><mi>x</mi><mi>M</mi></msub><mo>|</mo><msup><mo>|</mo><mn>2</mn></msup><mo stretchy="false">)</mo><mo stretchy="false">(</mo><mn>24</mn><mo stretchy="false">)</mo></mrow>
<mrow><mi>Λ</mi><mo stretchy="false">(</mo><mi>Y</mi><mo>|</mo><msub><mi>x</mi><mi>k</mi></msub><mo>,</mo><msub><mi>x</mi><mrow><mi>k</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>,</mo><mo>…</mo><msub><mi>x</mi><mi>M</mi></msub><mo stretchy="false">)</mo><mo>=</mo><mi>C</mi><mi></mi><mi>exp</mi><mrow><mo>(</mo><mrow><mo>-</mo><mo>|</mo><mo>|</mo><mo stretchy="false">(</mo><msub><mover accent="true"><mi>F</mi><mo>˜</mo></mover><mrow><mi>k</mi><mo>…</mo><mi>M</mi></mrow></msub><msub><mover accent="true"><mi>X</mi><mo>^</mo></mover><mrow><mi>k</mi><mo>…</mo><mi>M</mi></mrow></msub><mo>-</mo><msub><mover accent="true"><mi>F</mi><mo>˜</mo></mover><mrow><mi>k</mi><mo>…</mo><mi>M</mi></mrow></msub><msub><mi>X</mi><mrow><mi>k</mi><mo>…</mo><mi>M</mi></mrow></msub><mo stretchy="false">)</mo><mo>|</mo><msup><mo>|</mo><mn>2</mn></msup><mo>+</mo><mo>|</mo><mo>|</mo><msub><mi>x</mi><mi>k</mi></msub><mo>|</mo><msup><mo>|</mo><mn>2</mn></msup><mo>+</mo><mo>|</mo><mo>|</mo><msub><mi>x</mi><mrow><mi>k</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>|</mo><msup><mo>|</mo><mn>2</mn></msup><mo>+</mo><mo>…</mo><mo>+</mo><mo>|</mo><msub><mi>x</mi><mi>M</mi></msub><mo>|</mo><msup><mo>|</mo><mn>2</mn></msup></mrow><mo>)</mo></mrow><mi></mi><mi></mi><mi></mi><mo stretchy="false">(</mo><mn>25</mn><mo stretchy="false">)</mo></mrow>
Для нахождения наилучшего кандидата на слое k мы ищем символ созвездия, дающий минимальную метрику:
<mrow><mo>|</mo><mo>|</mo><mo stretchy="false">(</mo><msub><mover accent="true"><mi>F</mi><mo>˜</mo></mover><mrow><mi>k</mi><mo>…</mo><mi>M</mi></mrow></msub><msub><mover accent="true"><mi>X</mi><mo>^</mo></mover><mrow><mi>k</mi><mo>…</mo><mi>M</mi></mrow></msub><mo>-</mo><msub><mover accent="true"><mi>F</mi><mo>˜</mo></mover><mrow><mi>k</mi><mo>…</mo><mi>M</mi></mrow></msub><msub><mi>X</mi><mrow><mi>k</mi><mo>…</mo><mi>M</mi></mrow></msub><mo stretchy="false">)</mo><mo>|</mo><msup><mo>|</mo><mn>2</mn></msup><mo>-</mo><mo>|</mo><mo>|</mo><msub><mi>x</mi><mi>k</mi></msub><mo>|</mo><msup><mo>|</mo><mn>2</mn></msup><mo>−</mo><mo>|</mo><mo>|</mo><msub><mi>x</mi><mrow><mi>k</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>|</mo><msup><mo>|</mo><mn>2</mn></msup><mo>−</mo><mo>…</mo><mo>−</mo><mo>|</mo><msub><mi>x</mi><mi>M</mi></msub><mo>|</mo><msup><mo>|</mo><mn>2</mn></msup><mi></mi><mi></mi><mi></mi><mo stretchy="false">(</mo><mn>26</mn><mo stretchy="false">)</mo></mrow>
Будем называть метрику (26) “модифицированным Евклидовым расстоянием”. После обработки всех слоев истинная функция правдоподобия для полного вектора переданных символов определяется выражением:
<mrow><mi>Λ</mi><mo stretchy="false">(</mo><mi>Y</mi><mo>|</mo><mi>X</mi><mo stretchy="false">)</mo><mo>=</mo><mi>C</mi><mi></mi><mi>exp</mi><mrow><mo>(</mo><mrow><mo>-</mo><mo>|</mo><mo>|</mo><mo stretchy="false">(</mo><mover accent="true"><mi>F</mi><mo>˜</mo></mover><mover accent="true"><mi>X</mi><mo>^</mo></mover><mo>-</mo><mover accent="true"><mi>F</mi><mo>˜</mo></mover><mi>X</mi><mo stretchy="false">)</mo><mo>|</mo><msup><mo>|</mo><mn>2</mn></msup><mo>+</mo><mo>|</mo><mo>|</mo><msub><mi>x</mi><mn>1</mn></msub><mo>|</mo><msup><mo>|</mo><mn>2</mn></msup><mo>+</mo><mo>|</mo><mo>|</mo><msub><mi>x</mi><mn>2</mn></msub><mo>|</mo><msup><mo>|</mo><mn>2</mn></msup><mo>+</mo><mo>…</mo><mo>−</mo><mo>+</mo><mo>|</mo><msub><mi>x</mi><mi>M</mi></msub><mo>|</mo><msup><mo>|</mo><mn>2</mn></msup></mrow><mo>)</mo></mrow><mi></mi><mi></mi><mo stretchy="false">(</mo><mn>27</mn><mo stretchy="false">)</mo><mi></mi></mrow>
В качестве примера приведем расчет элементов треугольной матрицы F для MIMO системы 3х3.
Пусть MMSE решение дает исходную матрицу ковариации
<mrow><mi>V</mi><mo>=</mo><mrow><mo>[</mo><mrow><mtable><mtr><mtd><mrow><msub><mi>ν</mi><mrow><mn>11</mn></mrow></msub></mrow></mtd><mtd><mrow><msub><mi>ν</mi><mrow><mn>12</mn></mrow></msub></mrow></mtd><mtd><mrow><msub><mi>ν</mi><mrow><mn>13</mn></mrow></msub></mrow></mtd></mtr><mtr><mtd><mrow><msub><mi>ν</mi><mrow><mn>21</mn></mrow></msub></mrow></mtd><mtd><mrow><msub><mi>ν</mi><mrow><mn>22</mn></mrow></msub></mrow></mtd><mtd><mrow><msub><mi>ν</mi><mrow><mn>23</mn></mrow></msub></mrow></mtd></mtr><mtr><mtd><mrow><msub><mi>ν</mi><mrow><mn>31</mn></mrow></msub></mrow></mtd><mtd><mrow><msub><mi>ν</mi><mrow><mn>32</mn></mrow></msub></mrow></mtd><mtd><mrow><msub><mi>ν</mi><mrow><mn>33</mn></mrow></msub></mrow></mtd></mtr></mtable></mrow><mo>]</mo></mrow><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mo stretchy="false">(</mo><mn>2</mn><mn>8</mn><mo stretchy="false">)</mo></mrow>
Для слоя 3:
<mtable columnalign="left"><mtr><mtd><msub><mi>ρ</mi><mn>4</mn></msub><mo>=</mo><msub><mi>ν</mi><mrow><mn>33</mn></mrow></msub><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mo stretchy="false">(</mo><mn>29</mn><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd><msub><mi>f</mi><mrow><mn>33</mn></mrow></msub><mo>=</mo><mn>1</mn><mo>;</mo></mtd></mtr></mtable>
Для слоя 2:
<mtable columnalign="left"><mtr><mtd><msub><mi>ρ</mi><mrow><mn>2</mn><mo>|</mo><mn>3</mn></mrow></msub><mo>=</mo><msub><mi>ν</mi><mrow><mn>22</mn></mrow></msub><mo>−</mo><mfrac><mrow><msub><mi>ν</mi><mrow><mn>23</mn></mrow></msub><msub><mi>ν</mi><mrow><mn>32</mn></mrow></msub></mrow><mrow><msub><mi>ν</mi><mrow><mn>33</mn></mrow></msub></mrow></mfrac></mtd></mtr><mtr><mtd><msub><mi>f</mi><mrow><mn>22</mn></mrow></msub><mo>=</mo><mn>1</mn><mtext>                                                </mtext><mo stretchy="false">(</mo><mn>3</mn><mn>0</mn><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd><msub><mi>f</mi><mrow><mn>23</mn></mrow></msub><mo>=</mo><mfrac><mrow><msub><mi>ν</mi><mrow><mn>23</mn></mrow></msub></mrow><mrow><msub><mi>ν</mi><mrow><mn>33</mn></mrow></msub></mrow></mfrac></mtd></mtr></mtable>
Для слоя 1:
<mtable columnalign="left"><mtr><mtd><msub><mi>ρ</mi><mrow><mn>1</mn><mo>|</mo><mn>23</mn></mrow></msub><mo>=</mo><msub><mi>ν</mi><mrow><mn>11</mn></mrow></msub><mo>−</mo><mfrac><mrow><msub><mi>ν</mi><mrow><mn>13</mn></mrow></msub><msub><mi>ν</mi><mrow><mn>31</mn></mrow></msub></mrow><mrow><msub><mi>ν</mi><mrow><mn>33</mn></mrow></msub></mrow></mfrac><mo>−</mo><mfrac><mrow><mo stretchy="false">(</mo><msub><mi>ν</mi><mrow><mn>12</mn></mrow></msub><msub><mi>ν</mi><mrow><mn>33</mn></mrow></msub><mo>-</mo><msub><mi>ν</mi><mrow><mn>13</mn></mrow></msub><msub><mi>ν</mi><mrow><mn>32</mn></mrow></msub><mo stretchy="false">)</mo><mo stretchy="false">(</mo><msub><mi>ν</mi><mrow><mn>21</mn></mrow></msub><msub><mi>ν</mi><mrow><mn>33</mn></mrow></msub><mo>-</mo><msub><mi>ν</mi><mrow><mn>23</mn></mrow></msub><msub><mi>ν</mi><mrow><mn>31</mn></mrow></msub><mo stretchy="false">)</mo></mrow><mrow><msub><mi>ν</mi><mrow><mn>33</mn></mrow></msub><mo stretchy="false">(</mo><msub><mi>ν</mi><mrow><mn>22</mn></mrow></msub><msub><mi>ν</mi><mrow><mn>33</mn></mrow></msub><mo>-</mo><msub><mi>ν</mi><mrow><mn>23</mn></mrow></msub><msub><mi>ν</mi><mrow><mn>32</mn></mrow></msub><mo stretchy="false">)</mo></mrow></mfrac></mtd></mtr><mtr><mtd><msub><mi>f</mi><mrow><mn>11</mn></mrow></msub><mo>=</mo><mn>1</mn></mtd></mtr><mtr><mtd><msub><mi>f</mi><mrow><mn>12</mn></mrow></msub><mo>=</mo><mfrac><mrow><msub><mi>ν</mi><mrow><mn>12</mn></mrow></msub><msub><mi>ν</mi><mrow><mn>33</mn></mrow></msub><mo>−</mo><msub><mi>ν</mi><mrow><mn>13</mn></mrow></msub><msub><mi>ν</mi><mrow><mn>32</mn></mrow></msub></mrow><mrow><msub><mi>ν</mi><mrow><mn>22</mn></mrow></msub><msub><mi>ν</mi><mrow><mn>33</mn></mrow></msub><mo>−</mo><msub><mi>ν</mi><mrow><mn>23</mn></mrow></msub><msub><mi>ν</mi><mrow><mn>32</mn></mrow></msub></mrow></mfrac><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mtable><mtr><mtd><mrow><mtable><mtr><mtd><mrow /></mtd><mtd><mrow /></mtd><mtd><mrow /></mtd><mtd><mrow /></mtd></mtr></mtable></mrow></mtd><mtd><mrow /></mtd><mtd><mrow /></mtd><mtd><mrow /></mtd></mtr></mtable><mi></mi><mo stretchy="false">(</mo><mn>31</mn><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd><msub><mi>f</mi><mrow><mn>13</mn></mrow></msub><mo>=</mo><mfrac><mrow><msub><mi>ν</mi><mrow><mn>13</mn></mrow></msub></mrow><mrow><msub><mi>ν</mi><mrow><mn>33</mn></mrow></msub></mrow></mfrac><mo>−</mo><mfrac><mrow><mo stretchy="false">(</mo><msub><mi>ν</mi><mrow><mn>12</mn></mrow></msub><msub><mi>ν</mi><mrow><mn>33</mn></mrow></msub><mo>-</mo><msub><mi>ν</mi><mrow><mn>13</mn></mrow></msub><msub><mi>ν</mi><mrow><mn>32</mn></mrow></msub><mo stretchy="false">)</mo><msub><mi>ν</mi><mrow><mn>23</mn></mrow></msub></mrow><mrow><mo stretchy="false">(</mo><msub><mi>ν</mi><mrow><mn>22</mn></mrow></msub><msub><mi>ν</mi><mrow><mn>33</mn></mrow></msub><mo>-</mo><msub><mi>ν</mi><mrow><mn>23</mn></mrow></msub><msub><mi>ν</mi><mrow><mn>32</mn></mrow></msub><mo stretchy="false">)</mo><msub><mi>ν</mi><mrow><mn>33</mn></mrow></msub></mrow></mfrac></mtd></mtr></mtable>
Существуют решения, позволяющие существенно упростить процедуру поиска наилучших кандидатов на слое. В [3] в процедуре К-best, основанной на QR декомпозиции, определяют кандидатов, имеющих наилучшие метрики в соответствии с иерархией, основанной на решении для текущего слоя. Для слоя k в соответствии с выражением (7) вычисляют «мягкий» символ
<mrow><msub><mover accent="true"><mi>x</mi><mo>˜</mo></mover><mi>k</mi></msub><mo>=</mo><mfrac><mn>1</mn><mrow><msub><mi>r</mi><mrow><mi>k</mi><mi>k</mi></mrow></msub></mrow></mfrac><mo stretchy="false">(</mo><msub><mi>z</mi><mi>k</mi></msub><mo>-</mo><msub><mi>r</mi><mrow><mi>k</mi><mo stretchy="false">(</mo><mi>k</mi><mo>+</mo><mn>1</mn><mo stretchy="false">)</mo></mrow></msub><msub><mi>x</mi><mrow><mi>k</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>-</mo><mn>....</mn><msub><mi>r</mi><mrow><mi>k</mi><mi>M</mi></mrow></msub><msub><mi>x</mi><mi>M</mi></msub><mo stretchy="false">)</mo><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mo stretchy="false">(</mo><mn>32</mn><mo stretchy="false">)</mo></mrow>
<mrow><msub><mover accent="true"><mi>x</mi><mo>˜</mo></mover><mi>k</mi></msub></mrow>
<mrow><msub><mover accent="true"><mi>x</mi><mo>˜</mo></mover><mi>k</mi></msub></mrow>
<mrow><msub><mover accent="true"><mi>x</mi><mo>˜</mo></mover><mi>k</mi></msub></mrow>
<mrow><msub><mover accent="true"><mi>x</mi><mo>˜</mo></mover><mi>k</mi></msub></mrow>
<mrow><msub><mover accent="true"><mi>x</mi><mo>˜</mo></mover><mi>k</mi></msub></mrow>
При этом метрики кандидатов на слое проверяют в соответствии с порядком, задаваемым значением
. Для этого округляют значения
(например, округление может делаться таким образом, чтобы определить ближайшую к
точку созвездия) и проверяют метрики кандидатов в соответствии с порядком, задаваемым таблицей, входом которой служит округленное значение
. Такой подход является корректным, поскольку в процедуре K-best, основанной на QR декомпозиции, как следует из (7) выбор наилучших кандидатов на слое целиком определяется значением
.
<mrow><mo>|</mo><mo>|</mo><msub><mi>x</mi><mi>k</mi></msub><mo>|</mo><msup><mo>|</mo><mn>2</mn></msup></mrow>
Однако в нашем случае это не так, поскольку, как следует из (25), метрика определяется также энергией символа-кандидата
. Тем не менее процедура упрощенного поиска символа-кандидата может быть применена и в предлагаемом методе. Для этого находят решение на слое k в соответствии с выражением:
<mrow><msub><mover accent="true"><mi>x</mi><mo>⌣</mo></mover><mi>k</mi></msub><mo>=</mo><mfrac><mn>1</mn><mrow><msub><mover accent="true"><mi>f</mi><mo>˜</mo></mover><mrow><mi>k</mi><mi>k</mi></mrow></msub></mrow></mfrac><mo stretchy="false">(</mo><msub><mover accent="true"><mi>F</mi><mo>˜</mo></mover><mrow><mi>k</mi><mo>,</mo><mi>k</mi><mo>…</mo><mi>M</mi></mrow></msub><msub><mover accent="true"><mi>X</mi><mo>^</mo></mover><mrow><mi>k</mi><mo>…</mo><mi>M</mi></mrow></msub><mo>−</mo><msub><mover accent="true"><mi>F</mi><mo>˜</mo></mover><mrow><mi>k</mi><mo>,</mo><mi>k</mi><mo>+</mo><mn>1</mn><mo>…</mo><mi>M</mi></mrow></msub><msub><mi>X</mi><mrow><mi>k</mi><mo>+</mo><mn>1</mn><mo>…</mo><mi>M</mi></mrow></msub><mo>−</mo><mo>|</mo><mo>|</mo><msub><mi>x</mi><mrow><mi>k</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>|</mo><msup><mo>|</mo><mn>2</mn></msup><mo>−</mo><mo>…</mo><mo>−</mo><mo>|</mo><msub><mi>x</mi><mi>M</mi></msub><mo>|</mo><msup><mo>|</mo><mn>2</mn></msup><mo stretchy="false">)</mo><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mi></mi><mo stretchy="false">(</mo><mn>33</mn><mo stretchy="false">)</mo></mrow>
<mrow><msub><mover accent="true"><mi>F</mi><mo>˜</mo></mover><mrow><mi>k</mi><mo>,</mo><mi>k</mi><mo>…</mo><mi>M</mi></mrow></msub></mrow>
<mover accent="true"><mi>F</mi><mo>˜</mo></mover>
<mrow><msub><mover accent="true"><mi>X</mi><mo>^</mo></mover><mrow><mi>k</mi><mo>…</mo><mi>M</mi></mrow></msub></mrow>
<mover accent="true"><mi>X</mi><mo>^</mo></mover>
<mrow><msub><mover accent="true"><mi>F</mi><mo>˜</mo></mover><mrow><mi>k</mi><mo>,</mo><mi>k</mi><mo>+</mo><mn>1</mn><mo>…</mo><mi>M</mi></mrow></msub></mrow>
<mover accent="true"><mi>F</mi><mo>˜</mo></mover>
<mrow><msub><mi>X</mi><mrow><mi>k</mi><mo>+</mo><mn>1</mn><mo>…</mo><mi>M</mi></mrow></msub></mrow>
где
- строка k треугольной матрицы
, в которой используются элементы с индексами k…М,
- нижняя часть вектора
, в котором используются элементы с индексами k=1…M,
- строка k треугольной матрицы
, в которой используются элементы с индексами k+1…М,
- вектор символов-кандидатов для слоев k+1…М (слоев, определенных на предыдущих шагах).
<mrow><msub><mover accent="true"><mi>x</mi><mo>⌣</mo></mover><mi>k</mi></msub></mrow>
Затем осуществляют поиск наилучших кандидатов в соответствии с иерархией, задаваемой округленным значением
.
Как видно из (33), мы пренебрегаем энергией символа при определении иерархии символов-кандидатов на текущем слое, что, безусловно, может приводить к некоторой деградации в работе алгоритма. Однако, как показывает моделирование, эта деградация не превышает нескольких десятых децибела. Заметим также, что приближенное значение (33) используется только для установления иерархии символов-кандидатов (т.е. при установлении порядка, в котором исследуются наилучшие метрики). В то же время при подсчете самих метрик по-прежнему используется точное выражение (26), учитывающее энергию символа на текущем слое.
В приведенном выше примере был рассмотрен вариант послойного поиска, который принято также называть «поиск в ширину» (“Breadth-first search”). Тем не менее предложенный подход может быть применен и к альтернативному методу поиска наилучших кандидатов, называемому «поиском в глубину» (“Depth-first search”). При данном методе метрика (26) на слое k сравнивается с пороговым значением, и в случае, если значение метрики меньше порога, поиск с данным набором кандидатов продолжают для слоя k-1. В противном случае данную ветвь поиска прекращают, возобновляя поиск со слоя k+1.
<mover accent="true"><mi>F</mi><mo>˜</mo></mover>
Также заметим, что верхне-треугольная матрица
может быть преобразована в нижне-треугольную. В этом случае поиск символов-кандидатов будет осуществляться, начиная с первого слоя в направлении последнего. При этом предварительная сортировка столбцов матрицы Н должна осуществляться в порядке убывания их метрик.
Предварительная сортировка столбцов матрицы Н задает порядок слоев, в котором осуществляют поиск символов-кандидатов. Существуют также иные методы сортировки, дающие близкие результаты. Например, можно сортировать слои в соответствии с модулями диагональных элементов матрицы ковариации MMSE решения V. При этом поиск по слоям осуществляют в порядке возрастания модулей соответствующих элементов.
Заявляемый способ обладает низкой вычислительной сложностью и, таким образом, может быть реализован в базовых станциях, фемто- и пико- сотах, а также в пользовательских терминалах и других элементах приемопередающих систем и сетей, использующих технологию многоантенной приемопередачи MIMO.
Источники информации
[1] - Scalable VLSI architecture for K-best Breadth-First Decoding, Patent No.: US 7889807 B2, Feb. 15, 2011.
[2] - Adaptive selection of survival symbol replica candidates based on Maximum reliability in QRM-MLD for OFCDM MIMO multiplexing. K.Higuchi et al. / IEEE Communication Society Globecom 2004. Pp.2480-2486.
[3] - MIMO multiplexing Communication system and a signal separation method. Patent No.: US 7864897 B2, Jan. 4, 2011.
[4] - Spherical decoder for wireless communications. Patent No.: 7822150 B2, Oct. 26, 2010.
[5] - Apparatus and method for detecting signals in multi-input multi-output system. Patent Application No.: US 2007/0291882 Al, Dec. 20, 2007.
[6] - Near ML Decoding method based on metric-first search and branch length threshold. Patent Application No.: US 2010/0157785 A1, Jun. 24, 2010.
[7] - 3GPP TR 36.803v1.1.0 (2008-04). 3rd Generation Partnership Project; Technical Specification Group Radio Access Network; Evolved Universal Terrestrial Radio Access (E-UTRA); User Equipment (UE) radio transmission and reception; (Release 8).