Main Content

WINNER II チャネル モデルを使用した複数のフェージング チャネルの同時シミュレーション

この例では、複数の基地局 (BS)、複数の移動局 (MS)、および 1 つの BS セクターから 1 つの MS への複数の MIMO ダウンリンクを使用してシステムを設定する方法を示します。この例を実行するには、WINNER II Channel Model for Communications Toolbox™ のアドオンをダウンロードしてインストールしなければなりません。各リンクは伝播シナリオと条件によって割り当てられます。すべてのリンクのフェージング チャネル係数は、同時に生成されます。インパルス信号は、各リンクのフェージング チャネルを介して渡されます。選択したリンクの受信したインパルス応答と周波数応答はプロットされます。

サポート パッケージのインストールの確認

'WINNER II Channel Model for Communications Toolbox' サポート パッケージがインストールされているかどうか確認します。

commSupportPackageCheck('CST_WINNER2');

アンテナ アレイ インベントリ

WINNER II チャネル モデルでは、各 BS は 1 つ以上のセクターで構成され、各 BS セクターと MS には 1 つのアンテナ アレイが割り当てられます。最初に、BS セクターと MS が使用できる一連のアレイを確立する必要があります。これをアンテナ アレイ インベントリと呼びます。

この例では、すべての使用可能なアンテナ アレイは等間隔円形アレイ (UCA) です。インベントリには次の 4 種類の UCA があります。

  • 半径 30 cm に 16 個の素子

  • 半径 30 cm に 12 個の素子

  • 半径 30 cm に 8 個の素子

  • 半径 5 cm に 4 個の素子

UCA内の各アンテナ素子は無指向性です。

s = rng(21);% For repeatabilityAA(1) = winner2.AntennaArray('UCA',16,0.3); AA(2) = winner2.AntennaArray('UCA',12,0.3); AA(3) = winner2.AntennaArray('UCA',8,0.3); AA(4) = winner2.AntennaArray('UCA'4、0.05);

システムのレイアウトの構成

300 x 300 (m) のマップで、3 つの BS、5 つの MS、6 つのリンクを設定します。最初の BS には、16 個の素子をもつ UCA を備えたセクターが 1 つあります。2 番目の BS にも、12 個の素子をもつ UCA を備えたセクターが 1 つあります。3 番目の BS には、8 個の素子をもつ UCA をそれぞれ備えたセクターが 3 つあります。各 MS には、4 個の素子をもつ UCA が割り当てられます。

BSIdx = {1; 2; [3 3 3]};% Index in antenna array inventory vectorMSIdx = [4 4 4 4 4];% Index in antenna array inventory vectornumLinks = 6;% Number of links= 300;% Layout range (meters)cfgLayout = winner2.layoutparset(MSIdx,BSIdx,numLinks,AA,range);

システム内に 6 つのリンクがモデル化されます。最初の BS は 1 番目と 2 番目の MS に接続します。2 番目の BS は 3 番目の MS に接続します。3 番目の BS では、その最初のセクターが 3 番目と 4 番目の MS に接続し、2 番目のセクターは 5 番目の MS に接続し、3 番目のセクターはどの MS にも接続しません。MS から見ると、2 番目と 3 番目の両方の BS に接続する 3 番目の MS を除いて、各 MS が 1 つの BS に接続します。各リンクには、B4 (屋外から屋内)、C2 (都市マクロセル)、C4 (都市マクロ、屋外から屋内) の中から選択された 1 つの伝播シナリオが割り当てられます。各リンクの見通し外 (NLOS) がモデル化されます。

cfgLayout.Pairing = [1 1 2 3 3 4; 6 7 8 8 9 10];% Index in cfgLayout.StationscfgLayout.ScenarioVector = [6 6 13 13 11 11];% 6 for B4, 11 for C2 and 13 for C4cfgLayout.PropagConditionVector = [0 0 0 0 0 0];% 0 for NLOS

3 つの BS は 0 から 300 の間隔で X 軸上に均一に配置され、Y 軸上では同じ位置に配置されます。MS の位置は、接続先の BS への距離が対応するシナリオの有効なパス損失範囲内になるように割り当てられます。具体的には、B4、C2、および C4 のシナリオの範囲は、それぞれ [3, 1000]、[50, 5000]、および [50, 5000] m です。既定では、各 BS セクターは高さ 32 m で、MS は高さ 1.5 m です。各 MS には、0.5 m/s を超えない速度で X、Y、Z のいずれかの方向が、ランダムに割り当てられます。

% Number of BS sectors and MSs in the systemnumBSSect = sum(cfgLayout.NofSect); numMS = length(MSIdx);% Set up positions for BS sectors. Same position for the third, fourth and% fifth sectors as they belong to one BS.cfgLayout.Stations(1).Pos(1:2) = [50; 150]; cfgLayout.Stations(2).Pos(1:2) = [150; 150]; cfgLayout.Stations(3).Pos(1:2) = [250; 150]; cfgLayout.Stations(4).Pos(1:2) = [250; 150]; cfgLayout.Stations(5).Pos(1:2) = [250; 150];% Set up MS positionscfgLayout.Stations(6).Pos(1:2) = [10; 180];% 50m from 1st BScfgLayout.Stations(7).Pos(1:2) = [60; 50];% 111.8m from 1st BScfgLayout.Stations(8).Pos(1:2) = [194; 117];% 55m and 65m from 2nd and 3rd BSs respectivelycfgLayout.Stations(9).Pos(1:2) = [260; 270];% 120.4m from 3rd BScfgLayout.Stations(10).Pos(1:2) = [295; 90];% 75m from 3rd BS% Randomly draw MS velocityfori = numBSSect + (1:numMS) cfgLayout.Stations(i).Velocity = rand(3,1) - 0.5;end

システム設定を説明するため、BS と MS、およびこれらの間のリンクを 2 次元マップにプロットします。プロットでは、各 BS セクターは丸印、各 MS は十字、各リンクは対応する BS と MS を結ぶ直線でそれぞれ示されます。3 番目の BS には 3 つのセクターがあるため、マップには 3 つの丸印だけが示されます。

% Get all BS sector and MS positionsBSPos = cell2mat({cfgLayout.Stations(1:numBSSect).Pos}); MSPos = cell2mat({cfgLayout.Stations(numBSSect+1:end).Pos}); scrsz = get(groot,'ScreenSize'); figSize = min(scrsz([3,4]))/2.3; figure('Position',[scrsz(3)*.5-figSize/2,scrsz(4)*.7-figSize/2,figSize,figSize]); holdon; gridon; hBS = plot(BSPos(1,:),BSPos(2,:),'or');% Plot BShMS = plot(MSPos(1,:),MSPos(2,:),'xb');% Plot MSforlinkIdx = 1:numLinks% Plot linkspairStn = cfgLayout.Pairing(:,linkIdx); pairPos = cell2mat({cfgLayout.Stations(pairStn).Pos}); plot(pairPos(1,:),pairPos(2,:),'-b');endxlim([0 300]); ylim([0 300]); xlabel('X Position (meters)'); ylabel('Y Position (meters)') legend([hBS, hMS],'BS','MS','location','northwest');

Figure contains an axes object. The axes object contains 8 objects of type line. These objects represent BS, MS.

モデル パラメーターの構成

関数winner2.wimparsetで作成された構造体内には調整可能なモデル パラメーターが複数あります。この例では、中心周波数は 5.25 GHz です。リンクごとにパス損失とシャドウ フェージングがモデル化されます。最大 100 MHz の帯域幅をサポートするため、各リンクの最も強い 2 つのクラスターがそれぞれ 5 ns 間隔で 3 つのサブクラスターに分割されます。すべてのリンクは、MS の速度に応じて異なるレートでサンプリングされます。3 番目と 4 番目のリンクは同じ MS に接続するため、これらは同じサンプルレートを共有します。

frameLen = 1600;% Number of samples to be generatedcfgWim = winner2.wimparset; cfgWim.NumTimeSamples = frameLen; cfgWim.IntraClusterDsUsed ='yes'; cfgWim.CenterFrequency = 5.25e9; cfgWim.UniformTimeSampling ='no'; cfgWim.ShadowingModelUsed ='yes'; cfgWim.PathLossModelUsed ='yes'; cfgWim.RandomSeed = 31415926;% For repeatability

WINNER II チャネル System object™ の作成

モデル コンフィギュレーションとレイアウト コンフィギュレーションを使用して、WINNER II チャネル System object を作成できるようになりました。オブジェクトが作成されると、そのinfoメソッドを呼び出して、派生したシステム パラメーターを表示できます。たとえば、infoメソッドでは、BS セクターのアレイ素子の数、MS のアレイ素子の数、および各リンクのパスの数を示すNumBSElementsNumMSElementsNumPathsの各フィールドが返されます。SampleRateフィールドには、各リンクのサンプルレートも表示されます。

WINNERChan = comm.WINNER2Channel(cfgWim,cfgLayout); chanInfo = info(WINNERChan)
chanInfo =struct with fields:NumLinks: 6 NumBSElements: [16 16 12 8 8 8] NumMSElements: [4 4 4 4 4 4] NumPaths: [16 16 16 16 24 24] SampleRate: [3.0636e+07 3.5303e+07 2.7559e+07 2.7559e+07 ... ] ChannelFilterDelay: [7 7 7 7 7 7] NumSamplesProcessed: 0

各リンクのインパルス信号の処理

各リンクを介してインパルス信号を渡し、MS でインパルス応答と周波数応答を観察します。これを行うには、各リンクのインパルス信号を作成し、それらをセル配列に集約する必要があります。これは、infoメソッドで返されるNumBSElementsフィールドと関数cellfunを使用することで実行できます。インパルス信号のセル配列は、チャネル オブジェクトで処理されます。

txSig = cellfun(@(x) [ones(1,x);zeros(frameLen-1,x)],...num2cell(chanInfo.NumBSElements)','UniformOutput',false); rxSig = WINNERChan(txSig);% Pass impulse signal through each link

MS で受信した信号をプロットすることで、フェージング チャネルのインパルス応答と周波数応答が各リンクでどのように見えるかを確認できます。各 MS の 4 つのアンテナのうち、最初のアンテナで受信された信号だけがプロットされます。異なるレートでリンクがサンプリングされることは、インパルス応答プロットで取得されます。各リンクについて、チャネル フィルターの遅延から最初のいくつかのサンプルが、負の時間軸にプロットされます (ある場合)。

figure('Position',[scrsz(3)*.3-figSize/2,scrsz(4)*.25-figSize/2,figSize,figSize]); holdon;forlinkIdx = 1:numLinks delay = chanInfo.ChannelFilterDelay(linkIdx); stem(((0:(frameLen-1))-delay)/chanInfo.SampleRate(linkIdx),...abs(rxSig{linkIdx}(:,1)));endmaxX = max((cell2mat(cellfun(@(x) find(abs(x) < 1e-8,1,'first'),...rxSig.','UniformOutput',false)) - chanInfo.ChannelFilterDelay)./...chanInfo.SampleRate); minX = -max(chanInfo.ChannelFilterDelay./chanInfo.SampleRate); xlim([minX, maxX]); xlabel('Time (s)'); ylabel('Magnitude'); legend('Link 1','Link 2','Link 3','Link 4','Link 5','Link 6'); title('Impulse Response at First Receive Antenna');

Figure contains an axes object. The axes object with title Impulse Response at First Receive Antenna contains 6 objects of type stem. These objects represent Link 1, Link 2, Link 3, Link 4, Link 5, Link 6.

3 番目と 4 番目のリンクは同じ MS に接続するため、サンプルレートが同じであるため、Spectrum Analyzer System object を使用してこれらをまとめてプロットします。2 つのリンクにはそれぞれ 16 のパスがあり、著しい周波数選択性を示します。

SA = dsp.SpectrumAnalyzer(...'Name','Frequency response',...'SpectrumType','Power density',...'SampleRate', chanInfo.SampleRate(3),...'Position', [scrsz(3)*.7-figSize/2,scrsz(4)*.25-figSize/2,figSize,figSize],...'Title','Frequency Response',...'ShowLegend', true,...'ChannelNames', {'Link 3','Link 4'}); SA(cell2mat(cellfun(@(x) x(:,1),rxSig(3:4,1)','UniformOutput',false)));

图的频率响应contains an axes object and other objects of type uiflowcontainer, uimenu, uitoolbar. The axes object with title Frequency Response contains 2 objects of type line. These objects represent Link 3, Link 4.

rng(s);% Restore RNG

その他の調査

この例は、WINNER II フェージング チャネル System object を構成して BS から MS への複数の MIMO リンクをもつシステムをモデル化する方法を示します。さらに詳しく調査する場合は、cfgLayoutcfgWimのフィールドを変更して、等間隔直線アレイ (ULA)、BS/MS の位置と組み合わせ、伝播シナリオと条件などの、さまざまなアンテナ アレイのモデル化を行ってください。

3 番目と 4 番目のリンクは同じ MS に接続するため、2 つのリンクでのチャネル フィルターの遅延の原因となるサンプルを適切にオフセットすることで、両方のリンクから受信した信号を結合できます。

参考文献

  1. IST WINNER II, "WINNER II Channel Models", D1.1.2, Sep. 2007.