主要内容

フェズドアレによるmimo-ofdmのプリコディング

この例では,ビームフォーミングを使用すmimo - ofdm通る信システムでフェーズドアレイがどのように使用されているかを示します。通信工具箱™ および Phased Array System Toolbox™ のコンポーネントを使用して、MIMO-OFDM 通信システム用に、送信機コンポーネントとフロントエンド受信機コンポーネントを構成する放射素子をモデル化します。ユーザー指定のパラメーターを使用して、異なる空間的な位置と配列サイズのビット誤り率とコンスタレーションの観点から、システムのパフォーマンスを検証できます。

この例では,通信工具箱および相控阵系统工具箱の関数と系统对象™を使用し,以下を必要とします。

  • 通信工具箱的WINNER II信道模型

はじめに

MIMO-OFDMシステムは,周波数選択性チャネルのロバスト性と高いデータ転送速度に対応しているため,現在の無線システム(5 g NR, LTE, WLANなど)の基準となっています。サポートされるデータ転送速度への絶え間なく増大する需要により,アンテナ素子の数や割り当てられるリソース(副搬送波)も増え,これらのシステムの構成はより複雑で大規模になっています。

アンテナアレ电子邮箱と空間多重化では,送信を実現するための効率的な手法が必要です[6]。ビームフォーミングはこのような手法の1つで,ここではビット誤り率(BER)の観点で測定される,システムパフォーマンスを最終的に向上するS / N比(信噪比)を改善するために使用されます[1]。

この例では,送信側および受信側のアンテナ素子の最大数をそれぞれ1024と32にできる(最大16の独立データストリーム)非対mimo - ofdm単称一ユーザーシステムを示します。これはアレイの位置とアンテナパターンがシステム全体の設計に組み込まれた空間チャネルをモデル化します。簡略化のため,単一のポイントツーポイントリンク(1つの基地局が1人のモバイルユーザーと通信する)がモデル化されています。リンクはチャネルサウンディングを使用して,送信機にビームフォーミングに必要なチャネル情報を提供します。

この例では,空間的に定義されたいくかのチャネルモデルの選択肢を提供しています。具体的には,胜者iiチャネルモデルと散乱ベ,スのモデルです。どらも送信/受信の空間的な位置とアンテナパタンを考慮します。

S = rng(61);为可重复性设置RNG状态

システムパラメタ

システムのパラメ,タ,を定義します。これらのパラメ,タ,を変更することで,システムへの影響を調べることができます。

具有多个流的单用户系统人口、难民和移民事务局。numUsers = 1;%用户数量人口、难民和移民事务局。numSTS = 16;%独立数据流个数,4/8/16/32/64人口、难民和移民事务局。numTx = 32;%发射天线个数人口、难民和移民事务局。numRx = 16;%接收天线个数人口、难民和移民事务局。bitsPerSubCarrier = 6;% 2: qpsk, 4:16 qam, 6:64 qam, 8:256qamprm.numDataSymbols= 10;% OFDM数据符号数人口、难民和移民事务局。Fc = 4e9;% 4 GHz系统人口、难民和移民事务局。chanSRate = 100e6;通道采样率,100 Msps人口、难民和移民事务局。ChanType =“散射”频道选项:'WINNER', 'Scattering','ScatteringFcn', 'StaticFlat'人口、难民和移民事务局。NFig = 5;%噪声值,dB%阵列位置和角度人口、难民和移民事务局。posTx = [0;0;0];% BS/发射阵列位置,[x;y;z],米人口、难民和移民事务局。mobileRange = 300;%米%角指定为[方位角;仰角],az=[-90 90], el=[-90 90]人口、难民和移民事务局。mobileAngle = [33;0);%度人口、难民和移民事务局。转向角度= [30;-20);%传送转向角(接近mobileAngle)人口、难民和移民事务局。enSteering = true;%启用/禁用转向

システムに使用されるofdm変調を定義するパラメ,タ,は,以下で指定されます。

人口、难民和移民事务局。FFTLength = 256;人口、难民和移民事务局。CyclicPrefixLength = 64;人口、难民和移民事务局。numCarriers = 234;人口、难民和移民事务局。NumGuardBandCarriers = [7 6];人口、难民和移民事务局。PilotCarrierIndices = [26 54 90 118 140 168 204 232]; nonDataIdx = [(1:prm.NumGuardBandCarriers(1))'; prm.FFTLength/2+1;...(prm.FFTLength-prm.NumGuardBandCarriers (2) + 1: prm.FFTLength) ';...prm.PilotCarrierIndices。');人口、难民和移民事务局。CarriersLocations = setdiff((1:prm.FFTLength)',sort(nonDataIdx));numTx = prm.numTx;numRx = prm.numRx;numSTS = prm.numSTS;人口、难民和移民事务局。numFrmBits = numSTS*prm.numDataSymbols*prm.numCarriers*...prm.bitsPerSubCarrier * 1/3-6;%终止位帐号人口、难民和移民事务局。modMode = 2^prm.bitsPerSubCarrier;调制阶数考虑信道滤波器延迟人口、难民和移民事务局。numPadZeros = 3*(prm.FFTLength+prm.CyclicPrefixLength);获取发送和接收数组信息人口、难民和移民事务局。numSTSVec = numSTS;[isTxURA,expFactorTx,isRxURA,expFactorRx] = helperArrayInfo(prm,true);

例でモデル化されているチャネルサウンディング,およびデータの送信と受信の処理を,次のブロック線図で示します。

モデル化された空間を考慮したシステムの基地局と移動局の位置に基づいて自由空間パス損失が計算されます。

人口、难民和移民事务局。cLight = physconst(“光速”);人口、难民和移民事务局。lambda = prm.cLight/prm.fc;移动位置[xRx,yRx,zRx] = sph2cart(deg2rad(prm.mobileAngle(1)),...函数prm.mobileAngle (2)), prm.mobileRange);人口、难民和移民事务局。posRx = [xRx;yRx;zRx];[toRxRange,toRxAng] = rangeangle(prm.posTx,prm.posRx);spLoss = fspl(toRxRange,prm.lambda);gainFactor = 1;

チャネルサウンディング

空間的に多重化されたシステムの場合,送信機でのチャネル情報を利用できることで,対象の方向とチャネルにおける信号エネルギーを最大化するためのプリコーディングの適用が可能になります。チャネルがゆっくりと変動するという前提では,これはチャネルを最初にサウンディングすることで円滑化されます。ここでは,基準送信のため,受信機がチャネルを推定し,この情報を送信機にフィ,ドバックします。

選択したシステムの場合,プリアンブル信号がすべての送信アンテナ素子全体から送信され,チャネルを調整する受信機で処理されます。受信機コンポーネントは,データ副搬送波ごとの特異値分解(圣)を使用して,チャネル対角化に基づいて,事前増幅,OFDM復調,周波数領域チャネル推定,およびフィードバックの重みの計算を実行します。

%产生前导信号preambleSigSTS = helperGenPreamble(prm);% repeat over numTxpreambleSig = 0 (size(preambleSigSTS,1),numTx);i = 1:numSTS preambleSig(:,(i-1)*expFactorTx+(1:expFactorTx)) =...repmat (preambleSigSTS(:,我),1,expFactorTx);结束通过信道传输前导[rxPreSig,chanDelay] = helperApplyChannel(preambleSig,prm,spLoss);前端放大器增益和热噪声rxPreAmp =相控的。ReceiverPreamp (...“获得”, gainFactor * spLoss,...%考虑路径丢失“NoiseFigure”人口、难民和移民事务局。NFig,...“ReferenceTemperature”, 290,...“SampleRate”, prm.chanSRate);rxPreSigAmp = rxPreAmp(rxPreSig);rxPreSigAmp = rxPreSigAmp *...比例功率(√prm.FFTLength-sum prm.NumGuardBandCarriers) 1) / (prm.FFTLength));OFDM解调解调器(...“FFTLength”人口、难民和移民事务局。FFTLength,...“NumGuardBandCarriers”prm.NumGuardBandCarriers。’,...“RemoveDCCarrier”,真的,...“PilotOutputPort”,真的,...“PilotCarrierIndices”prm.PilotCarrierIndices。’,...“CyclicPrefixLength”人口、难民和移民事务局。CyclicPrefixLength,...“NumSymbols”numSTS,...%仅仅是序言符号“NumReceiveAntennas”, numRx);rxOFDM =解调器ofdm (...rxPreSigAmp (chanDelay + 1:结束- (prm.numPadZeros-chanDelay):));%来自序言的信道估计% numCarr, numSTS, numRxhD = helperMIMOChannelEstimate(rxOFDM(:,1:numSTS,:),prm);计算反馈权重v = diagbfweights(hD);

プレゼンテーションを簡潔にするため,搬送波再生とタイミング再生を含むフロントエンドの同期が仮定されています。そのため,diagbfweightsを使用して計算された重みは,この後の実際のデータ送信に適用するため,送信機にフィードバックされます。

デ,タ送信

次に,システムのデ,タの送信機を構成します。この処理には,チャネル符号化,複素シンボルへのビットマッピング,個別のデータストリームの複数の送信ストリームへの分割,送信ストリームのプリコーディング,パイロットマッピングによるOFDM変調,および使用されている送信アンテナの複製が含まれます。

%卷积编码器encoder = com . convolutionalencoder (...“TrellisStructure”,poly2trellis(7,[133 171 165]),...“TerminationMethod”“终止”);从位生成映射符号txBits = randi([0,1],prm.numFrmBits,1);encodedBits =编码器(txBits);位到QAM符号的映射mappedSym = qammod(encodedBits,prm.modMode,“InputType”“一点”...“UnitAveragePower”,真正的);映射到层:每个符号,每个数据流gridData =重塑(mappedSym,prm.numCarriers,prm.numDataSymbols,numSTS);对子载波应用预编码权重,假设完全反馈preData =复杂(零(prm.numCarriers,prm.numDataSymbols,numSTS));symIdx = 1:prm.numDataSymbolscarrIdx = 1:prm。numCarriers Q = squeeze(v(carrIdx,:,:));normQ = Q *√(numTx)/norm(Q,“摇来摇去”);preData carrIdx、symIdx: =...挤压(gridData (carrIdx、symIdx:))。' * normQ;结束结束% OFDM调制的数据调制器ofdm = com . ofdm...“FFTLength”人口、难民和移民事务局。FFTLength,...“NumGuardBandCarriers”prm.NumGuardBandCarriers。’,...“InsertDCNull”,真的,...“PilotInputPort”,真的,...“PilotCarrierIndices”prm.PilotCarrierIndices。’,...“CyclicPrefixLength”人口、难民和移民事务局。CyclicPrefixLength,...“NumSymbols”prm.numDataSymbols,...“NumTransmitAntennas”, numSTS);%多天线飞行员飞行员= helperGenPilots(prm.numDataSymbols,numSTS);txOFDM = modulatorOFDM(preData,导频);txOFDM = txOFDM * (prm。FFTLength /...√prm.FFTLength-sum prm.NumGuardBandCarriers) 1));比例功率生成带有反馈权重和数据前缀的序文preambleSigD = helperGenPreamble(prm,v);txSigSTS = [preambleSigD;txOFDM];%重复numTxtxSig = 0 (size(txSigSTS,1),numTx);i = 1:numSTS txSig(:,(i-1)*expFactorTx+(1:expFactorTx)) =...repmat (txSigSTS(:,我),1,expFactorTx);结束

プリコ,ディングでは,プリアンブル信号が再生成され,チャネル推定を可能にします。これがデ,タ部分の最初に付加され,この後送信アンテナ経由で複製される送信パケットが構成されます。

ビ,ムステアリングの送信

相控阵系统工具箱は無線通信システムで使用されるフェーズドアレイの設計とシミュレーションに適したコンポーネントを提供します。

空間を考慮したシステムでは,基地局から送信された信号は,放射されたエネルギーを希望の方向に集中させるため,移動局の方向にステアリングされます。これは位相シフトを各アンテナ素子に適用して送信をステアリングすることで実行できます。

例では,データストリーム数および選択した送信アンテナの数に応じて,送信側で直線アレイまたは方形アレイを使用します。

每个天线元件的增益%放大器=相控。发射机(“PeakPower”1 / numTx,“获得”, 0);%放大以达到每个元件的峰值发射功率n = 1:numTx txSig(:,n) =放大器(txSig(:,n));结束发射天线阵列定义如果isTxURA均匀矩形阵列arrayTx = phase . ura ([expFactorTx,numSTS],[0.5 0.5]*prm.lambda,...“元素”,分阶段。IsotropicAntennaElement (“BackBaffled”,真的));其他的均匀线阵arrayTx = phase。齿龈(numTx...“ElementSpacing”0.5 * prm.lambda...“元素”,分阶段。IsotropicAntennaElement (“BackBaffled”,真的));结束%用于评估转向的重量SteerVecTx =相控。SteeringVector (“SensorArray”arrayTx,...“PropagationSpeed”, prm.cLight);为转向方向生成权重wT = SteerVecTx(prm.fc,prm.steeringAngle);%沿操纵方向辐射,无信号组合radiatorTx =相控。散热器(“传感器”arrayTx,...“WeightsInputPort”,真的,...“PropagationSpeed”prm.cLight,...“OperatingFrequency”prm.fc,...“CombineRadiatedSignals”、假);如果人口、难民和移民事务局。enSteering txSteerSig = radiatorTx(txSig,repmat(prm.mobileAngle,1,numTx),...连词(wT));其他的txSteerSig = txSig;结束%可视化数组H =数字(“位置”,figposition([10 55 22 35]),菜单条的“没有”);h.Name =“发射阵列几何”;viewArray (arrayTx);可视化传输模式和转向H =数字(“位置”,figposition([32 55 22 30]),菜单条的“没有”);h.Name =“发射阵列响应模式”;模式(arrayTx prm.fc,“PropagationSpeed”prm.cLight,“重量”、wT);H =数字(“位置”,figposition([54 55 22 35]),菜单条的“没有”);h.Name =“发射阵列方位角模式”;patternAzimuth (arrayTx prm.fc,“PropagationSpeed”prm.cLight,“重量”、wT);如果isTxURA h = figure(“位置”,figposition([76 55 22 35]),菜单条的“没有”);h.Name =“发射阵列仰角图”;patternElevation (arrayTx prm.fc,“PropagationSpeed”prm.cLight,...“重量”、wT);结束

複数のビュでのアレのジオメトリと送信アレの応答を,プロットで示します。応答は,ステアリング角度で指定された送信方向を示します。

例では,ステアリング角度は既知でありモバ。実際のシステムでは,これは,チャネルサウンディングまたは初期のビーム追跡手順の一部である受信側の到達角度の推定により推定されます。

信号伝播

この例では,空間MIMOチャネルの3つのオプションと,評価目的用のより簡潔な静的フラットMIMOチャネルを提供します。

胜者二チャネルモデル[5]はアレイのジオメトリと位置の情報を指定することができる空間的に定義されたMIMOチャネルです。移動体速度が非常に遅い典型的な都市マクロセル屋内シナリオを使用するように構成されています。

2 .。分布点の数はユ,ザ,が指定します。この例では,分布点の数は100に設定されています。“散射”オプションは送信機と受信機の間の円内にランダムに配置された分布点をモデル化し、'ScatteringFcn' はその配置を完全にランダムにモデル化します。

モデルでは,パス損失のモデル化,および見通し内(LOS)と非洛の両方の伝播条件が許可されます。この例では,非los伝播と線形ジオメトリを持等方性アンテナ素子パタンを想定しています。

将一个空间定义的通道应用到被操纵的信号[rxSig,chanDelay] = helperApplyChannel(txSteerSig,prm,spLoss,preambleSig);

サウンディングとデ,タ送信の両方に同じチャネルが使用されています。デ,タ送信は,デ,タシンボルパラメ,タ,prm.numDataSymbolsの数で制御される期間がより長くなっています。

ビ,ムステアリングの受信

受信機は,送信終了時のステアリングに合わせて,受信要素ごとに入射信号をステアリングします。熱ノ▪▪ズと受信機のゲ▪▪ンが適用されます。等方性応答をもつ等間隔直線アレイと矩形アレイが,チャネルと送信機の配列に一致するようにモデル化されます。

rxPreAmp =相控的。ReceiverPreamp (...“获得”, gainFactor * spLoss,...%表示路径丢失“NoiseFigure”人口、难民和移民事务局。NFig,...“ReferenceTemperature”, 290,...“SampleRate”, prm.chanSRate);前端放大器增益和热噪声rxSigAmp = rxPreAmp(rxSig);rxSigAmp = rxSigAmp *...比例功率(返回值(人口、难民和移民事务局。FFTLength - sum(prm.NumGuardBandCarriers)-1)/(prm.FFTLength));%接收数组如果isRxURA均匀矩形阵列arrayRx = phase . ura ([expFactorRx,numSTS],0.5*prm.lambda,...“元素”,分阶段。IsotropicAntennaElement (“BackBaffled”,真的));其他的均匀线阵arrayRx = phase。齿龈(numRx...“ElementSpacing”0.5 * prm.lambda...“元素”, phased.IsotropicAntennaElement);结束%用于评估接收侧转向砝码SteerVecRx =相控。SteeringVector (“SensorArray”arrayRx,...“PropagationSpeed”, prm.cLight);%为移动方向生成权重wR = SteerVecRx(prm.fc,toRxAng);沿移动接收方向驾驶如果人口、难民和移民事务局。enSteering rxSteerSig = rxSigAmp.*(wR');其他的rxSteerSig = rxSigAmp;结束%可视化数组H =数字(“位置”,figposition([10 20 22 35]),菜单条的“没有”);h.Name =“接收阵列几何”;viewArray (arrayRx);可视化接收模式和转向H =数字(“位置”,figposition([32 20 22 30]));h.Name =“接收数组响应模式”;模式(arrayRx prm.fc,“PropagationSpeed”prm.cLight,“重量”,或者说是);H =数字(“位置”,figposition([54 20 22 35]),菜单条的“没有”);h.Name =接收阵列方位角模式;patternAzimuth (arrayRx prm.fc,“PropagationSpeed”prm.cLight,“重量”,或者说是);如果isRxURA图(“位置”,figposition([76 20 22 35]),菜单条的“没有”);h.Name =“接收阵列仰角图”;patternElevation (arrayRx prm.fc,“PropagationSpeed”prm.cLight,...“重量”,或者说是);结束

受信アンテナパタ,ンは送信ステアリングをミラ,リングします。

信号再生

受信アンテナアレ▪▪▪▪は,伝播された信号を受信機に渡し,信号に組み込まれた元の情報を復元します。MIMO - OFDMシ送信機と同様に,ステムで使用される受信機には,OFDM復調器,文中イコライザー,QAM復調器,チャネル復号化器など,多くのコンポーネントが含まれます。

解调器(...“FFTLength”人口、难民和移民事务局。FFTLength,...“NumGuardBandCarriers”prm.NumGuardBandCarriers。’,...“RemoveDCCarrier”,真的,...“PilotOutputPort”,真的,...“PilotCarrierIndices”prm.PilotCarrierIndices。’,...“CyclicPrefixLength”人口、难民和移民事务局。CyclicPrefixLength,...“NumSymbols”, numSTS + prm.numDataSymbols,...%序文和数据“NumReceiveAntennas”, numRx);OFDM解调rxOFDM =解调器ofdm (...rxSteerSig (chanDelay + 1:结束- (prm.numPadZeros-chanDelay):));来自映射序文的信道估计hD = helperMIMOChannelEstimate(rxOFDM(:,1:numSTS,:),prm);% MIMO均衡[rxEq,CSI] = helperMIMOEqualize(rxOFDM(:,numSTS+1:end,:),hD);%软解调scFact = ((prm.FFTLength-sum(prm.NumGuardBandCarriers)-1).../ prm.FFTLength ^ 2) / numTx;nVar = noisepow(prm.chanSRate,prm.NFig,290)/scFact;rxSymbs = rxEq(:)/sqrt(numTx);rxLLRBits = qamdemod(rxSymbs,prm.modMode,“UnitAveragePower”,真的,...“OutputType”“approxllr”“NoiseVariance”据nVar);在解码之前应用CSIrxLLRtmp =重塑(rxLLRBits,prm.bitsPerSubCarrier,[],...prm.numDataSymbols numSTS);csitmp =重塑(CSI,1,[],1,numSTS);rxScaledLLR = rxLLRtmp.*csitmp;%软输入通道解码解码器= com . viterbidecoder (...“InputFormat”“Unquantized”...“TrellisStructure”,poly2trellis(7, [133 171 165]),...“TerminationMethod”“终止”...“OutputDataType”“双”);rxDecoded =解码器(rxScaledLLR(:));%已解码的接收位rxBits = rxDecoded(1:prm.numFrmBits);

モデル化されたMIMOシステムでは,イコライズされたシンボルの受信コンスタレーションを表示することで,受信の定性評価を提供します。実際のビット誤り率は,実際の送信されたビットと受信および復号化されたビットを比較することで,定量的数値を提供します。

显示接收星座constDiag = com . constellationdiagram (...“SamplesPerSymbol”,1,...“ShowReferenceConstellation”,真的,...“ReferenceConstellation”...qammod ((0: prm.modMode-1)、prm.modMode“UnitAveragePower”,真正的),...“ColorFading”假的,...“位置”,figposition([20 20 35 40]),...“标题”“平衡的符号”...“EnableMeasurements”,真的,...“MeasurementInterval”长度(rxSymbs));constDiag (rxSymbs);计算和显示误码率ber = com . errorrate;测量= ber(txBits,rxBits);流('BER = %.5f;不。of Bits = %d;不。误差= %d\n'...(1),(3)措施的人,措施(2));rng(年代);恢复RNG状态
Ber = 0.00000;不。of Bits = 74874;不。误差= 0

まとめとその他の調査

この例では,ビームフォーミングされmimo - ofdmシたステムのフェーズドアンテナアレイの使用について示しています。これは単一ユザシステムの基地局と移動局でのアレの空間ジオメトリと位置を考慮しています。チャネルサウンディングを使用して、現在の無線システムでプリコーディングがどのように適用されるか、およびアンテナ アレイのステアリングがどのようにモデル化されるかを示しています。

構成可能なパラメーターセットの中で,データストリームの数,送信側/受信側のアンテナ素子,局やアレイの位置とジオメトリ,チャネルモデルとその構成を変えて,パラメーター個々のまたはパラメーターを組み合わせた場合のシステムへの影響を確認できます。例として,送信アンテナ数だけを変えて,ステアリングされたビームのメインローブと最終的なシステムパフォーマンスを確認します。

例では,実際のシステムではさらに考慮する必要がある,フロントエンドの同期,チャネルフィードバック,ユーザー速度,およびパス損失モデルの仮定も簡略化しています。個別のシステムにもモデリングに組み入れなければならない独自の手順があります[23.4]。

使用されている次の補助関数にいて調査します。

参考文献

  1. Perahia, Eldad和Robert Stacey。下一代无线局域网:802.11n和802.11ac。剑桥大学出版社,2013年。

  2. IEEE信息技术标准。系统间的电信和信息交换。局域网和城域网。特殊要求。第11部分:无线局域网介质访问控制(MAC)和物理层(PHY)规范。

  3. 3gpp ts 36.213。“物理层程序。”3.rd Generation Partnership Project; Technical Specification Group Radio Access Network; Evolved Universal Terrestrial Radio Access (E-UTRA).URL:https://www.3gpp.org

  4. 3gpp ts 36.101。用户设备(UE)无线电发射和接收。第三代伙伴计划;技术规范集团无线接入网;改进的通用地面无线电接入(E-UTRA)。URL:https://www.3gpp.org

  5. Kyosti, Pekka, Juha Meinila,等。WINNER II通道模型。d1.1.2, V1.2。IST-4-027756 WINNER II, 2007年9月。

  6. George Tsoulos主编,“无线通信的MIMO系统技术”,CRC出版社,博卡拉顿,佛罗里达州,2006年。