2014 dxdy logo

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

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




На страницу Пред.  1, 2, 3, 4, 5  След.
 
 Re: Алгоритм кодирования и декодирования систем MIMO
Сообщение08.04.2014, 12:43 
Аватара пользователя
Да, полностью с Вами согласен, способ (формулы) восстановление сигнала зависит от кодировки.
Цитата:
Если это так, то вряд ли и , найденные первым способом и вторым способом, надо как-то суммировать, чтобы найти среднее. Это же просто значения сигнала в разные моменты времени.

Хорошо. К примеру в первый момент времени (первая кодировка) мы восстановили значения $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 
Аватара пользователя
Продолжаем эпопею с разбором различных формул, применительно к теме MIMO.
Вот не ясна следующая вещь...
Каким образом был вычислен второй множитель (подчеркнут красным), при условии которое написано внизу данного выражения (10.45)?
Буду очень благодарен за разъяснения!
Изображение

 
 
 
 Re: Алгоритм кодирования и декодирования систем MIMO
Сообщение22.05.2014, 12:14 
Аватара пользователя
Уже все выяснил! Под индексом H понимаем эрмитово сопряжение, а если так, то все в порядке. Это транспонированная, комплексно-сопряженная матрица.

 
 
 
 Re: Алгоритм кодирования и декодирования систем MIMO
Сообщение22.05.2014, 14:45 
Аватара пользователя
Ну, замечательно. :P

 
 
 
 Re: Алгоритм кодирования и декодирования систем MIMO
Сообщение23.05.2014, 09:11 
Аватара пользователя
Да, а почему минимальное расстояние или минимальный ранг (the minimum rank), честно говоря не понял как точно переводиться?, равняется именно 2??? Как это было определено?

 
 
 
 Re: Алгоритм кодирования и декодирования систем MIMO
Сообщение23.05.2014, 09:47 
Аватара пользователя
Для этого надо знать понятия:
Минор
Ранг матрицы
Ранг матрицы $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 
Аватара пользователя
svv, спасибо огромное за пояснение! :D
т.е. это показывает что 2 строки (столбца) никаким образом не зависят друг от друга?

 
 
 
 Re: Алгоритм кодирования и декодирования систем MIMO
Сообщение23.05.2014, 13:58 
Аватара пользователя
Да, в смысле линейной зависимости.
Вот, например, две матрицы $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 
Аватара пользователя
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 
Аватара пользователя
Попутно еще один вопрос

Имеем $\[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 
Аватара пользователя
mike84
Прошу Вас подождать один-два дня.

 
 
 
 Re: Алгоритм кодирования и декодирования систем MIMO
Сообщение09.06.2014, 13:11 
Аватара пользователя
svv
Пожалуйста! Буду очень рад помощи и содействия! :D

 
 
 
 Re: Алгоритм кодирования и декодирования систем MIMO
Сообщение09.06.2014, 17:10 
Аватара пользователя
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 
Аватара пользователя
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 
Аватара пользователя
Предлагаю еще раз повторить, исключая прежние ошибки.

Метод 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  След.


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group