MIMOに合格した人には...

こんにちは、Habr! 現在どこでも使用されているMIMOテクノロジー(多入力多出力)のトピックを分析すると、国内の文献でこのトピックに関する資料がほとんどないことがわかりました。 私は約3年間定期的にHabrを読みましたが、この問題に関する完全な教育プログラムも見ませんでした。 この状況を修正しようとします。 ITの仕組みと今日のITの重要性、およびこのテクノロジーの開発の歴史。 興味のある人は猫を求めてください。



ちょっとした歴史
今日の通信環境で行われている多数の技術は、 軍事開発から「成長」しています。 たとえば、直交周波数多重化(OFDM)の技術は、アメリカの友人によって80年代に提案されましたが、システムの処理能力を非常に要求しているため、実装することはごく最近でした(悪名高いFFTのせいです)。



MIMOは、ダイバーシティテクノロジーとしてのみ提供されていました(1つの送信アンテナとN個の受信アンテナがあります)。 この考えを実現するために、いくつかの一連の軍事対流圏ステーションがリリースされ(誰かがたまたまそのようなステーションでサービスを提供したのかもしれません)、原則として、その段階で、追加のアンテナを展開するコストが支払われました。



処理原理はシャベルのように簡単でした。2つの受信ブランチで信号対雑音比を比較し、この値の評価に従って、各処理ブランチに、おおまかに言って送信するものを決定する役割を果たす重み係数を割り当てました:0または1そして、最適な重みの追加 (MRC)の基準と呼ばれていました。



さらにもっと。 1997年、イラン系アメリカ人のAlamoutiは、 時空ブロックコード (STBC)と呼ばれる、よく知られた論文に基づいた新規性を提供します。 その後、MIMOのトピックに関する出版物の数は年々増加し、トピックは通信システムの周波数とエネルギー効率がますます困難になっているという事実と非常に関連性があります(最も効率的な信号コードの構築はすでに考え出されています)。 そして、 時空のトレリスコーディング 、空間多重 、および最も単純な「最大尤度(ML-maxの類似度)」からGPUでの球状ターボデコードまでの多数のデコードアルゴリズムなど、行き来しました。
仕組み
そしてもう少し理論
ラジオチャンネル
一般に、この分類は非常に大きく、そのレビューは別の記事に値しますが、ここではいくつかのポイントのみを取り上げます。



送信機(T)から受信機(R)へのパスを通過すると、電波は減衰(エネルギーの損失)し、損失量はTとRの間に直接の可視性があるかどうかによって異なります。 そうである場合、損失の主な原因は配布媒体の損失(パス損失)にあり、直接的な可視性がない場合、楽しみが始まります。 さまざまな障害物に直面して、波はいくつかの方法で目的地に到達し(マルチパス伝播)、それに応じて、各ビームは異なる距離を移動します。 受信時には、これらすべてのビームが逆位相で積み重なる可能性があり、これにより信号強度がさらに低下し、信号レベルが絶えず「フロート」します。 したがって、受信が不確実な領域では、携帯電話は表示する「シグナルスティック」の数を決定できません。



この不名誉はすべてフェージングと呼ばれていました。 それらは異なっており、さまざまな法律で説明できます。 一定のコンポーネントが存在する場合(直接的な可視性が存在する場合)、 ライス分布は適切であり、ライス分布は存在しない場合、 レイリー分布 (特定のバージョン)です。 公式を意図的に与えるのではなく、大きくて怖いです。
ここにあるMIMO
最も単純な例を使用して、これがどのように機能するかを分析します。 送信用に2本、受信用に1本のアンテナがあります。







kは、いわゆる複素チャネル伝達関数位相応答周波数応答を決定)であり、さらに、各受信信号の各時点で異なります。 主なハイライトは、各受信アンテナの信号が異なるパスを通過することです。



STBC方法によれば、入力データストリームは対[c1、c2]に分割され、さらに、最初の半サイクル間隔で、シンボルc1はアンテナT1を介して送信され、シンボルc2はアンテナT2を介して送信される。 2番目の半サイクル間隔で、送信順序が変更されます。c2シンボルの反転(図の(–c * 2)で示される)はT1アンテナを介して送信され、c2シンボルはT2アンテナを介して送信されます(図の(c * 1)で示されます)。行番号は送信機番号に対応し、列番号は送信の半サイクル(一般的な場合、測定のステップ)の番号になります。多くの人が既に推測しているように、記号「 * 」は複雑な組み合わせです。







その結果、入力で2つの信号(1番目と2番目のクロックの乗算応答)を取得し、いくつかの興味深い数学的変換の後、元の信号、またはこれらの信号を取得します。 実際、チップ全体は、これらの信号のそれぞれが2回送信されたという事実にあります。



なぜこれが可能ですか? kは光線ごとに異なり 、Alamouti行列(上記の図)は直交しているためです。

練習する

それでは、シミュレーションを実行して、SISO(シングルインシングルアウト)の前にMIMOが勝つことを見てみましょう。







Matlab 'eですべての計算とシミュレーションを実行します。これはこのような実験に非常に便利な世界最高の環境だからです。



Alamouti曲線を計算するための実際の部分は次のとおりです。



numOfBlk = 1e6; %     qampoz = 4; %     SNRdB = 6:1:40; %   / linColor = 'b'; %  1 linSym = 'o'; %  2 errRate = zeros(size(SNRdB)); % %  for i = 1 : length(SNRdB) txData = randint(numOfBlk*2,1,qampoz);%   temp = reshape(txData,numOfBlk,2); %   temp = qammod(temp,qampoz); % H = 1/sqrt(2) * (randn(numOfBlk,2) + sqrt(-1)*randn(numOfBlk,2)); % ( ) txMod(:,1) = H(:,1).* 1/sqrt(2).*temp(:,1) + H(:,2).* 1/sqrt(2).*temp(:,2) ; %   txMod(:,2) = -H(:,1).*(1/sqrt(2).*temp(:,2)').' + H(:,2).*(1/sqrt(2).*temp(:,1)').' ; txMod = awgn(txMod,SNRdB(i),'measured'); temp(:,1) = sqrt(2)*(H(:,1)'.' .* txMod(:,1) + H(:,2) .* txMod(:,2)'.')./(abs(H(:,1)).^2 + abs(H(:,2)).^2); temp(:,2) = sqrt(2)*(H(:,2)'.' .* txMod(:,1) - H(:,1) .* txMod(:,2)'.')./(abs(H(:,1)).^2 + abs(H(:,2)).^2); rxData(:,1) = qamdemod(temp(:,1),qampoz); % rxData(:,2) = qamdemod(temp(:,2),qampoz); [numErr errRate(i)] = symerr(rxData,reshape(txData,numOfBlk,2)); %  end
      
      







この部分は古典的な回路用です:



 %SISO for i = 1 : length(SNRdB) temp = qammod(txData,qampoz); H = 1/sqrt(2) * (randn(numOfBlk*2,1) + sqrt(-1)*randn(numOfBlk*2,1));%   txMod = H.*temp; txMod = awgn(txMod,SNRdB(i),'measured'); temp = txMod./H; rxData = qamdemod(temp,qampoz); [numErr errRate(i)] = symerr(rxData,txData); end
      
      







グラフは、エラー確率Rosh = 10 ^(-3)のゲインが約12 [dB]であることを示しています 。 そしてこれはただの膨大な量です。



結論として


読んだ人のおかげで、私はそれに注意したい:



残りはすでにMIMO-OFDMにあり、これは別の記事のトピックです。



All Articles