2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему На страницу Пред.  1, 2, 3, 4, 5  След.
 
 Re: Алгоритм кодирования и декодирования систем MIMO
Сообщение08.04.2014, 12:43 
Аватара пользователя


09/02/10

64
Приднестровье, Тирасполь
Да, полностью с Вами согласен, способ (формулы) восстановление сигнала зависит от кодировки.
Цитата:
Если это так, то вряд ли и , найденные первым способом и вторым способом, надо как-то суммировать, чтобы найти среднее. Это же просто значения сигнала в разные моменты времени.

Хорошо. К примеру в первый момент времени (первая кодировка) мы восстановили значения $x_1$ и $x_2$. Во второй момент времени опять получили $x_1$ и $x_2$. Вопрос, каким образом их сопоставить, ведь нам необходимо только одно значение $x_1$ и одно значение $x_2$, а у нас получается их по две штуки. Какое выбрать для декодирования?

И в книге авторы написали загадочные выражения 3.31 и 3.32. Откуда они взяты непонятно....

-- Вт апр 08, 2014 11:45:06 --

Еще нужен совет бывалого Матлабовца)

 Профиль  
                  
 
 Re: Алгоритм кодирования и декодирования систем MIMO
Сообщение22.05.2014, 09:02 
Аватара пользователя


09/02/10

64
Приднестровье, Тирасполь
Продолжаем эпопею с разбором различных формул, применительно к теме MIMO.
Вот не ясна следующая вещь...
Каким образом был вычислен второй множитель (подчеркнут красным), при условии которое написано внизу данного выражения (10.45)?
Буду очень благодарен за разъяснения!
Изображение

 Профиль  
                  
 
 Re: Алгоритм кодирования и декодирования систем MIMO
Сообщение22.05.2014, 12:14 
Аватара пользователя


09/02/10

64
Приднестровье, Тирасполь
Уже все выяснил! Под индексом H понимаем эрмитово сопряжение, а если так, то все в порядке. Это транспонированная, комплексно-сопряженная матрица.

 Профиль  
                  
 
 Re: Алгоритм кодирования и декодирования систем MIMO
Сообщение22.05.2014, 14:45 
Заслуженный участник
Аватара пользователя


23/07/08
10910
Crna Gora
Ну, замечательно. :P

 Профиль  
                  
 
 Re: Алгоритм кодирования и декодирования систем MIMO
Сообщение23.05.2014, 09:11 
Аватара пользователя


09/02/10

64
Приднестровье, Тирасполь
Да, а почему минимальное расстояние или минимальный ранг (the minimum rank), честно говоря не понял как точно переводиться?, равняется именно 2??? Как это было определено?

 Профиль  
                  
 
 Re: Алгоритм кодирования и декодирования систем MIMO
Сообщение23.05.2014, 09:47 
Заслуженный участник
Аватара пользователя


23/07/08
10910
Crna Gora
Для этого надо знать понятия:
Минор
Ранг матрицы
Ранг матрицы $2\times 2$ вообще может быть $0$, $1$ или $2$.

Вот у этой матрицы ранг $0$:
$\begin{bmatrix}0&0\\0&0\end{bmatrix}$
Нет ни одного ненулевого минора.

Вот у этой матрицы ранг $1$:
$\begin{bmatrix}12&4\\9&3\end{bmatrix}$
Есть ненулевые миноры порядка (размера) $1$, но нет ненулевых миноров порядка $2$. Единственный минор порядка $2$, т.е. определитель матрицы, равен $12\cdot 3-4\cdot 9=0$. Строки (или столбцы) линейно зависимы, например, первый столбец равен второму, умноженному на $3$. Или вторая строка равна первой, умноженной на $3/4$. Матрица вырождена. Обратной матрицы не существует.

Вот у этой матрицы ранг $2$:
$\begin{bmatrix}5&2\\-1&7\end{bmatrix}$
Минор порядка $2$, т.е. определитель матрицы, ненулевой. Матрица невырождена, для неё существует обратная матрица.

Умножение матрицы на ненулевой множитель, в Вашем случае $|e_1|^2+|e_2|^2$, не меняет ранга матрицы. Следовательно, достаточно показать, что определитель матрицы $I_2=\begin{bmatrix}1&0\\0&1\end{bmatrix}$ отличен от нуля:
$\det I_2=1\cdot 1-0\cdot 0=1$

 Профиль  
                  
 
 Re: Алгоритм кодирования и декодирования систем MIMO
Сообщение23.05.2014, 11:05 
Аватара пользователя


09/02/10

64
Приднестровье, Тирасполь
svv, спасибо огромное за пояснение! :D
т.е. это показывает что 2 строки (столбца) никаким образом не зависят друг от друга?

 Профиль  
                  
 
 Re: Алгоритм кодирования и декодирования систем MIMO
Сообщение23.05.2014, 13:58 
Заслуженный участник
Аватара пользователя


23/07/08
10910
Crna Gora
Да, в смысле линейной зависимости.
Вот, например, две матрицы $3\times 3$:
$\begin{bmatrix}1&10&-3\\-4&-14&2\\6&9&1\end{bmatrix}\quad\quad\begin{bmatrix}1&11&-3\\-4&-14&2\\6&9&1\end{bmatrix}$
Отличаются лишь одним элементом. Но разница велика: определитель левой матрицы $-16$, а правой $0$. Матрица слева — обычная матрица $3\times 3$, каких большинство, но матрица справа — вырожденная. Ранг левой матрицы равен $3$, это для матриц $3\times 3$ типичная ситуация, но ранг правой матрицы $2$, это исключительный случай.

Говорят, что определитель — индикатор линейной зависимости строк или столбцов квадратной матрицы. Если он равен нулю, строки и столбцы зависимы. Конкретно в правой матрице второй столбец равен первому, умноженному на $2$, плюс третьему, умноженному на $-3$. Иначе, он является линейной комбинацией первого и третьего столбца:
$\begin{bmatrix}11\\-14\\9\end{bmatrix}=2\begin{bmatrix}1\\-4\\6\end{bmatrix}-3\begin{bmatrix}-3\\2\\1\end{bmatrix}$
Понятно, на глаз заметить наличие зависимости трудно, а равенство нулю определителя это сразу показывает.

 Профиль  
                  
 
 Re: Алгоритм кодирования и декодирования систем MIMO
Сообщение09.06.2014, 10:34 
Аватара пользователя


09/02/10

64
Приднестровье, Тирасполь
svv, Спасибо за столь подробное разъяснение!!! Я его видел, просто не отписал..

У меня, если можно, вопрос следующего характера:

Имеем $\[\begin{array}{l}
 {y_1} = {h_{11}}{x_1} + {h_{12}}{x_2} + {n_1} \\ 
 {y_2} = {h_{21}}{x_1} + {h_{22}}{x_2} + {n_2} \\ 
 \end{array}\]$, или $\[\left[ {\begin{array}{*{20}{c}}
   {{y_1}}  \\
   {{y_2}}  \\
\end{array}} \right] = \left[ {\begin{array}{*{20}{c}}
   {{h_{11}}} & {{h_{12}}}  \\
   {{h_{21}}} & {{h_{22}}}  \\
\end{array}} \right]\left[ {\begin{array}{*{20}{c}}
   {{x_1}}  \\
   {{x_2}}  \\
\end{array}} \right] + \left[ {\begin{array}{*{20}{c}}
   {{n_1}}  \\
   {{n_2}}  \\
\end{array}} \right]\]$, или $\[y = Hx + n\]$

Для того чтобы определить $\[{\tilde x}\]$
$\[\tilde x = {\left( {{H^*}H} \right)^{ - 1}}{H^*}y\]$, или $\[\left[ {\begin{array}{*{20}{c}}
   {{{\tilde x}_1}}  \\
   {{{\tilde x}_2}}  \\
\end{array}} \right] = {\left( {{H^*}H} \right)^{ - 1}}{H^*}\left[ {\begin{array}{*{20}{c}}
   {{y_1}}  \\
   {{y_2}}  \\
\end{array}} \right]\]$

где $\[{\left( {{H^*}H} \right)^{ - 1}}{H^*}\]$ - псевдоинверсная матрица от $\[H\]$

$\[{\left( {{H^*}H} \right)^{ - 1}}\left( {{H^*}H} \right) = I\]$

По данным формулам $\[{\tilde x}\]$ вычисляется без проблем!, проверял сам.

Теперь имеем:
$\[\begin{array}{l}
 {y_1} = {h_{11}}{x_1} + {h_{12}}{x_2} + {n_1} \\ 
 {y_2} = {h_{21}}{x_1} + {h_{22}}{x_2} + {n_2} \\ 
 \end{array}\]$

$\[\left( {\begin{array}{*{20}{c}}
   {{r_1}}  \\
   {{r_2}}  \\
\end{array}} \right) = \left( {\begin{array}{*{20}{c}}
   {{y_1} - {h_{12}}{x_2}}  \\
   {{y_2} - {h_{22}}{x_2}}  \\
\end{array}} \right) = \left( {\begin{array}{*{20}{c}}
   {{h_{11}}{x_1} + {n_1}}  \\
   {{h_{21}}{x_1} + {n_2}}  \\
\end{array}} \right)\]$

Возьмем один полученный символ (например $\[{{{\tilde x}_2}}\]$) и вычтем его влияние из принятых в каждом канале сигналов

$\[\left[ {\begin{array}{*{20}{c}}
   {{r_1}}  \\
   {{r_2}}  \\
\end{array}} \right] = \left[ {\begin{array}{*{20}{c}}
   {{h_{11}}}  \\
   {{h_{21}}}  \\
\end{array}} \right]{x_1} + \left[ {\begin{array}{*{20}{c}}
   {{n_1}}  \\
   {{n_2}}  \\
\end{array}} \right]\]$, или $\[r = h{x_1} + n\]$

Из это следует, что для того чтобы определить $\[{{\tilde x}_1}\]$ необходимо

$\[{{\tilde x}_1} = {\left( {{h^*}h} \right)^{ - 1}}{h^*}r = \dfrac{{{h^*}r}}{{{h^*}h}}\]$

Вроде бы все верно, но инверсия не может быть взята от не квадратной матрицы, а $\[h\]$ является именно такой.

Здесь у меня проблема, хотя в изучаемом методическом пособии указанно именно так
Изображение
Изображение
Изображение

Не пойму, как они получают $\[{{\tilde x}_1}\]$?

 Профиль  
                  
 
 Re: Алгоритм кодирования и декодирования систем MIMO
Сообщение09.06.2014, 11:39 
Аватара пользователя


09/02/10

64
Приднестровье, Тирасполь
Попутно еще один вопрос

Имеем $\[W = {\left( {{H^*}H} \right)^{ - 1}}{H^*}\]$ и $\[W1 = \dfrac{{{H^*}}}{{{H^*}H}}\]$

Справедливо ли $\[W1 = W\]$ ?

Проверял в MatCad, не справедливо
W1=inv(conj(H)*H)*conj(H);
W=conj(H)/(conj(H)*H);

$\[W1 \ne W\]$

Вопрос, почему? Ведь запись вроде как равносильная?

Ведь то же самое написано в методическом пособии!

 Профиль  
                  
 
 Re: Алгоритм кодирования и декодирования систем MIMO
Сообщение09.06.2014, 12:46 
Заслуженный участник
Аватара пользователя


23/07/08
10910
Crna Gora
mike84
Прошу Вас подождать один-два дня.

 Профиль  
                  
 
 Re: Алгоритм кодирования и декодирования систем MIMO
Сообщение09.06.2014, 13:11 
Аватара пользователя


09/02/10

64
Приднестровье, Тирасполь
svv
Пожалуйста! Буду очень рад помощи и содействия! :D

 Профиль  
                  
 
 Re: Алгоритм кодирования и декодирования систем MIMO
Сообщение09.06.2014, 17:10 
Заслуженный участник
Аватара пользователя


23/07/08
10910
Crna Gora
mike84 в сообщении #873561 писал(а):
Имеем $\[\begin{array}{l}
 {y_1} = {h_{11}}{x_1} + {h_{12}}{x_2} + {n_1} \\ 
 {y_2} = {h_{21}}{x_1} + {h_{22}}{x_2} + {n_2} \\ 
 \end{array}\]$, или $\[\left[ {\begin{array}{*{20}{c}}
   {{y_1}}  \\
   {{y_2}}  \\
\end{array}} \right] = \left[ {\begin{array}{*{20}{c}}
   {{h_{11}}} & {{h_{12}}}  \\
   {{h_{21}}} & {{h_{22}}}  \\
\end{array}} \right]\left[ {\begin{array}{*{20}{c}}
   {{x_1}}  \\
   {{x_2}}  \\
\end{array}} \right] + \left[ {\begin{array}{*{20}{c}}
   {{n_1}}  \\
   {{n_2}}  \\
\end{array}} \right]\]$, или $\[y = Hx + n\]$

Для того чтобы определить $\[{\tilde x}\]$
$\[\tilde x = {\left( {{H^*}H} \right)^{ - 1}}{H^*}y\]$, или $\[\left[ {\begin{array}{*{20}{c}}
   {{{\tilde x}_1}}  \\
   {{{\tilde x}_2}}  \\
\end{array}} \right] = {\left( {{H^*}H} \right)^{ - 1}}{H^*}\left[ {\begin{array}{*{20}{c}}
   {{y_1}}  \\
   {{y_2}}  \\
\end{array}} \right]\]$
Мне здесь не всё понятно. Во-первых, $x$ и $\tilde x$ — это одно и то же? Если нет, как они связаны друг с другом, почему сначала Вы говорите об $x$, а затем об $\tilde x$? Второй вопрос — Вы сначала написали систему, в которую входит $n$, а затем $n$ как будто испарилось?

К сожалению, вопросов ещё много.
mike84 в сообщении #873561 писал(а):
Вроде бы все верно, но инверсия не может быть взята от не квадратной матрицы, а $\[h\]$ является именно такой.
Допустим, есть неквадратная матрица $A$, её размер $m\times n$ (причем $m>n$). Тогда размер матрицы $A^H$ будет $n\times m$, а размер $A^H A$ будет по общему правилу $n\times n$. Если к тому же матрица $A$ имеет ранг $n$ (меньше нам нельзя, а больше невозможно), то и произведение $A^H A$ будет иметь тот же ранг. В таком случае матрица $A^H A$ квадратная и невырожденная, и у нее есть обратная матрица $(A^H A)^{-1}$.

 Профиль  
                  
 
 Re: Алгоритм кодирования и декодирования систем MIMO
Сообщение10.06.2014, 12:34 
Аватара пользователя


09/02/10

64
Приднестровье, Тирасполь
svv, Спасибо за Ваш отклик, попытку разобраться и помочь!

$\[{\tilde x}\]$ является восстановленным значением от $\[x\]$.
$\[{\tilde x}\]$ подвержено влиянию шума $\[n\]$.

Мы передаем в канал связи $\[x\]$, а получаем $\[{\tilde x}\]$.

Если к примеру мы бы знали точные значения шума в нужные нам моменты времени, то формула бы выглядела следующим образом

$\[\tilde x = {\left( {{H^H}H} \right)^{ - 1}}{H^H}\left( {y - n} \right)\]$, или $\[\left[ {\begin{array}{*{20}{c}}
   {{{\tilde x}_1}}  \\
   {{{\tilde x}_2}}  \\
\end{array}} \right] = {\left( {{H^H}H} \right)^{ - 1}}{H^H}\left[ {\begin{array}{*{20}{c}}
   {{y_1} - {n_1}}  \\
   {{y_2} - {n_2}}  \\
\end{array}} \right]\]$

Но т.к. мы этого не знаем, мы в соответствии с реальностью не можем так написать. В любом случае все восстановленные значения $\[{\tilde x}\]$ проходят процедуру демодуляции (в демодуляторе предлагаются пределы разброса значений, если то или иное значение попадает в тот или иной предел, оно так и будет промодулировано).

Со вторым вопросом разобрался! Спасибо Вы помогли!
Цитата:
Вроде бы все верно, но инверсия не может быть взята от не квадратной матрицы, а h является именно такой.

$\[{{\tilde x}_1} = {\left( {{h^H}h} \right)^{ - 1}}{h^H}r\]$, идеальный случай $\[{{\tilde x}_1} = {\left( {{h^H}h} \right)^{ - 1}}{h^H}\left[ {\begin{array}{*{20}{c}}
   {{r_1} - {n_1}}  \\
   {{r_2} - {n_2}}  \\
\end{array}} \right]\]$

Я применял комплексное сопряжение, а не эрмитово..

Да, если много вопросов это очень хорошо. Будет возможность во всем детально разобраться! :D

-- Вт июн 10, 2014 11:53:43 --

Честно говоря не вижу разницы в этих двух методах Zero-forcing (ZF) и ZF-SIC..
Попробую еще поэкспериментировать чтобы выявить разницу!

 Профиль  
                  
 
 Re: Алгоритм кодирования и декодирования систем MIMO
Сообщение16.06.2014, 14:08 
Аватара пользователя


09/02/10

64
Приднестровье, Тирасполь
Предлагаю еще раз повторить, исключая прежние ошибки.

Метод Zero Forcing (ZF)

Схема - 2 передающие и 2 приемные антенны.
$\[x\]$ - информационные символы
$\[H\]$ - матрица канала передачи
$\[y\]$ - сигнал на входе приемной антенны
$\[{\tilde x}\]$ - восстановленное значение $\[x\]$ после прохождения канала связи
$\[W = {\left( {{H^H}H} \right)^{ - 1}}{H^H}\]$ - псевдоинверсная матрица от $\[H\]$, $\[{\left( {{H^H}H} \right)^{ - 1}}\left( {{H^H}H} \right) = I\]$

В один и тот же момент времени первая и вторая передающие антенны излучают сигналы $\[{{x_1}}\]$ и $\[{{x_2}}\]$ соответственно.
В один и тот же момент времени первая и вторая приемные антенны принимают сигналы $\[{{y_1}}\]$ и $\[{{y_2}}\]$ соответственно.

Имеем $\[\left\{ {\begin{array}{*{20}{c}}
   {{y_1} = {h_{11}}{x_1} + {h_{12}}{x_2}}  \\
   {{y_2} = {h_{21}}{x_1} + {h_{22}}{x_2}}  \\
\end{array}} \right. \Rightarrow \left[ {\begin{array}{*{20}{c}}
   {{y_1}}  \\
   {{y_2}}  \\
\end{array}} \right] = \left[ {\begin{array}{*{20}{c}}
   {{h_{11}}} & {{h_{12}}}  \\
   {{h_{21}}} & {{h_{22}}}  \\
\end{array}} \right]\left[ {\begin{array}{*{20}{c}}
   {{x_1}}  \\
   {{x_2}}  \\
\end{array}} \right] \Rightarrow y = H \cdot x\]$

$\[x = \left[ {\begin{array}{*{20}{c}}
   {{x_1}}  \\
   {{x_2}}  \\
\end{array}} \right]\]$, $\[H = \left[ {\begin{array}{*{20}{c}}
   {{h_{11}}} & {{h_{12}}}  \\
   {{h_{21}}} & {{h_{22}}}  \\
\end{array}} \right]\]$, $\[W = \left[ {\begin{array}{*{20}{c}}
   {{w_{11}}} & {{w_{12}}}  \\
   {{w_{21}}} & {{w_{22}}}  \\
\end{array}} \right]\]$

Восстанавливаем $\[x = \left[ {\begin{array}{*{20}{c}}
   {{x_1}}  \\
   {{x_2}}  \\
\end{array}} \right]\]$

$\[\tilde x = W \cdot y \Rightarrow \left[ {\begin{array}{*{20}{c}}
   {{{\tilde x}_1}}  \\
   {{{\tilde x}_2}}  \\
\end{array}} \right] = \left[ {\begin{array}{*{20}{c}}
   {{w_{11}}} & {{w_{12}}}  \\
   {{w_{21}}} & {{w_{22}}}  \\
\end{array}} \right]\left[ {\begin{array}{*{20}{c}}
   {{y_1}}  \\
   {{y_2}}  \\
\end{array}} \right]\]$

Метод Zero Forcing with Successive Interference Cancellation (ZF-SIC)

Схема та же.

$\[{h_1} = \left[ {\begin{array}{*{20}{c}}
   {{h_{11}}}  \\
   {{h_{21}}}  \\
\end{array}} \right]\]$, $\[{h_2} = \left[ {\begin{array}{*{20}{c}}
   {{h_{12}}}  \\
   {{h_{22}}}  \\
\end{array}} \right]\]$

$\[{w_1} = {\left( {h_1^H{h_1}} \right)^{ - 1}}h_1^H\]$, $\[{w_2} = {\left( {h_2^H{h_2}} \right)^{ - 1}}h_2^H\]$

$\[\left\{ {\begin{array}{*{20}{c}}
   {{r_1} = {y_1} - {h_{12}}{x_2} = {h_{11}}{x_1}}  \\
   {{r_2} = {y_2} - {h_{22}}{x_2} = {h_{21}}{x_1}}  \\
\end{array}} \right. \Rightarrow \left[ {\begin{array}{*{20}{c}}
   {{r_1}}  \\
   {{r_2}}  \\
\end{array}} \right] = \left[ {\begin{array}{*{20}{c}}
   {{h_{11}}}  \\
   {{h_{21}}}  \\
\end{array}} \right]{x_1} \Rightarrow r = {h_1} \cdot {x_1}\]$

$\[{{\tilde x}_1} = {w_1} \cdot r \Rightarrow {{\tilde x}_1} = \left[ {\begin{array}{*{20}{c}}
   {{w_{11}}} & {{w_{21}}}  \\
\end{array}} \right]\left[ {\begin{array}{*{20}{c}}
   {{r_1}}  \\
   {{r_2}}  \\
\end{array}} \right]\]$

$\[\left\{ {\begin{array}{*{20}{c}}
   {{r_1} = {y_1} - {h_{11}}{x_1} = {h_{12}}{x_2}}  \\
   {{r_2} = {y_2} - {h_{21}}{x_1} = {h_{22}}{x_2}}  \\
\end{array}} \right. \Rightarrow \left[ {\begin{array}{*{20}{c}}
   {{r_1}}  \\
   {{r_2}}  \\
\end{array}} \right] = \left[ {\begin{array}{*{20}{c}}
   {{h_{12}}}  \\
   {{h_{22}}}  \\
\end{array}} \right]{x_2} \Rightarrow r = {h_2} \cdot {x_2}\]$

$\[{{\tilde x}_2} = {w_2} \cdot r \Rightarrow {{\tilde x}_2} = \left[ {\begin{array}{*{20}{c}}
   {{w_{12}}} & {{w_{22}}}  \\
\end{array}} \right]\left[ {\begin{array}{*{20}{c}}
   {{r_1}}  \\
   {{r_2}}  \\
\end{array}} \right]\]$

Эти два метода проверены и прекрасно работают при схеме 2х2. Моделировал в MatLab.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 61 ]  На страницу Пред.  1, 2, 3, 4, 5  След.

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group