主要内容

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

レイトレーシングを使用した屋mimo - ofdm通内信リンク

この例では,屋内の環境でレイトレーシングを実行し,その結果を使用して,MIMO-OFDM手法でリンクレベルのシミュレーションのチャネルモデルを構築する方法について説明します。

はじめに

レイトレーシング[1]は,数十GHzの範囲の射频周波数で動作する現代の通信システムのトレンドにより,無線周波数(RF)解析,サイトプランニング,チャネルのモデル化,およびリンクレベル解析の一般的な手法になっています。確率的なモデルとは異なり,レイトレーシング手法は3次元環境に固有かつトランシーバーサイトに固有であり,周囲の環境から大きな影響を受けることがあります。距離ベースのパス損失を計算する単純な公式がないため,レイトレーシング手法は数値シミュレーションに依存しており,一般的に,実地の測定より費用はかかりません。レイトレーシングからの結果は,通信システムのマルチパスチャネルモデルの構築に使用できます。たとえば,レイトレーシングに基づくチャネルモデルは,5 gについてはTR 38.901[2]の第8節で,WLAN[3]についてはIEEE 802.11 ayで指定されています。

この例では3次元の会議室にある1つの送信機サイトと1つの受信機サイトの間のレイトレーシング解析を最初に行います。計算されたレイを使用して,2つのサイトに特有の確定的チャネルモデルを構築します。mimo - ofdm通チャネルモデルは信リンクのシミュレーションで使用されます。次の図は,通信リンクの特徴を表しています。

レイトレーシングは屋内環境で実行されます。同じレイトレーシング手法を,屋内環境と屋外環境の両方でチャネルモデルの構築に適用できます。屋外の都市設定でのレイトレーシング解析については,レイトレーシングを使用した都市のリンクとカバレッジの解析の例を参照してください。

3次元の屋内シナリオ

テーブル1台と椅子が4脚ある小さい会議室のSTL形式の屋内3次元マップを指定します。STL形式は最も一般的な3次元マップの形式の1つであり,多くの場合,さまざまな3 dソフトウェアで他の3次元マップ形式から変換できます。

mapFileName =“conferenceroom.stl”

搬送周波数を5.8 GHzで定義し,波長を計算します。

fc = 5.8 e9;λ= physconst (“光速”) / fc;

送信アンテナは4素子の等間隔直線アレイ(齿龈)で,素子間の波長は2倍あります。受信アンテナは4 x4の等間隔矩形アレイで(URA所言),素子間は波長の1倍です。両方のアンテナがarrayConfigオブジェクトで指定されています。

txArray = arrayConfig (“大小”(4 - 1),“ElementSpacing”, 2 *λ);rxArray = arrayConfig (“大小”(4 - 4),“ElementSpacing”λ);

関数helperViewArrayを使用して,アンテナ素子が入力と出力のストリームについて番号付けされた齿龈およびURA所言のジオメトリを可視化します。

helperViewArray (txArray);

图中包含一个坐标轴。标题为数组几何的轴包含5个类型为散点、文本的对象。

helperViewArray (rxArray);

图中包含一个坐标轴。标题为数组几何的轴包含17个散点、文本类型的对象。

部屋の天井の隅近くにある送信機サイトを指定します。wi - fiアクセスポイントなどが該当します。テーブルの少し上で椅子の前にある,ラップトップまたはモバイルデバイスを表す受信機サイトを指定します。

tx = txsite (“笛卡儿”...“天线”txArray,...“AntennaPosition”, (-1.46;-1.42;2.1),...“TransmitterFrequency”, 5.8 e9);rx = rxsite (“笛卡儿”...“天线”rxArray,...“AntennaPosition”[。3;。3;.85),...“AntennaAngle”, 0。90);

関数helperVisualizeScenarioを使用し,MATLAB™関数を使用して3次元シナリオを可視化します。送信機サイトと受信機サイトはそれぞれ赤と青に色付けされます。

helperVisualizeScenario (tx, mapFileName rx);

图中包含一个坐标轴。坐标轴包含4个类型为patch, line, scatter的对象。

レイトレーシング

送信機サイトと受信機サイトの間でレイトレーシング解析を実行し,射击和Bounicng射线(SBR)法を使用してcomm.Rayオブジェクトを返します。シーンの表面材料を木と指定して,最大2回の反射のレイを探します。SBR法では最大10次反射までサポートします。

点= propagationModel (“射线”...“CoordinateSystem”“笛卡儿”...“方法”“sbr”...“AngularSeparation”“低”...“MaxNumReflections”2,...“SurfaceMaterial”“木”);射线=光线跟踪(tx, rx,点,“地图”, mapFileName);

细胞配列の戻り値から計算されたレイを抽出します。

光线= {1};

それぞれのレイの反射の回数,伝播距離,およびパス損失値を確認して,レイトレーシングの結果を調べます。25のレイが見つかります(見通し内のレイ1つ,1回反射のレイ6つ,2回反射のレイ18)。

(射线。NumReflections]
ans =1×250 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
(射线。PropagationDistance]
ans =1×252.7602 2.8118 2.8487 2.8626 3.2029 4.6513 4.6719 2.8988 2.9125 2.9481 3.2475 3.2916 3.3243 4.6821 4.7247 4.7331 4.7433 4.7936 4.9269 4.9464 5.9868 5.9868 6.7170 8.0161 8.0460
(射线。PathLoss]
ans =1×2556.5350 72.1633 70.0647 72.3180 73.3102 76.4133 76.4508 81.5418 83.8254 81.5531 83.6891 83.7784 85.7801 85.8271 83.7662 86.0508 91.6822 91.7764 86.5438 83.5283 91.2897 91.2969 94.8444 96.4455 96.4796

関数helperVisualizeRaysを使用して,以前にプロットされた3次元シーンに計算されたレイを追加します。それぞれのレイは,そのパス損失値に基づいて色付けされています。

helperVisualizeRays(射线);

图中包含一个坐标轴。坐标轴包含29个类型为patch, line, scatter的对象。

レイトレーシングからの確定的なチャネルモデル

前述のレイトレーシングの結果を使用して,確定的マルチパスチャネルモデルを作成します。屋内環境でのデバイスの典型的な低可動性を反映する受信機の瞬間速度を指定します。

rtChan = comm.RayTracingChannel(射线,tx, rx);rtChan。SampleRate = 300 e6;rtChan。ReceiverVirtualVelocity = (0.1;0.1;0]
rtChan = comm.RayTracingChannel属性:SampleRate: 300000000 PropagationRays: [1 25 comm.Ray] TransmitArray: [1 x1 arrayConfig] TransmitArrayOrientationAxes: [3 x3双]ReceiveArray: [1 x1 arrayConfig] ReceiveArrayOrientationAxes: [3 x3双]ReceiverVirtualVelocity: x1双[3]NormalizeImpulseResponses:真正的NormalizeChannelOutputs:真正的

オブジェクト関数showProfileを使用して,チャネル内のレイの電力遅延プロファイル(PDP)発射角(AoD),到来角(AoA)を可視化します。可視化において,PDPは,それぞれのレイのパス損失に加え,送信アレイおよび受信アレイパターンのゲインを考慮します。

showProfile (rtChan);

图中包含3个轴。标题为Power Delay Profile的轴1包含一个stem类型的对象。带有标题角度的轴线2包含7个类型为抖动,文本的对象。带有标题到达角度的轴线3包含7个类型为颤抖,文本的对象。

オブジェクト関数信息を使用して,送信素子および受信素子の数を取得します。

rtChanInfo = info (rtChan)
rtChanInfo =结构体字段:载波频率:5.8000e+09坐标系统:'Cartesian' TransmitArrayLocation: [3x1 double] ReceiveArrayLocation: [3x1 double] NumTransmitElements: 4 NumReceiveElements: 16 ChannelFilterDelay: 7 ChannelFilterCoefficients: [25x21 double] NumSamplesProcessed: 0
numTx = rtChanInfo.NumTransmitElements;numRx = rtChanInfo.NumReceiveElements;

システムパラメーター

LDPC符号化、64 - qamおよび256の副搬送波を使用するOFDMを使用する通信リンクを構成します。フレームごとに4つのLDPC符号語を指定します。これは,結果としてフレームごとに50のOFDMシンボルになります。

创建LDPC编码器和解码器对象ldpcEnc = comm.LDPCEncoder;ldpcDec = comm.LDPCDecoder;numCodewordsPerFrame = 4;codewordLen = (ldpcEnc大小。ParityCheckMatrix, 2);%每子载波QAM调制参数bitsPerCarrier = 6;modOrder = 2 ^ bitsPerCarrier;codeRate = (ldpcEnc大小。ParityCheckMatrix, 1) / (ldpcEnc大小。ParityCheckMatrix, 2);%创建OFDM调制解调器和解调器对象fftLen = 256;cpLen = fftLen / 4;numGuardBandCarriers = [9;8);[19:10:119, 139:10:239]';numdatarriers = fftLen - sum(numGuardBandCarriers) - length(pilotCarrierIdx) - 1; / / / / / / / / / / / /numOFDMSymbols = numCodewordsPerFrame * codewordLen / bitsPerCarrier numDataCarriers / numTx;ofdmMod = comm.OFDMModulator (...“FFTLength”fftLen,...“NumGuardBandCarriers”numGuardBandCarriers,...“InsertDCNull”,真的,...“PilotInputPort”,真的,...“PilotCarrierIndices”pilotCarrierIdx,...“CyclicPrefixLength”cpLen,...“NumSymbols”numOFDMSymbols,...“NumTransmitAntennas”, numTx);ofdmDemod = comm.OFDMDemodulator (ofdmMod);ofdmDemod。NumReceiveAntennas = numRx;

誤り率計算オブジェクトを作成してビット誤り率(BER)を計算します。

errRate = comm.ErrorRate;

Eb /不の値を割り当て,そこから信噪比値を導出してAWGNに使用します。

EbNo = 30;在dB %bitsPerSymbol = bitsPerCarrier * codeRate;snr = 10^(EbNo/10) * bitsPerSymbol;%的线性

リンクのシミュレーション

関数helperIndoorRayTracingWaveformGenは,次の手順を実行することで,送信機サイトで1フレームから構成される波形を生成します。

  1. ランダムに生成されたビットをLDPCで符号化する

  2. 符合化されたビットを64 - qamで変調する

  3. OFDM変調を適用し,信号を周波数領域から時間領域に変換する

rng (100);%设置RNG为可重复性[txWave, srcBits] = helperIndoorRayTracingWaveformGen(numCodewordsPerFrame, ldpcEnc, modOrder, ofdmMod);

レイトレーシングチャネルモデルを通して波形を渡し,ホワイトノイズを追加します。チャネルフィルター遅延を考慮に入れるには,追加の零OFDMシンボルを波形の最後に付加します。

chanIn = [txWave;zeros(fftLen + cpLen, numTx)];[chanOut, CIR] = rtChan(chanIn);rxWave = awgn(chanOut, snr, numTx/numRx,“线性”);

関数helperIndoorRayTracingRxProcessingは,次の手順を実行することで,チャネルで劣化した波形を受信機サイトで復号化します。

  1. チャネルインパルス応答(CIR)出力とチャネルオブジェクトの信息メソッドからのチャネルフィルター係数を使用した完全なチャネル推定

  2. 信号を周波数領域に戻すためのOFDM復調

  3. 各副搬送波に対するシンボルのイコライズ

  4. LLRを取得するための64 - qam軟復調

  5. LDPC復号化

[decBits, eqSym] = helperIndoorRayTracingRxProcessing(rxWave, CIR, rtChanInfo, ldpcDec, modOrder, ofdmDemod, snr);

误码率を計算します。

ber = errRate(srcBits, double(decBits));disp (ber (1));
0.0140

EbNo値の範囲に対して误码率曲線をプロットするには,関数helperIndoorRayTracingSimulationLoopを使用して,各EbNo値で最大300フレームにわたって上記の単一フレーム処理を繰り返します。

EbNoRange = 27:36;helperIndoorRayTracingSimulationLoop(ldpcEnc, ldpcDec, ofdmMod, ofdmDemod, rtChan, errRate,...modOrder、numCodewordsPerFrame EbNoRange);

图中包含一个坐标轴。轴包含一个线型对象。

まとめとその他の調査

この例では,屋内の会議室でのレイトレーシング結果を使用して確定的なチャネルモデルを構築する方法について説明しました。mimo - ofdm手LDPCおよび法を使用したリンクレベルのシミュレーションがチャネルモデルに対して実行され,误码率結果がプロットされました。

さらに詳しく調査するには,次のような方法があります。

  • さまざまな3次元マップや表面材料

  • 送信機サイトや受信機サイトのさまざまな位置

  • 送信アンテナアレイや受信アンテナアレイのさまざまな仕様

  • 送信アンテナアレイや受信アンテナアレイのさまざまな方向

  • SBRレイトレーシング法でのさらに多い数の反射

  • 送信や受信のビームフォーミング

付録

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

参考文献

Z. Yun和M. F. Iskander,无线电传播建模中的射线追踪:原理和应用”,IEEE访问,第3卷,第1089-1100页,2015年7月。

[2] 3gpp tr 38.901。研究频率为0.5 ~ 100ghz的信道模型。第三代合作伙伴项目;技术规范无线电接入网。

[3] Maltsev、。et al。802.11ay的信道模型. ieee 802.11-15/1150r9, 2017年3月。