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
7667
Харьков
mike84, я попробую разобраться в этом, но мне нужно время. :D

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


23/07/08
7667
Харьков
Дело просто в том, что если $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  След.

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



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

Сейчас этот форум просматривают: Aritaborian


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

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