主要内容

このペ,ジの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。

Mimoシステムの紹介

この例では,多入力多出力(mimo)システムを示します。このシステムでは,無線通信システムの送信機と受信機で複数のアンテナを使用します。米姆システムは,複数のアンテナを使用することで潜在的なキャパシティゲインを得られるので,通信システムに広範囲に採用されています。複数のアンテナで,システムの帯域幅要件を変えることなく,時間次元と周波数次元以外に空間次元を使用します。

汎用の通信リンクについて,この例では従来の受信ダイバーシティではなく送信ダイバーシティに焦点を合わせます。フラットフェージングレイリーチャネルを使用して,直交空間時間ブロック符号化(OSTBC)の概念について示します。これは,複数の送信アンテナを使用する場合に採用できます。ここでは,送信受信アンテナの複数の組の間で独立したフェ,ジングがチャネルに発生すると仮定します。

選択した1つのシステムについては,受信側でチャネルを完全に把握している場合と不完全に推定したときの特性を比較し,その低下度の測定値も提示します。

パ:

ダイバーシティ受信の使用は,通信リンク全体に及ぶフェージングの影響を緩和するための広く知られた手法の1つです。ただし,ほとんどの場合,受信側で実施されます。[1]では,Alamoutiが送信側で複数のアンテナを使用して同程度のダイバーシティゲインを得られる送信ダイバーシティ方式を提案しています。こらの方がより実際的であると考えられました。たとえば,この方式なら複数のアンテナを設置する必要があるのは基地局だけであるのに対して,セルラー方式では移動体ごとに複数のアンテナが必要とされるためです。

この節では,フラットフェージングレイリーチャネル経由で同期2位相シフトキーイング(BPSK)変調をシミュレーションして,送信ダイバーシティと受信ダイバーシティの比較について示します。送信ダイバーシティでは2つの送信アンテナと1つの受信アンテナ(2 x1と表記)を使用し,受信ダイバーシティでは1つの送信アンテナと2つの受信アンテナ(1 x2と表記)を使用します。

シミュレーションでは,あるエンドツーエンドシステムを対象とし,符号化または送信された信号,チャネルモデル,および受信信号の受信と復調について示します。また,比較のため,ダイバーシティのないリンク(送信と受信のアンテナが1つしかないケース),および2次ダイバーシティリンクの理論上の特性も提示します。ここでは,すべてのシステムにいて受信側でチャネルが完全に把握されていると仮定します。Eb /不点の範囲でシミュレーションを実行して,さまざまなシステムを比較できるようにする误码率結果を生成します。

一般のシミュレ,ションのパラメ,タ,を定義することから始めます。

frmLen = 100;帧长百分比numPackets = 1000;包数%EbNo = 0:2:20;% Eb/No变化范围为20 dBN = 2;Tx天线最大数量的%M = 2;Rx天线最大数量的%

次にシミュレ,ションをセットアップします。

创建com . bpskmodulator和com . bpskdemodulator系统对象(TM)P = 2;调制倍数bpskMod = com . bpskmodulator;bpskDemod = com . bpskdemo解调器(“OutputDataType”“双”);创建com . ostbcencoder和com . ostbccombiner系统对象ostbcEnc = com . ostbcencoder;ostbcComb = com . ostbccombiner;为one和two receive创建两个com . awgnchannel系统对象%天线。将通道的NoiseMethod属性设置为'信噪比(Eb/No)'来指定噪声级别每比特能量与噪声功率谱密度之比(Eb/No)。输出%的BPSK调制器产生单元功率信号;设置SignalPower%属性到1瓦特。awgn1Rx = com . awgnchannel (“NoiseMethod”信噪比(Eb/No)“SignalPower”1);awgn2Rx =克隆(awgn1Rx);创建com . errorrate计算器用于计算误码率的系统对象。errorCalc1 = com . errorrate;errorCalc2 = com . errorrate;errorCalc3 = com . errorrate;由于com . awgnchannel系统对象以及RANDI函数%使用默认的随机流,执行以下命令%的结果将是可重复的,即,将得到相同的结果%用于示例的每次运行。的位置将恢复默认流%示例的结束。S = rng(55408);为速度预分配变量H = 0 (frmLen, N, M);ber_noDiver = 0 (3,length(EbNo));ber_Alamouti = 0(3,长度(EbNo));ber_MaxRatio = 0(3,长度(EbNo));ber_thy2 = 0(1,长度(EbNo));
设置一个数字以可视化BER结果图;网格;ax = fig.CurrentAxes;(ax,“上”);斧子。YScale =“日志”;xlim (ax, [EbNo (1) EbNo(结束)]);ylim (ax,[1军医1]);包含(ax,“Eb /不(dB)”);ylabel (ax,“方方面面”);fig.NumberTitle =“关闭”;fig.Renderer =“zbuffer”;fig.Name =“发送与接收多样性”;标题(ax,“发送与接收多样性”);集(图,“DefaultLegendAutoUpdate”“关闭”);fig.Position = figposition([15 50 25 30]);%循环几个EbNo点idx = 1:length(EbNo) reset(errorCalc1);重置(errorCalc2);重置(errorCalc3);设置AWGNChannel系统对象的EbNo属性awgn1Rx。EbNo = EbNo(idx);awgn2Rx。EbNo = EbNo(idx);循环遍历数据包数packetIdx = 1:numPackets每帧生成数据向量data = randi([0 P-1], frmLen, 1);调制数据modData = bpskMod(数据);% Alamouti时空块编码器encData = ostbcEnc(modData);创建瑞利分布信道响应矩阵%用于两个发射和两个接收天线H(1:N:end,:,:) = (randn(frmLen/2, N, M) +1i*randn(frmLen/2, N, M))/√(2);%假设2个符号周期保持不变H(2:N:end,:,:) = H(1:N:end,:,:);提取H的一部分来表示1x1, 2x1和1x2通道H11 = h (:,1,1);H21 = H(:,:,1)/根号(2);H12 =挤压(H(:,1,:));通过通道chanOut11 = H11 .* modData;chanOut21 = sum(H21。* encData, 2);chanOut12 = H12 .* repmat(modData, 1,2);添加AWGNrxSig11 = awgn1Rx(chanOut11);rxSig21 = awgn1Rx(chanOut21);rxSig12 = awgn2Rx(chanOut12);% Alamouti时空块合成器decData = ostbcComb(rxSig21, H21);% ML检测器(最小欧氏距离)demod11 = bpskDemod(rxSig11.*conj(H11));demod21 = bpskDemod(decData);demod12 = bpskDemod(sum(rxSig12.*conj(H12), 2));计算并更新当前EbNo值的误码率%用于未编码的1x1系统ber_noDiver(:,idx) = errorCalc1(data, demod11);%为Alamouti编码的2x1系统ber_Alamouti(:,idx) = errorCalc2(data, demod21);%为最大比组合1x2系统ber_MaxRatio(:,idx) = errorCalc3(data, demod12);结束%为numPackets的FOR循环结束计算当前EbNo的理论二阶分集误码率ber_thy2(idx) = berfading(EbNo(idx),相移键控的, 2,2);%绘图结果semilogy (ax, EbNo (1: idx) ber_noDiver (1,1: idx),的r *EbNo (1: idx) ber_Alamouti (1,1: idx),“去”EbNo (1: idx) ber_MaxRatio (1,1: idx),“废话”EbNo (1: idx) ber_thy2 (1: idx),“米”);传奇(ax,“无多样性(1Tx, 1Rx)”Alamouti (2Tx, 1Rx)最大比例组合(1Tx, 2Rx)“理论二阶多样性”);drawnow;结束% for循环结束的EbNo%执行曲线拟合并重新绘制结果fitBER11 = berfit(EbNo, ber_noDiver(1,:));fitBER21 = berfit(EbNo, ber_Alamouti(1,:));fitBER12 = berfit(EbNo, ber_MaxRatio(1,:));semilogy (ax, EbNo, fitBER11“r”, EbNo, fitBER21,‘g’, EbNo, fitBER12,“b”);(ax,“关闭”);恢复默认流rng(年代);

送信ダイバーシティシステムの計算の複雑度は,受信ダイバーシティシステムの場合と非常によく似ています。

シミュレーションの結果により,2つの送信アンテナと1つの受信アンテナを使用する場合のダイバーシティ次数は,1つの送信アンテナと2つの受信アンテナを使用する最大比率の組み合わせ(MRC)システムと同じであることがわかります。

また,MRC受信ダイバーシティと比較して送信ダイバーシティには3 dBのマイナスがあることも認められます。こうなるのは,総送信電力がどらのケスでも同じになるようにモデル化したためです。これら2のケスの受信電力が同じになるように送信電力を較正すると,特性は同じになります。2次ダバシティリンクの理論上の特性は,送信ダバシティシステムに一致します。これは,すべてのダ。

付属の関数スクリプトmrc1m.mostbc2m.mは,関心のあるユ,ザ,がさらに調べるうえで役立,ます。

パ,ト2:チャネル推定付き時空間ブロック符号化

直交デザepicン理論に基づき,Tarokhらは[2] Alamoutiの送信ダイバーシティ方式を任意本数の送信アンテナに一般化し,空間時間ブロック符号化の概念に到達しました。複素数コンスタレーションについて,Alamoutiの方式が2つの送信アンテナに対する唯一のフルレート方式であることを示しました。

この節では2つの受信アンテナがあるそのような方式(2 x2システムなど)の特性について,チャネル推定がある場合とない場合に分けて検討します。受信側がチャネル状態情報を把握していない現実的なシナリオでは,特性を受信信号から抽出しなければなりません。チャネル推定器が,各パケットの先頭に追加される直交パイロット信号を使用して抽出を実行するものと仮定します[3.]。また,パケットの長さの間,チャネルは変わらない(つまり,低速フェージングが発生する)と仮定します。

前の節で説明したのと同じシミュレ,ションをここでも使用します。したがって2つの送信アンテナと2つの受信アンテナを使用する空間時間ブロック符号化されたシステムの误码率性能を推定できます。

今回も,最初に共通なシミュレ,ションパラメ,タ,を定義します。

frmLen = 100;帧长百分比maxNumErrs = 300;%最大错误数maxNumPackets = 3000;最大包数%EbNo = 0:2:12;% Eb/No变化范围为12 dBN = 2;Tx天线数量的%M = 2;Rx天线个数的%pLen = 8;每帧导频符号的百分比W = hadamard(pLen);导频= W(:, 1:N);每个发射天线的%正交集

次にシミュレ,ションをセットアップします。

创建一个com . mimochannel System对象,在空间上模拟2x2%独立平坦衰落瑞利信道chan = com . mimochannel (“MaximumDopplerShift”0,“SpatialCorrelationSpecification”“没有”“NumTransmitAntennas”N“NumReceiveAntennas”米,“PathGainsOutputPort”,真正的);修改hAlamoutiDec系统的numreceiveantenna属性值% object to M,即2释放(ostbcComb);ostbcComb。numreceiveantenna = M;释放hAWGN2Rx System对象释放(awgn2Rx);为可重复性设置全局随机流S = rng(55408);为速度预分配变量(frmLen, N, M);ber_Estimate = 0(3,长度(EbNo));ber_Known = 0(3,长度(EbNo));
设置一个数字以可视化BER结果图;网格;ax = fig.CurrentAxes;(ax,“上”);斧子。YScale =“日志”;xlim (ax, [EbNo (1) EbNo(结束)]);ylim (ax,[1军医1]);包含(ax,“Eb /不(dB)”);ylabel (ax,“方方面面”);fig.NumberTitle =“关闭”;fig.Name =正交空时分组编码;fig.Renderer =“zbuffer”;标题(ax,alamouti编码的2x2系统);集(图,“DefaultLegendAutoUpdate”“关闭”);fig.Position = figposition([41 50 25 30]);%循环几个EbNo点idx = 1:length(EbNo) reset(errorCalc1);重置(errorCalc2);awgn2Rx。EbNo = EbNo(idx);%循环直到错误数超过'maxNumErrs'%或模拟的最大报文数(ber_Estimate(2,idx) < maxNumErrs) &&(ber_Known(2,idx) < maxNumErrs) &&(ber_Estimate(3,idx)/frmLen < maxNumPackets)每帧生成数据向量data = randi([0 P-1], frmLen, 1);调制数据modData = bpskMod(数据);% Alamouti时空块编码器encData = ostbcEnc(modData);为每一帧前置导频符号txSig =[飞行员;encData];通过2x2通道重置(陈);[chanOut, H] = chan(txSig);添加AWGNrxSig = awgn2Rx(chanOut);信道估计每个链接的% => N*M估计HEst(1,:,:) =先导(:,:)。' * rxSig(1:pLen,:) / pLen;%假设在整个坐标系中保持不变hst = hst (ones(frmLen, 1),:,:);%使用估计通道的合成器decDataEst = ostbcComb(rxSig(pLen+1:end,:), HEst);%使用已知通道的合成器decDataKnown = ostbcComb(rxSig(pLen+1:end,:)),挤压(H(全+ 1:结束 ,:,:,:)));% ML检测器(最小欧氏距离)demodEst = bpskDemod(decDataEst);%估计demodKnown = bpskDemod(decDataKnown);%已知计算并更新当前EbNo值的误码率估计渠道百分比ber_Estimate(:,idx) = errorCalc1(data, demodEst);已知频道百分比ber_Known(:,idx) = errorCalc2(data, demodKnown);结束%为numPackets的FOR循环结束%绘图结果semilogy (ax, EbNo (1: idx) ber_Estimate (1,1: idx),“罗”);semilogy (ax, EbNo (1: idx) ber_Known (1,1: idx),“g *”);传奇(ax, [“渠道估计与”num2str(全)'导频符号/帧'],“已知的通道”);drawnow;结束% for循环结束的EbNo%执行曲线拟合并重新绘制结果fitBEREst = berfit(EbNo, ber_Estimate(1,:));fitBERKnown = berfit(EbNo, ber_Known(1,:));semilogy (ax, EbNo, fitBEREst“r”, EbNo, fitBERKnown,‘g’);(ax,“关闭”);恢复默认流rng (s)

シミュレートした2 x2システムのダイバーシティ次数は,前の節の1 x2システムおよび2 x1システムで認められたダイバーシティ次数とは異なります。

100年データの個のシンボルごとに8個のパイロットシンボルがあるため,選択したEb /不範囲における特性がチャネル推定により約1 dB低下することに注目してください。これは,フレームあたりのパイロットシンボル数を増やすと改善されますが,リンクのオーバーヘッドが増大します。この比較では,シンボルあたりの送信信噪比を両方のケ,スで同じ値に維持します。

付属の関数スクリプトostbc2m_e.mは,関心のあるユ,ザ,がさらに実験するうえで役立,ます。

パ,ト3:直交時空間ブロック符号化(ostbc)とその他の調査

この最後の節では,[4]に従い,ハーフレートコードG4を使用する4つの送信アンテナ(4 x1システム)を使用する直交空間時間ブロック符号化の実行結果をいくつか示します。

ダイバーシティ次数は4になると予想され,この値を1 x4と2 x2の各システムと比較します。これらのシステムでもダ▪▪バ▪▪シティ次数は同じです。公平に比較するため,ハーフレートG4コードのある4位相相移键控を使用して,同じ伝送速度1ビット/秒/ Hzを達成します。

これらの結果を単一コア上で得るには時間がしばらくかかります。并行计算工具箱™ (PCT) をインストールしていない場合、先行シミュレーションの結果を読み込みます。関数スクリプトostbc4m.mを組み込みます。これは,これらの結果を得るためにmrc1m.mおよびostbc2m.mとともに使用された関数スクリプトです。PCTがンストルされている場合,これらのシミュレションは並行で実行されます。この場合,関数スクリプトostbc4m_pct.mmrc1m_pct.mおよびostbc2m_pct.mが使用されます。他のコードとシステムを検討するために,これらのスクリプトを出発点として使用するよう強くお勧めします。

[licensePCT,~] = license(“签出”“Distrib_Computing_Toolbox”);如果(licensePCT && ~isempty(ver(“平行”))) EbNo = 0:2:20;[ber11, ber14, ber22, ber41] = mimoOSTBCWithPCT(100,4e3,EbNo);其他的负载ostbcRes.mat结束设置一个数字以可视化BER结果图;网格;ax = fig.CurrentAxes;(ax,“上”);fig.Renderer =“zbuffer”;斧子。YScale =“日志”;xlim (ax, [EbNo (1) EbNo(结束)]);ylim (ax, [1 e-5 1]);包含(ax,“Eb /不(dB)”);ylabel (ax,“方方面面”);fig.NumberTitle =“关闭”;fig.Name =正交空时分组编码(2);标题(ax,g4编码的4x1系统和其他比较);集(图,“DefaultLegendAutoUpdate”“关闭”);fig.Position = figposition([30 15 25 30]);QPSK四阶分集的理论性能BERthy4 = BERthy4;相移键控的, 4,4);%绘图结果semilogy (ax, EbNo, ber11的r *, EbNo, ber41,“女士”, EbNo, ber22,“c ^”EbNo ber14,“柯”, EbNo, BERthy4,‘g’);传奇(ax,'无多样性(1Tx, 1Rx), BPSK''OSTBC (4Tx, 1Rx), QPSK'Alamouti (2Tx, 2Rx), BPSK最大比组合(1Tx, 4Rx), BPSK理论四阶多样性,QPSK);%进行曲线拟合fitBER11 = berfit(EbNo, ber11);fitBER41 = berfit(EbNo(1:9), ber41(1:9));fitBER22 = berfit(EbNo(1:8), ber22(1:8));fitBER14 = berfit(EbNo(1:7), ber14(1:7));semilogy (ax, EbNo, fitBER11“r”, EbNo(1:9), fitBER41,“米”fitBER22 EbNo (1:8),“c”, EbNo(1:7), fitBER14,“k”);(ax,“关闭”);
使用“本地”配置文件启动并行池(parpool)…连接到并行池(工人数:6)。

予想どおり4 x1 2 x2,および1 x4の各システムで误码率曲線の傾きはほぼ同じになりますが,これは各システムのダイバーシティ次数が同じであることを示します。

また4 x1システムでは3 dBのペナルティが認められますが,これは,これら3つのシステムの総送信電力が同じ値であると仮定されていることが原因であると考えられます。これら3つのシステムの受信電力が同じになるように送信電力を較正すると,3つのシステムの特性は同じになります。今回も,理論上の特性は4x1システムのシミュレ,ション特性と一致します。これは,ダ。

付録

この例では,以下の補助関数を使用します。

参考文献

  1. S. M. Alamouti,“一种简单的无线通信传输分集技术”,《IEEE通信选定领域期刊》,第16卷,第8期,1998年10月,第1451-1458页。

  2. V. Tarokh, H. Jafarkhami,和A.R. Calderbank,“正交设计的时空分组码”,IEEE信息理论汇刊,第45卷,第5期,1999年7月,第1456-1467页。

  3. A.F. Naguib, V. Tarokh, N. Seshadri和A.R. Calderbank,“高数据速率无线通信的空时码:失配分析”,《IEEE国际通信会议论文集》,第309-313页,1997年6月。

  4. V. Tarokh, H. Jafarkhami和A.R. Calderbank,“无线通信的空时分组码:性能结果”,《IEEE通信选定领域杂志》,第17卷,第3期,1999年3月,第451-460页。