Математический форум Math Help Planet
http://mathhelpplanet.com/

Альтернатива методу максимального правдоподобия радиосвязи
http://mathhelpplanet.com/viewtopic.php?f=37&t=57635
Страница 1 из 1

Автор:  mike84 [ 03 янв 2018, 00:23 ]
Заголовок сообщения:  Альтернатива методу максимального правдоподобия радиосвязи

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

КОДИРОВАНИЕ
Передаваемые биты [math]{c_i}[/math] (01101001010110011010101 – к примеру), при [math]i = 0,\,1,\,2,\,3\,...[/math], подаются на вход передатчика. В передатчике применяется модуляция М-PSK (фазовая модуляция) со следующим созвездием сигналов:

[math]{x_k} = \frac{1}{{\sqrt {nTx} }}\exp \left( {\frac{{2{\pi}kj}}{M}} \right)[/math] при [math]k = 0,1,2,...,M - 1[/math]. [math](1)[/math]

Где [math]k[/math][math]k[/math]-й сигнал созвездия модуляции;
[math]M[/math] – количество сигналов созвездия (может принимать значения 2, 4, 8, 16, 32 … и т.д.);
[math]nTx[/math] – число передающих антенн (может принимать значения 1, 2, 4, 8, … и т.д.).
К примеру, если [math]nTx = 2[/math] и [math]M = 2[/math], то [math]{x_k}[/math] принимает значения [math]{x_k}=\begin{pmatrix} 0.707 \\ -0.707 \end{pmatrix}[/math], а если [math]nTx = 2[/math] и [math]M = 4[/math], то [math]{x_k}[/math] принимает значения [math]{x_k}=\begin{pmatrix} 0.707 \\ 0.707i \\-0.707\\-0.707i \end{pmatrix}[/math].
Последовательность передаваемых бит [math]{c_i}[/math] разбивается на группы по [math]nTx\,m[/math] бит [math]\left( {m = {{\log }_2}M} \right)[/math], которые преобразуется в сигналы созвездия модуляции М-PSK. К примеру, [math]{x_k}=\begin{pmatrix} 0.707\to0 \\ -0.707\to1 \end{pmatrix}[/math] или [math]{x_k}=\begin{pmatrix} 0.707\to01 \\ 0.707i\to00 \\-0.707\to11\\-0.707i\to10 \end{pmatrix}[/math].

В случае [math]nTx = 2[/math] (две передающие антенны), кодирование основано на комплексной ортогональной форме и осуществляется по приведенной ниже табл. 1:
Момент времени ttt+1t+2t+3
Антенна 1[math]{x_1}[/math][math]- x_2^*[/math][math]{x_3}[/math][math]- x_4^*[/math]
Антенна 2[math]{x_2}[/math][math]x_1^*[/math][math]{x_4}[/math][math]x_3^*[/math]

Пояснения к Таблице 1:
Сигналы [math]{x_1}[/math] и [math]{x_2}[/math] являются опорными и передаются первой и второй антенной в момент времени [math]t[/math], а сигналы [math]- x_2^*[/math] и [math]x_1^*[/math] в момент [math]t+1[/math] ([math]{x^*}[/math] означает комплексное сопряжение к [math]x[/math]). Переданная таким образом матрица [math]{{\bf{G}}_1} = \begin{pmatrix} {x_1} & - x_2^* \\ {x_2} & x_1^* \end{pmatrix}[/math] не несет никакой информации о передаваемых данных, является опорной и одновременно комплексной ортогональной формой [math]\left( {{{\bf{G}}_1}{\bf{G}}_1^H = {{\bf{I}}_2}} \right)[/math] ([math]{ \cdot ^H}[/math] - эрмитово сопряжение).
В момент времени [math]t+2[/math] в кодер поступает блок информационных бит [math]nTx\,m[/math], исходя из значений которых по таблице состояний кодера (приведена далее) определяются два комплексных дифференциальных коэффициента [math]{R_1}[/math] и [math]{R_2}[/math], после чего рассчитываются значения сигналов [math]{x_3}[/math] и [math]{x_4}[/math]:

[math]({x_3},{x_4}) = {R_1}({x_1},{x_2}) + {R_2}( - x_2^*,x_1^*)[/math]. [math](2)[/math]

Выражение (2) называется правилом дифференциального кодирования. Процедура кодирования состоит в вычислении набора коэффициентов и по таблице состояний кодера (число состояний [math]j = {M^{nTx}}[/math]), значения которых зависят от множества комбинаций двоичных входных информационных значений [math]{c_i}[/math] (0 или 1), числа передающих антенн и вида модуляции. Векторы [math]{\left( {{R_1},\;{R_2}} \right)_j}[/math] при каждом из значений [math]j[/math] образуют множество [math]\bf{R}[/math].
В момент времени [math]t+2[/math] через первую и вторую антенны передаются сигналы [math]{x_3}[/math] и [math]{x_4}[/math] соответственно, а в момент [math]t+3[/math] – сигналы [math]- x_4^*[/math] и [math]x_3^*[/math]. Сигнальная матрица [math]{{\bf{G}}_2} = \begin{pmatrix} {x_3} & - x_4^* \\ {x_4} & x_3^* \end{pmatrix}[/math] несет информацию блока информационных бит [math]nTx\,m[/math] и также является комплексной ортогональной формой [math]\left( {{{\bf{G}}_2}{\bf{G}}_2^H = {{\bf{I}}_2}} \right)[/math].
Пример: Таблица состояний кодера при [math]nTx = 2[/math] и модуляции BPSK [math]\left( {M = 2} \right)[/math] (табл. 2)

j[math]{x_1}[/math][math]{x_2}[/math][math]{c_1}[/math][math]{c_2}[/math][math]{x_3}[/math][math]{x_4}[/math][math]{R_1}[/math][math]{R_2}[/math]
10,7070,707000,7070,70710
20,7070,707010,707-0,7070-1
30,7070,70710-0,7070,70701
40,7070,70711-0,707-0,707-10
10,707-0,707000,707-0,70710
20,707-0,70701-0,707-0,7070-1
30,707-0,707100,7070,70701
40,707-0,70711-0,7070,707-10

Аналогичным образом таблица дополнится случаями, при которых значения [math]{x_1}[/math] и [math]{x_2}[/math] равны [math]-0,707[/math], [math]0,707[/math] и [math]-0,707[/math], [math]-0,707[/math] соответственно.
Таким образом, существует взаимно однозначное соответствие между опорной матрицей [math]{{\bf{G}}_1}[/math], блоком информационных бит [math]nTx\,m[/math], дифференциальными коэффициентами [math]{R_1}[/math], [math]{R_2}[/math] и сигнальной матрицей [math]{{\bf{G}}_2}[/math].
Дифференциальные коэффициенты [math]{R_1}[/math] и [math]{R_2}[/math] рассчитываются как [math]{R_1} = {x_3}x_1^* + {x_4}x_2^*[/math]; [math]{R_2} = - {x_3}{x_2} + {x_4}{x_1}[/math] и задают множество [math]\bf{R}[/math] до начала процесса кодирования, исходя из возможных значений сигналов [math]{x_1}[/math], [math]{x_2}[/math], [math]{x_3}[/math] и [math]{x_4}[/math].
Структурная схема кодера передатчика приведена на рисунке.
Изображение

ДЕКОДИРОВАНИЕ
Рассмотрим случай использования двух передающих антенн [math]\left( {nTx = 2} \right)[/math] и одной приемной [math]\left( {nRx = 1} \right)[/math]. Обозначим через [math]{r_t}[/math] принимаемый сигнал, [math]{n_t}[/math] – шум в момент времени [math]t[/math], а [math]{h_1}[/math] и [math]{h_2}[/math] – канальные коэффициенты от первой и второй передающей антенны к приемной антенне (используется рэлеевский канал замираний, который поддерживается постоянным лишь (значения [math]{h_1}[/math] и [math]{h_2}[/math] – случайные величины) в пределах передачи минимум двух соседних матриц [math]{{\bf{G}}_i}[/math] - условие данного дифференциального метода кодирования). Принятые сигналы в моменты времени [math]t[/math], [math]t+1[/math], [math]t+2[/math] и [math]t+3[/math] могут быть соответственно записаны:

[math]\eqalign{
& {r_1} = {h_1}{x_1} + {h_2}{x_2} + {n_1}\,\,\,\, \cr
& {r_2} = - {h_1}x_2^* + {h_2}x_1^* + {n_2} \cr
& {r_3} = {h_1}{x_3} + {h_2}{x_4} + {n_3}\,\,\,\, \cr
& {r_4} = - {h_1}x_4^* + {h_2}x_3^* + {n_4} \cr}[/math]


Дифференциальный коэффициент [math]{\tilde R_1}[/math] ([math]\tilde \cdot[/math] - обозначает восстановленное значение) определяется [math]{\tilde R_1} = {r_3}r_1^* + r_4^*{r_2}[/math], а коэффициент [math]{\tilde R_2} = {r_3}r_2^* - r_4^*{r_1}[/math].
Приемник путем оценки максимального правдоподобия (9) выбирает ближайший вектор [math]\left( {{R_1},\;{R_2}} \right)[/math] из множества парных значений векторов дифференциальных коэффициентов [math]{({R_{j1}},\;{R_{j2}})_{j \in R}}[/math] при каждом из значений [math]j[/math] множества [math]\bf{R}[/math]. Затем для декодирования передаваемого блока битов [math]{c_1},\,{c_2}[/math] по Таблице состояний кодера применяется обратное отображение:

[math]{\left( {{{\tilde c}_1},\,{{\tilde c}_2}} \right)_j} = \mathop {\arg \min }\limits_{j \in R} \left\| {\left( {{R_{j1}},\,{R_{j2}}} \right) - \left( {{{\tilde R}_1},\,{{\tilde R}_2}} \right)} \right\|[/math] [math](9)[/math]

где [math]\left\| {\, \cdot \,} \right\|[/math] - норма Фробениуса. То есть, хочу подчеркнуть, необходимо перебрать всё множество парных значений векторов дифференциальных коэффициентов [math]{({R_{j1}},\;{R_{j2}})_{j \in R}}[/math] и, соответственно, получим [math]j[/math] значений аргумента (вначале вычисляем разность, потом берем норму Фробениуса и так [math]j[/math] раз). Затем находим минимальное значение аргумента и смотрим какому значению [math]j[/math] оно соответствует. После чего, по Таблице состояний кодера принимаем решение о передаваемых битах [math]{c_1},\,{c_2}[/math].
При увеличении позиционности фазовой модуляции (при [math]M = 8,\,16[/math] и т.д.) такой метод (метод максимального правдоподобия) приводит к возрастанию вычислительной сложности декодирования, поскольку число состояний таблицы состояний кодера [math]j = {M^{nTx}}[/math] (к примеру, при [math]M = 4[/math] и [math]nTx = 4[/math] [math]j = 256[/math], а при [math]M = 8[/math] и [math]nTx = 4[/math] [math]j = 4096[/math]) и нужно будет перебрать все возможные значения для того, чтобы провести декодирование бит [math]{c_1},\,{c_2}[/math].

А теперь сам ВОПРОС: Каким образом возможно сделать, что-то применить, чтобы каждый раз не перебирать все возможные значения парных векторов дифференциальных коэффициентов [math]{({R_{j1}},\;{R_{j2}})_{j \in R}}[/math].
В целом структурная схема декодера приемника показана на рисунке.
Изображение
Данный метод дифференциального кодирования основан на принципе относительного кодирования и допускает отсутствие канальной информации на приемной и передающей сторонах.

Страница 1 из 1 Часовой пояс: UTC + 3 часа [ Летнее время ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/