2014 dxdy logo

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

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




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


09/02/10

64
Приднестровье, Тирасполь
А вот если случай 2х1 (2 передающие антенны и 1 приемная)?

Используем тот же метод ZF.

Имеем $\[y = {h_1}{x_1} + {h_2}{x_2}\]$

$\[x = \left[ {\begin{array}{*{20}{c}}
   {{x_1}}  \\
   {{x_2}}  \\
\end{array}} \right]\]$, $\[H = \left[ {\begin{array}{*{20}{c}}
   {{h_1}} & {{h_2}}  \\
\end{array}} \right]\]$

$\[y = \left[ {\begin{array}{*{20}{c}}
   {{h_1}} & {{h_2}}  \\
\end{array}} \right]\left[ {\begin{array}{*{20}{c}}
   {{x_1}}  \\
   {{x_2}}  \\
\end{array}} \right]\]$

а вот вычислить $\[W = {\left( {{H^H}H} \right)^{ - 1}}{H^H}\]$ не получается..???
Для того, чтобы затем посчитать по формуле $\[\left[ {\begin{array}{*{20}{c}}
   {{{\tilde x}_1}}  \\
   {{{\tilde x}_2}}  \\
\end{array}} \right] = \left[ {\begin{array}{*{20}{c}}
   {{w_1}}  \\
   {{w_2}}  \\
\end{array}} \right] \cdot y\]$

Если задать иначе $\[x = \left[ {\begin{array}{*{20}{c}}
   {{x_1}} & {{x_2}}  \\
\end{array}} \right]\]$, $\[H = \left[ {\begin{array}{*{20}{c}}
   {{h_1}}  \\
   {{h_2}}  \\
\end{array}} \right]\]$

$\[y = \left[ {\begin{array}{*{20}{c}}
   {{x_1}} & {{x_2}}  \\
\end{array}} \right]\left[ {\begin{array}{*{20}{c}}
   {{h_1}}  \\
   {{h_2}}  \\
\end{array}} \right]\]$

вычислить $\[W = {\left( {{H^H}H} \right)^{ - 1}}{H^H}\]$ получается

но при вычислении $\[\left[ {\begin{array}{*{20}{c}}
   {{{\tilde x}_1}} & {{{\tilde x}_2}}  \\
\end{array}} \right] = y \cdot \left[ {\begin{array}{*{20}{c}}
   {{w_1}} & {{w_2}}  \\
\end{array}} \right]\]$ получаем $\[x \ne \tilde x\]$

Пока не могу разобраться в чем дело ???

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


09/02/10

64
Приднестровье, Тирасполь
Рассмотрим случай 1х2 (1 передающая антенна и 2 приемные), по тому же методу ZF.

$\[x = {x_1}\]$, $\[H = \left[ {\begin{array}{*{20}{c}}
   {{h_1}}  \\
   {{h_2}}  \\
\end{array}} \right]\]$

$\[\left\{ {\begin{array}{*{20}{c}}
   {{y_1} = {h_1}x}  \\
   {{y_2} = {h_2}x}  \\
\end{array}} \right. \Rightarrow \left[ {\begin{array}{*{20}{c}}
   {{y_1}}  \\
   {{y_2}}  \\
\end{array}} \right] = \left[ {\begin{array}{*{20}{c}}
   {{h_1}}  \\
   {{h_2}}  \\
\end{array}} \right] \cdot x\]$, $\[W = {\left( {{H^H}H} \right)^{ - 1}}{H^H}\]$

$\[\tilde x = \left[ {\begin{array}{*{20}{c}}
   {{w_1}} & {{w_2}}  \\
\end{array}} \right]\left[ {\begin{array}{*{20}{c}}
   {{y_1}}  \\
   {{y_2}}  \\
\end{array}} \right]\]$

В этом случае все прекрасно получается!

Не пойму, почему не выходит случай 2х1 ??

-- Вт июн 17, 2014 07:56:51 --

Случай 2х3 при методе ZF тоже подтверждается.

-- Вт июн 17, 2014 08:09:23 --

Случай 3х2 при методе ZF так же не выходит..

Получается что метод ZF справедлив, только при $\[tx \le rx\]$, где $\[tx\]$ - количество передающих антенн, а $\[rx\]$ - количество приемных антенн.

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


09/02/10

64
Приднестровье, Тирасполь
Хотя для практики и внедрения было бы лучше обратное утверждение!
Количество передающих антенн (количество антенн к примеру на базовой станции) больше количества антенн у мобильного пользователя.

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


23/07/08
7870
Харьков
mike84, я попробую разобраться в этом, но мне нужно время. :D

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


23/07/08
7870
Харьков
Дело просто в том, что если $tx>rx$, то информации, принятой приемными антеннами, недостаточно для того, чтобы восстановить переданную информацию. Из одного числа $y$ Вы не восстановите два $x_1$ и $x_2$. Тем более несколько.

Аналогия 1. Ваш знакомый задумал два числа, $x_1$ и $x_2$. Это аналог двух передающих антенн.
Вы просите его назвать их сумму, он называет.
$\bullet$ Зная только сумму $y_1=x_1+x_2$, слагаемые восстановить невозможно. Это аналог одной приемной антенны.
$\bullet$ Если он Вам сообщит также и разность, $y_2=x_1-x_2$, тогда восстановление возможно. Это аналог двух приемных антенн.
$\bullet$ Если же он Вам дополнительно сообщит $y_3=2x_1+5x_2$, восстановление тем более возможно, информация даже избыточна. Это аналог трех приемных антенн.

Аналогия 2. Имеется неизвестный вектор $x$ в трехмерном пространстве. Надо узнать его компоненты. Человек, который «задумал» вектор, может для любого Вашего вектора $a$ сообщить скалярное произведение $(a,x)=a_1 x_1+a_2 x_2+a_3 x_3$.
$\bullet$ Если Вы дадите ему один вектор $a$, Вы получите одно число $y_1=(a, x)$, и всех трех компонент не восстановите.
$\bullet$ Даёте второй вектор $b$, получаете число $y_2=(b,x)$, этого ещё недостаточно.
$\bullet$ Даете третий вектор $c$, получаете число $y_3=(c,x)$, этого будет достаточно, при условии линейной независимости $a,b,c$.
$\bullet$ Если дать ещё векторы $d, e$ и так далее, Вам сообщат $y_4=(d, x), y_5=(e, x)$, но это уже избыточно. С точки зрения линейной алгебры, в трехмерном векторном пространстве четыре и более векторов всегда линейно зависимы.
Дав $n$ векторов, Вы получите систему из $n$ уравнений с тремя неизвестными. При $n<3$ однозначного решения не получится.

Обе аналогии очень близко соответствуют Вашей задаче.

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


09/02/10

64
Приднестровье, Тирасполь
svv, очередной раз спасибо Вам за разъяснения!!!
Действительно все логично, Вы правы!

Если рассмотреть сравнение данных случаев по скорости передачи символов, то получим:

Метод ZF при 2х2 - скорость равна 2 (за 1 момент времени передается 2 символа).
Метод ZF при 1х2 - скорость равна 1 (за 1 момент времени передается 1 символ).
Метод ZF при 2х1 - не вышел, по причине недостаточности информации для восстановления символов.
Метод ZF при 2х3 - скорость равна 2 (за 1 момент времени передается 2 символа).

Рассмотрим восстановление другим способом.

Случай 2х2.
Имеем $\[\left\{ {\begin{array}{*{20}{c}}
  {{y_1} = {h_{11}}{x_1} + {h_{21}}{x_2}} \\ 
  {{y_2} = {h_{12}}{x_1} + {h_{22}}{x_2}} 
\end{array} \to \left[ {\begin{array}{*{20}{c}}
  {{y_1}} \\ 
  {{y_2}} 
\end{array}} \right]} \right. = \left[ {\begin{array}{*{20}{c}}
  {{h_{11}}}&{{h_{21}}} \\ 
  {{h_{12}}}&{{h_{22}}} 
\end{array}} \right]\left[ {\begin{array}{*{20}{c}}
  {{x_1}} \\ 
  {{x_2}} 
\end{array}} \right]\]$

Восстановим $\[{x_1}\]$ и $\[{x_2}\]$.

$\[{{\tilde x}_1} = \dfrac{{\det \left[ {\begin{array}{*{20}{c}}
  {{y_1}}&{{h_{21}}} \\ 
  {{y_2}}&{{h_{22}}} 
\end{array}} \right]}}{{\det \left[ {\begin{array}{*{20}{c}}
  {{h_{11}}}&{{h_{21}}} \\ 
  {{h_{12}}}&{{h_{22}}} 
\end{array}} \right]}} = \dfrac{{{h_{22}}{y_1} - {h_{21}}{y_2}}}{{{h_{11}}{h_{22}} - {h_{12}}{h_{21}}}}\]$, $\[{{\tilde x}_2} = \dfrac{{\det \left[ {\begin{array}{*{20}{c}}
  {{h_{11}}}&{{y_1}} \\ 
  {{h_{12}}}&{{y_2}} 
\end{array}} \right]}}{{\det \left[ {\begin{array}{*{20}{c}}
  {{h_{11}}}&{{h_{21}}} \\ 
  {{h_{12}}}&{{h_{22}}} 
\end{array}} \right]}} = \dfrac{{{h_{11}}{y_2} - {h_{12}}{y_1}}}{{{h_{11}}{h_{22}} - {h_{12}}{h_{21}}}}\]$

Проверено в Matcad. За один такт (один момент времени) передается 2 символа, следовательно скорость равна 2.

Случай 2х1.

В следствии недостаточности информации на приемной стороне при использовании одного интервала времени для передачи 2-х символов. Случай рассматривает передачу 2-х символов за 2 момента времени, при чем в первый момент времени первая передающая антенна (далее - tx1) излучает символ $\[{{x_1}}\]$, а вторая передающая антенна (далее - tx2) - символ $\[{{x_2}}\]$. Во второй момент времени tx1 излучает $\[{{x_2}}\]$, а tx2 - $\[{{x_1}}\]$.

В следствии этого имеем $\[\left\{ {\begin{array}{*{20}{c}}
  {{y_1} = {h_1}{x_1} + {h_2}{x_2}} \\ 
  {{y_2} = {h_2}{x_1} + {h_1}{x_2}} 
\end{array} \to \left[ {\begin{array}{*{20}{c}}
  {{y_1}} \\ 
  {{y_2}} 
\end{array}} \right]} \right. = \left[ {\begin{array}{*{20}{c}}
  {{h_1}}&{{h_2}} \\ 
  {{h_2}}&{{h_1}} 
\end{array}} \right]\left[ {\begin{array}{*{20}{c}}
  {{x_1}} \\ 
  {{x_2}} 
\end{array}} \right]\]$

Восстановим $\[{x_1}\]$ и $\[{x_2}\]$.

$\[{{\tilde x}_1} = \dfrac{{\det \left[ {\begin{array}{*{20}{c}}
  {{y_1}}&{{h_2}} \\ 
  {{y_2}}&{{h_1}} 
\end{array}} \right]}}{{\det \left[ {\begin{array}{*{20}{c}}
  {{h_1}}&{{h_2}} \\ 
  {{h_2}}&{{h_1}} 
\end{array}} \right]}} = \dfrac{{{h_1}{y_1} - {h_2}{y_2}}}{{h_1^2 - h_2^2}}\]$, $\[{{\tilde x}_2} = \dfrac{{\det \left[ {\begin{array}{*{20}{c}}
  {{h_1}}&{{y_1}} \\ 
  {{h_2}}&{{y_2}} 
\end{array}} \right]}}{{\det \left[ {\begin{array}{*{20}{c}}
  {{h_1}}&{{h_2}} \\ 
  {{h_2}}&{{h_1}} 
\end{array}} \right]}} = \dfrac{{{h_1}{y_2} - {h_2}{y_1}}}{{h_1^2 - h_2^2}}\]$

Проверено в Matcad. За два такта (два момента времени) передается 2 символа, следовательно скорость равна 1.

Случай 1х2.

Предлагаемым способом не удалось найти решение в восстановлении $\[x\]$ за один такт, следовательно как и в прошлом случае применяем два момента времени для передачи одного символа, при чем в первый момент времени передающая антенна излучает символ $\[x\]$, а во второй момент времени передающая антенна излучает $\[ - x\]$.

Имеем $\[\left\{ {\begin{array}{*{20}{c}}
  {{y_1} = {h_1}x} \\ 
  {{y_2} = {h_2}x} 
\end{array}} \right. \to \left\{ {\begin{array}{*{20}{c}}
  {\tilde x = h_1^H{y_1}} \\ 
  {\tilde x = h_2^H{y_2}} 
\end{array}} \right.\]$

Совместим значения равные $\[{\tilde x}\]$
$\[\tilde x = h_1^H{y_1} + h_2^H{y_2} \to \tilde x = h_1^H{h_1}x + h_2^H{h_2}x \to \tilde x = \left( {{{\left| {{h_1}} \right|}^2} + {{\left| {{h_2}} \right|}^2}} \right)x\]$ $\[ \to x = \dfrac{{h_1^H{y_1} + h_2^H{y_2}}}{{{{\left| {{h_1}} \right|}^2} + {{\left| {{h_2}} \right|}^2}}}\]$

Проверено в Matcad. За два такта (два момента времени) передается 1 символ, следовательно скорость равна 0,5. Скорость как мы понимаем не приемлемая.. Метод ZF в данном случае более приемлем, скорость передачи равна 1.

-- Сб июн 21, 2014 12:22:43 --

По моему мнению метод ZF проще чем последний, хотя может я ошибаюсь..

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


09/02/10

64
Приднестровье, Тирасполь
Рассмотрим следующий метод - метод MMSE (Minimum Mean Square Error).
Если при методе ZF для восстановления передаваемых символов использовали выражение $\[\tilde x = {\left( {{H^H}H} \right)^{ - 1}}{H^H}y\]$, то в методе MMSE выражение выглядит в разных источниках по разному.
Приведу основные:
1. $\[\tilde x = {\left( {{H^H}H + \dfrac{{{N_0}}}{{{E_S}}}I} \right)^{ - 1}}{H^H}y\]$
2. $\[\tilde x = {\left( {{H^H}H + \dfrac{M}{{{\rho _0}}}I} \right)^{ - 1}}{H^H}y\]$
3. $\[\tilde x = {\left( {{H^H}H + \dfrac{1}{{{\rho _0}}}I} \right)^{ - 1}}{H^H}y\]$

где $\[{\rho _0} = \dfrac{{\sigma _S^2}}{{\sigma _Z^2}}\]$ - отношение согнал/шум
$\[{\sigma _S^2}\]$ - дисперсия (энергия) информационных символов (известная величина, определяемая типом модуляции и алфавитом)
$\[{\sigma _Z^2}\]$ - дисперсия (мощность) шумов приемника (измеренное значение, например до начала приема данных)
$\[H\]$ - канальная матрица (матрица коэффициентов передачи в канале связи)
$\[I\]$ - единичная матрица с числом строк/столбцов равному количеству пространственных каналов передачи, число которых напрямую зависит от числа передающих антенн.
$\[y\]$ - сигнал на входе приемной(-х) антенн
$\[{{N_0}}\]$ - мощность шума
$\[{{E_S}}\]$ - мощность сигнала
$\[M\]$ - число передающих антенн

Какое из данных выражений является адекватным?
Сейчас пытаюсь провести моделирование по методу MMSE при помощи этих выражений, но пока ничего не выходит, т.к. есть вопросы.

Вопрос. Как к примеру определить дисперсию информационных символов модуляции заведомо, зная только тип модуляции и алфавит?

-- Пт июн 27, 2014 07:57:39 --

В принципе выражения 1 и 3 сравнимы, если учесть что $\[{\rho _0} = \dfrac{{\sigma _S^2}}{{\sigma _Z^2}} = \dfrac{{{E_S}}}{{{N_0}}}\]$ - отношение сигнал/шум
А выражение 2 быть может учитывает количество пространственных каналов?..., но как?

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


09/02/10

64
Приднестровье, Тирасполь
Предоставляю источники информации, в том числе по методу MMSE.
Возможно может кто-то захочет ознакомится так сказать напрямую.
1. https://yadi.sk/i/cuI7PmxQVLkiD - статья В.И. Джиган.
2. https://yadi.sk/i/gPTq4VXPVLiVL - книга Low Complexity MIMO Detection, стр. 21-31, 36-41 и т.д. к книге встречается часто упоминание.
3. https://yadi.sk/i/ruCxbUGzVLjUa - книга MIMO-OFDM Wireless Communications with MATLAB, стр. 321-327.
4. https://yadi.sk/i/ol27T9OQVLjnQ - учебно методическое пособие Адаптивная пространственн​ая обработка сигналов в системах беспроводной связи, стр. 42-46.
5. https://yadi.sk/i/BxMbg-aXVLkTr - методическое пособие Моделирование процессов и явлений в системах связи, стр. 73-76.
6. https://yadi.sk/d/oaCqzGXPVMP4j - учебное пособие Основы теории мобильной и беспроводной связи стр. 69, формула (3.13).

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


09/02/10

64
Приднестровье, Тирасполь
Выношу на обсуждение следующий вопрос.
Пробовал моделировать передачу информации методом ZF. Получается, но думаю не верно.
Проанализируйте пожалуйста текст программы.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
clear
i=100000; M=8; k=log2(M);
EbNo=[0:5:40];
x1=randint(i,1,M);
x2=pammod(x1,M);
x=reshape(x2,2,1,i/2);
n1=randn(i,1)+j*randn(i,1);
n=reshape(n1,2,1,i/2);
H1=randn(i*2,1)+j*randn(i*2,1);
H=reshape(H1,2,2,i/2);
W=zeros(2,2,i/2); % Выделение памяти для ускорения вычислений
for hh=1:i/2
W(:,:,hh)=inv(H(:,:,hh)'*H(:,:,hh))*H(:,:,hh)';
end
y=zeros(2,1,i/2); % Выделение памяти для ускорения вычислений
x_dec=zeros(2,1,i/2); % Выделение памяти для ускорения вычислений
for jj=1:length(EbNo)
for chan=1:i/2
y(:,:,chan)=H(:,:,chan)*x(:,:,chan)+n(:,:,chan)*sqrt(0.5/10^(EbNo(jj)/10)); %*10^(-EbNo(jj)/20);
x_dec(:,:,chan)=W(:,:,chan)*y(:,:,chan);
end
x_dec1(:,jj)=reshape(x_dec,i,1);
end
z=pamdemod(x_dec1,M);
% Вычисляем эмпирическую вероятность ошибки на символ
[num,rt] = symerr(x1,z);
semilogy(EbNo,rt,'r');
xlabel('E_b/N_0 (dB)');
ylabel('Symbol Error Rate');
title('Comparing Theoretical and Empirical Error Rates');
grid on;
axis([EbNo([1 end]) 1e-7 1e0])
legend('Empirical SER');
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Самая проблема в том, что я не понимаю как правильно учитывать шум при различном отношении сигнал/шум?
вот эта стока
y(:,:,chan)=H(:,:,chan)*x(:,:,chan)+n(:,:,chan)*sqrt(0.5/10^(EbNo(jj)/10));
правильно ли я добавляю *sqrt(0.5/10^(EbNo(jj)/10))??, в иных источниках *10^(-EbNo(jj)/20)
как вообще это правильно сделать?

Также иногда делят генерируемые случайные величины Канальную матрицу H и шум n на $\[\sqrt 2 \]$.

Помогите разобраться пожалуйста. :D

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


09/02/10

64
Приднестровье, Тирасполь
Добрый вечер всем!!!!
Вот никак не могу до конца разобраться...
Если посмотрите ранее в этой теме, то мне помогали решить подобное, только с антеннами 2х2, методом Крамера. А вот это откуда вылезло не пойму... никак
http://savepic.net/6264696.htm
Имеем
$
\[\left[ {\begin{array}{*{20}{c}}
{{r_1}}\\
{{r_2}}
\end{array}} \right] = \left[ {\begin{array}{*{20}{c}}
{{h_1}}\\
{{h_2}}
\end{array}} \right]x + \left[ {\begin{array}{*{20}{c}}
{{n_1}}\\
{{n_2}}
\end{array}} \right]\]$

Откуда получено $\[\tilde x = h_1^*{y_1} + h_2^*{y_2}\]$ непонятно....

ну и соответственно $\[\tilde x = h_1^*{h_1}x + h_1^*{n_1} + h_2^*{h_2}x + h_2^*{n_2}\]$

SVV, очень мне помог в разъяснении следующего, то там квадратная матрица, а в моем случае нет...
далее его разъяснения, которые я взял со страницы 1, этой темы
"Я с этой тематикой незнаком, но кое-что и так можно понять. У Вас есть формулы
$r_1=h_1 x_1+h_2 x_2$
$r_2=-h_1 x_2^*+h_2 x_1^*$
Возьмем от второй формулы комплексное сопряжение и переставим слагаемые, получим
$r_2^*=h_2^* x_1-h_1^* x_2$

Обе формулы можно объединить в матричной форме:
$\begin{pmatrix}r_1\\r_2^*\end{pmatrix}=\begin{pmatrix}h_1&h_2\\h_2^*&-h_1^*\end{pmatrix}\begin{pmatrix}x_1\\x_2\end{pmatrix}$

Находим $x_1, x_2$ по формулам Крамера:
$x_1=\dfrac{\begin{vmatrix}r_1&h_2\\r_2^*&-h_1^*\end{vmatrix}}{\begin{vmatrix}h_1&h_2\\h_2^*&-h_1^*\end{vmatrix}}=\dfrac{-h_1^*r_1-h_2 r_2^*}{-h_1 h_1^*-h_2 h_2^*}=\dfrac{h_1^*r_1+h_2 r_2^*}{h_1 h_1^*+h_2 h_2^*}$

$x_2=\dfrac{\begin{vmatrix}h_1&r_1\\h_2^*&r_2^*\end{vmatrix}}{\begin{vmatrix}h_1&h_2\\h_2^*&-h_1^*\end{vmatrix}}=\dfrac{h_1 r_2^*-h_2^*r_1}{-h_1 h_1^*-h_2 h_2^*}=\dfrac{h_2^*r_1-h_1 r_2^*}{h_1 h_1^*+h_2 h_2^*}$

Теперь, чтобы получились в точности Ваши формулы, необходимо только одно условие:
$h_1 h_1^*+h_2 h_2^*=1$

Наверняка оно где-то упоминалось или следует из каких-то соображений."

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


09/02/10

64
Приднестровье, Тирасполь
Или в таком случае объясните мне следующий пример

$\[h = \left( {\begin{array}{*{20}{c}}
{2 + 5i}\\
{3 - 6i}
\end{array}} \right)\]$
$\[x = 5 + 5i\]$
$\[Y = h \cdot x = \left( {\begin{array}{*{20}{c}}
{ - 15 + 35i}\\
{45 - 15i}
\end{array}} \right)\]$
$\[x1 = \dfrac{{h_0^H{Y_0}}}{{h_0^H{h_0}}} = 5 + 5i\]$,

$\[x2 = \dfrac{{h_1^H{Y_1}}}{{h_1^H{h_1}}} = 5 + 5i\]$,

$\[x3 = \dfrac{{h_0^H{Y_0} + h_1^H{Y_1}}}{{h_0^H{h_0} + h_1^H{h_1}}} = 5 + 5i\]$

индекс H обозначает Эрмитово сопряжение, т.е. комплексное сопряжение + транспонирование

как получаем x1 и x2 понятно, но как мы получаем x3 той же величины что и x1 или x2 пока не понятно...


тут все на поверхности лежит, а я понять не могу..... или сегодня немного переработался)
$\[x1 = \dfrac{2}{4} = 0.5\]$

$\[x2 = \dfrac{5}{{10}} = 0.5\]$

$\[x3 = \dfrac{{2 + 5}}{{4 + 10}} = \dfrac{7}{{14}} = 0.5\]$

:-) :-) :-)

-- Ср дек 17, 2014 20:28:53 --

Оказывается все до безобразия просто!
Производные пропорции
Если дана пропорция $\[\dfrac{a}{b} = \dfrac{c}{d}\]$, то справедливо $\[\dfrac{{a \pm c}}{{b \pm d}} = \dfrac{a}{b} = \dfrac{c}{d}\]$

Изображение

 Профиль  
                  
 
 Технология MIMO
Сообщение22.04.2015, 12:35 


22/04/15
2
Здравствуйте. Я вот студент 4-го курса и пишу диплом бакалавра по MIMO технологии.
Решил обратится к вам с такой вот просьбой. Не могли бы вы поделится немножко своей информацией в этой области или хотя бы источниками на русском языке. Еще интересуют меня какие-то наработки по моделированию MIMO в среде Matlab (или иных математических программных пакетах). Сроки горят, а у меня ничего не получается.
Спасибо.

-- 22.04.2015, 13:49 --

Вот нашел ZF алгоритм для 2х2 антенн.
Цитата:
Discuss the case where there a multiple (two) transmit antennas and multiple (two) receive antennas resulting in the formation of a 2x2 Multiple Input Multiple Output (MIMO) channel. We will assume that the channel is a flat fading Rayleigh multipath channel and the modulation is BPSK.

The equalization scheme used is Zero Forcing. As expected, the simulated results with a 2×2 MIMO system using BPSK modulation in Rayleigh channel is showing matching results as obtained in for a 1×1 system for BPSK modulation in Rayleigh channel.

Код:



% Script for computing the BER for BPSK modulation in a
% Rayleigh fading channel with 2 Tx, 2Rx MIMO channel
% Zero Forcing equalization

clear
N = 10^6; % number of bits or symbols
Eb_N0_dB = [0:25]; % multiple Eb/N0 values
nTx = 2;
nRx = 2;
for ii = 1:length(Eb_N0_dB)

    % Transmitter
    ip = rand(1,N)>0.5; % generating 0,1 with equal probability
    s = 2*ip-1; % BPSK modulation 0 -> -1; 1 -> 0

    sMod = kron(s,ones(nRx,1)); %
    sMod = reshape(sMod,[nRx,nTx,N/nTx]); % grouping in [nRx,nTx,N/NTx ] matrix

    h = 1/sqrt(2)*[randn(nRx,nTx,N/nTx) + j*randn(nRx,nTx,N/nTx)]; % Rayleigh channel
    n = 1/sqrt(2)*[randn(nRx,N/nTx) + j*randn(nRx,N/nTx)]; % white gaussian noise, 0dB variance

    % Channel and noise Noise addition
    y = squeeze(sum(h.*sMod,2)) + 10^(-Eb_N0_dB(ii)/20)*n;

    % Receiver

    % Forming the Zero Forcing equalization matrix W = inv(H^H*H)*H^H
    % H^H*H is of dimension [nTx x nTx]. In this case [2 x 2]
    % Inverse of a [2x2] matrix [a b; c d] = 1/(ad-bc)[d -b;-c a]
    hCof = zeros(2,2,N/nTx)  ;
    hCof(1,1,:) = sum(h(:,2,:).*conj(h(:,2,:)),1);  % d term
    hCof(2,2,:) = sum(h(:,1,:).*conj(h(:,1,:)),1);  % a term
    hCof(2,1,:) = -sum(h(:,2,:).*conj(h(:,1,:)),1); % c term
    hCof(1,2,:) = -sum(h(:,1,:).*conj(h(:,2,:)),1); % b term
    hDen = ((hCof(1,1,:).*hCof(2,2,:)) - (hCof(1,2,:).*hCof(2,1,:))); % ad-bc term
    hDen = reshape(kron(reshape(hDen,1,N/nTx),ones(2,2)),2,2,N/nTx);  % formatting for division
    hInv = hCof./hDen; % inv(H^H*H)

    hMod =  reshape(conj(h),nRx,N); % H^H operation
   
    yMod = kron(y,ones(1,2)); % formatting the received symbol for equalization
    yMod = sum(hMod.*yMod,1); % H^H * y
    yMod =  kron(reshape(yMod,2,N/nTx),ones(1,2)); % formatting
    yHat = sum(reshape(hInv,2,N).*yMod,1); % inv(H^H*H)*H^H*y
   
    % receiver - hard decision decoding
    ipHat = real(yHat)>0;

    % counting the errors
    nErr(ii) = size(find([ip- ipHat]),2);

end

simBer = nErr/N; % simulated ber
EbN0Lin = 10.^(Eb_N0_dB/10);
theoryBer_nRx1 = 0.5.*(1-1*(1+1./EbN0Lin).^(-0.5));
p = 1/2 - 1/2*(1+1./EbN0Lin).^(-1/2);
theoryBerMRC_nRx2 = p.^2.*(1+2*(1-p));

close all
figure
semilogy(Eb_N0_dB,theoryBer_nRx1,'bp-','LineWidth',2);
hold on
semilogy(Eb_N0_dB,theoryBerMRC_nRx2,'kd-','LineWidth',2);
semilogy(Eb_N0_dB,simBer,'mo-','LineWidth',2);
axis([0 25 10^-5 0.5])
grid on
legend('theory (nTx=1,nRx=1)', 'theory (nTx=1,nRx=2, MRC)', 'sim (nTx=2, nRx=2, ZF)');
xlabel('Average Eb/No,dB');
ylabel('Bit Error Rate');
title('BER for BPSK modulation with 2x2 MIMO and ZF equalizer (Rayleigh channel)');





 Профиль  
                  
 
 Re: Алгоритм кодирования и декодирования систем MIMO
Сообщение14.05.2015, 15:40 


22/04/15
2
Спасибо за отклики)
Вот http://www.twirpx.com/file/1623589/ неплохая книга.

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


15/06/15

3
Кишинев
Всем Добрый день!

Хочу поделиться своими рассуждениями в исследовании излагаемого вопроса и возможно вы поможете мне в его разрешении!))))) Итак начнем.
Как показано на рисунке 3.3 Изображение на передаче имеем 2 антенны, на приемной стороне 1-ну. Поток данных, который нам нужно передать разбиваем по 2 символа. К примеру возьмем два первых ${x_1}$ и ${x_2}$. Если так, то в соответствии с далее излагаемым принципом нам необходимо два момента времени, следующих один за другим. В каждый из моментов мы передаем определенным образом через обе антенны символы ${x_1}$ и ${x_2}$. Все это действие наглядно показано в Таблице 3.1. Изображение
Получается, что мы передаем данные символы согласно матрице передачи ${G_2} = \left[ {\begin{array}{*{20}{c}}{{x_1}}&{{x_2}} \\ { - x_2^*}&{x_1^*}\end{array}} \right]$, являющейся обобщенной вещественно ортогональной формой. Условие для того, чтобы матрица являлась обобщенной вещественно ортогональной формой, заключается в следующем:
${\left( {{G^*}} \right)^T} \cdot G = {G^H} \cdot G = I \cdot \left( {x_1^2 + x_2^2 + ... + x_k^2} \right)$ (УСЛОВИЕ 1)
где ${\left( {{G^*}} \right)^T}$ - комплексно сопряженная и затем транспонированная матрица $G$; ${G^H}$ - эрмитово сопряжение матрицы $G$; $I$ - диагональная единичная матрица.

Пробовал моделировать данную систему (рис 3.3) в пакете программ MATLAB - все прекрасно получается.
Вот результат: Изображение, график отражает зависимость вероятности ошибки принятого сигнала от отношения сигнал/шум в канале связи. В данном случае сравниваются общепринятая система с 1 передающей и 1 приемной антенной и системой (рис 3.3).
Да действительно матрица ${G_2}$ удовлетворяет указанному условию!!! $G_2^H \cdot {G_2} = \left[ {\begin{array}{*{20}{c}}{86}&0\\0&{86}\end{array}} \right]$, при ${x_1} = 3 - 3i$, ${x_2} = 8 - 2i$
Далее рассмотрел матрицу G такого вида: ${G_x} = \left[{\begin{array}{*{20}{c}}{{x_1}}&{{x_2}}\\{ - {x_2}}&{{x_1}}\end{array}} \right]$, результаты моделирования получились намного хуже... Изображение и к тому же не соблюдается УСЛОВИЕ 1, $G_x^H \cdot {G_x} = \left[ {\begin{array}{*{20}{c}}{86}&{36i}\\{ - 36i}&{86}\end{array}} \right]$
Хотя при моделировании в MACHCAD результаты получаются одинаковыми, но при введении шума иные. Привожу одни и вторые результаты, затем опишу их. Полученные системы уравнений решались при помощи метода Крамера.
Изображение, Изображение
Итак, что получилось в итоге? а вот что: Имея 2 идентичные системы (рис 3.3), но применяя различные матрицы передачи обобщенную вещественно ортогональную матрицу ${G_2}$ и не являющейся таковой ${G_x}$ без шума в канале связи (вообще без каких бы то ни было помех) получаем идентичные результаты на выходе! (что передали, то и получили на приеме). Но как только мы вносим шум в канал связи (причем идентичный, для чистоты эксперимента), то мы получаем результаты такие, что при использовании ${G_2}$ полученные на приеме сигналы значительно меньше отличаются от переданных, нежели в случае использования ${G_x}$. Возможно это получается в следствии того, что в первом случае мы использовали именно обобщенную вещественно ортогональную матрицу.

ВОПРОС: Почему получается именно так? Без шума результаты идентичные, а с шумом лучшие результаты у ${G_2}$?

Выходит, что для эффективной передачи данных с использованием системы на рис 3.3, (система 2*1) нам необходимо использовать матрицы, удовлетворяющие УСЛОВИЮ 1 ${\left( {{G^*}} \right)^T} \cdot G = {G^H} \cdot G = I \cdot \left( {x_1^2 + x_2^2 + ... + x_k^2} \right)$.
Если предположить, что на передающей стороне число антенн равно 4, при условии скорости кодирования R=1 (пример: за 2 момента времени мы передали 2 символа и за те же 2 момента времени мы их декодировали), то нам понадобиться обобщенная вещественно ортогональная матрица 4*4 (R=1), либо 4*8 (R=1/2), которая обязательно удовлетворяла УСЛОВИЮ 1.
Поиск таких матриц и является проблемой...
К примеру из источников нашел матрицу 4*8, удовлетворяющую УСЛОВИЮ 1 ${G_{4 \times 8}} = \left[ {\begin{array}{*{20}{c}}{{x_1}}&{ - {x_2}}&{ - {x_3}}&{ - {x_4}}&{x_1^*}&{ - x_2^*}&{ - x_3^*}&{ - x_4^*}\\{{x_2}}&{{x_1}}&{{x_4}}&{ - {x_3}}&{x_2^*}&{x_1^*}&{x_4^*}&{ - x_3^*}\\{{x_3}}&{ - {x_4}}&{{x_1}}&{{x_2}}&{x_3^*}&{ - x_4^*}&{x_1^*}&{x_2^*}\\{{x_4}}&{{x_3}}&{ - {x_2}}&{{x_1}}&{x_4^*}&{x_3^*}&{ - x_2^*}&{x_1^*}\end{array}} \right]$
${G_{4 \times 8}} \cdot G_{4 \times 8}^H = \left[ {\begin{array}{*{20}{c}}{208}&0&0&0\\0&{208}&0&0\\0&0&{208}&0\\0&0&0&{208}\end{array}} \right]$, но скорость при ее применении сразу падает в 2 раза...
Также нашел из источников матрицу ${G_{4*4}} = \left[ {\begin{array}{*{20}{c}}{{x_1}}&{{x_2}}&0&0\\0&0&{{x_3}}&{{x_4}}\\{ - x_2^*}&{x_1^*}&0&0\\0&0&{ - x_4^*}&{x_3^*}\end{array}} \right]$, тоже УСЛОВИЕ 1 соблюдается ${G_{4 \times 4}} \cdot G_{4 \times 4}^H = \left[ {\begin{array}{*{20}{c}}{86}&0&0&0\\0&{18}&0&0\\0&0&{86}&0\\0&0&0&{18}\end{array}} \right]$
Еще одна матрица ${G_{4*4n1}} = \left[ {\begin{array}{*{20}{c}}{{x_1}}&{{x_2}}&{{x_3}}&{{x_4}}\\{x_2^*}&{ - x_1^*}&{x_4^*}&{ - x_3^*}\\{x_3^*}&{x_4^*}&{ - x_1^*}&{ - x_2^*}\\{{x_4}}&{ - {x_3}}&{ - {x_2}}&{{x_1}}\end{array}} \right]$, УСЛОВИЕ 1 не соблюдается... ${G_{4*4n1}} \cdot G_{4*4n1}^H = \left[ {\begin{array}{*{20}{c}}{104}&0&0&{ - 50}\\0&{104}&{50}&0\\0&{50}&{104}&0\\{ - 50}&0&0&{104}\end{array}} \right]$
А вот в результате что получили Изображение
Немного ошибся в обозначениях..., вот заметил. На рисунке зеленой линией приводиться результат при использовании матрицы ${G_{4*4n1}}$, а красной ${G_{4 \times 4}}$.
Выходит, что при применении 4 антенн на передающей стороне и матрицы ${G_{4 \times 4}}$ мы получили те же результаты, что и при применении 2 антенн на передачи и матрицы ${G_2}$..., хотя обе удовлетворяют УСЛОВИЮ 1. Выходит в данном случае увеличение числа передающих антенн не приводит к эффективности передачи информации.
Но в тоже время, при применении матрицы не удовлетворяющей УСЛОВИЮ 1 ${G_{4*4n1}}$, мы получили результаты значительно лучшие!
Моделирование с использованием матрицы ${G_{4 \times 8}}$ не проводилось.

Из вышеизложенного можно сделать вывод, что нам необходимо найти матрицу 4*4, применение которой улучшило бы эффективность передачи информации по сравнению с ${G_2}$ и с неортогональной матрицей ${G_{4*4n1}}$.

Что вы уважаемые форумчане можете сказать по данной информации? Буду очень раз всем мнениям по данной теме!

 Профиль  
                  
 
 Re: Алгоритм кодирования и декодирования систем MIMO
Сообщение06.11.2015, 23:41 


15/06/15

3
Кишинев
И вновь всем Привет!

Опять я столкнулся с непреодолимой задачей...
Сейчас Вам ее обрисую.
Дано: Изображение
Затем немного преобразуем заданные значения: Изображение, Изображение
После чего найдем значения ${r_i}$ и $RiR$: Изображение. Получим результат: Изображение
Но это не то, что должно получиться..., а вот должно получиться: Изображение
То есть результатом должно явиться равенство: $R1Rr = R1,\,\,\,\,\,\,\,\,\,\,\,\,\,\,R2Rr = R2,\,\,\,\,\,\,\,\,\,\,\,R3Rr = R3,\,\,\,\,\,\,\,\,\,\,\,\,\,R4Rr = R4$
Но так не выходит ну никак...., формулы по которым считал я взял из одного источника, если будет нужно потом приведу его.
Видно, что значения стремятся к должным и знаки совпадают, но сама величина не та, что должна быть...

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

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



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

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


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

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