このページは機械翻訳を使用して翻訳されました。最新版の英語を参照するには、ここをクリックします。
モデルNR NTN チャネル
この例では、フラット フェージング ナローバンドチャネルと周波数選択フェージング タップ遅延線 (TDL)チャネルの 2 種類のNew Radio (NR) 非地上ネットワーク (NTN) チャネルをモデル化する方法を示します。これらのチャネルは、それぞれ3GPP TR 38.811のセクション6.7.1とセクション6.9.2で定義されています[1]。これらのチャネルは、静止軌道 (GSO)衛星と非静止軌道 (NGSO)衛星の両方をカバーする、さまざまなNTN展開シナリオをモデル化するために使用されます。
はじめに
この例では、ベースチャネルモデルから生成されたパス ゲインに衛星の移動によるドップラー シフトを適用して、 NTNチャネルモデルのパス ゲインを生成します。NTNフラットフェージング狭帯域チャネルの基本チャネルモデルは、陸上移動衛星(LMS)チャネルの伝搬データを定義するITU -R P.681-11に従って実装されています[4]。NTN周波数選択TDLチャネルの基本チャネルモデルは、地上TDLチャネルを定義する3GPP TR 38.901に従って実装されています[2]。
衛星の動きによるドップラーシフトは、衛星の軌道、仰角、搬送周波数によって異なります。3GPP TR 38.811 セクション 6.7.1 およびセクション 6.9.2 [1] で定義されている衛星の動きによるドップラーシフト は次のとおりです。
は光の速度 () です。
は地球の半径 () です。
は衛星の高度です。
は衛星の仰角です。
は搬送周波数です。
は衛星の速度で、 で与えられます。ここで、G は重力定数 ()、M は地球の質量 () です。
この例では、次を使用します。
衛星の動きによるドップラーシフトを計算する
dopplerShiftCircularOrbit
関数。NTN狭帯域チャネルをモデル化する
p681LMSChannel
System object™NTN TDLチャネルをモデル化する
nrTDLChannel
System object™
NTNチャネル共通パラメーターの設定
NTN狭帯域フラット フェージングチャネルとNTN TDLチャネルをモデル化するために必要な共通パラメーターを設定します。この例では、高度600 km で移動し、S バンドで動作する低軌道(LEO)衛星をモデル化します。モバイルまたは UE の速度が 3 km/h であると想定します。これらのデフォルトパラメーターは3GPP TR 38.821表6.1.2-4 [3]からのものです。
commonParams = struct; commonParams.CarrierFrequency = 2e9; % In Hz commonParams.ElevationAngle = 50; % In degrees commonParams.SatelliteAltitude = 600000; % In m commonParams.MobileAltitude = 0; % In m commonParams.MobileSpeed = 3*1000/3600; % In m/s commonParams.SampleRate = 7680000; % In Hz % Set the random stream and seed, for reproducibility commonParams.RandomStream ="mt19937ar with seed"; commonParams.Seed = 73; % Set the number of sinusoids used in generation of Doppler spread commonParams.NumSinusoids = 48; % Calculate the Doppler shift due to satellite movement satelliteDopplerShift = dopplerShiftCircularOrbit(... commonParams.ElevationAngle,commonParams.SatelliteAltitude,... commonParams.MobileAltitude,commonParams.CarrierFrequency); % Calculate the maximum Doppler shift due to mobile movement c = physconst('lightspeed'); mobileMaxDoppler = commonParams.MobileSpeed*commonParams.CarrierFrequency/c;
NTNナローバンドチャネル
この例では、3GPP TR 38.811 セクション 6.7.1 [1] で定義されているNTNフラット フェーディング ナローバンドチャネルで使用可能なすべての陸上移動衛星(LMS ) シナリオをサポートしています。S バンド用に定義されているLMSシナリオは次のとおりです。
都市
郊外
RuralWooded
居住地
Ka バンド用に定義されているLMSシナリオは次のとおりです。
郊外
RuralWooded
3GPP TR 38.811 セクション 6.7.1 [1] で指定されているNTNフラット フェージング ナローバンドチャネルをモデル化するには、次の手順に従います。
NTNフラット フェーディング ナローバンドチャネルに固有のチャネルパラメーターを設定します。
NTNフラット フェージング ナローバンドチャネルを生成します。
フェードまたはフィルタリングされた信号のスペクトルを可視化します。
NTNフラット フェーディングチャネルは、狭帯域の単一入力単一出力 (SISO) シミュレーションに使用されます。
NTNナローバンドチャネルパラメーターの設定
定義された共通パラメーターとNTNナローバンドチャネル固有のパラメーターを使用して、 NTNフラット フェーディング ナローバンドチャネルパラメーターを設定します。この例では、 NTNナローバンドチャネルの都市LMSシナリオを構成します。
% Initialize the NTN flat fading narrowband channel ntnNarrowbandChan = p681LMSChannel; ntnNarrowbandChan.SampleRate = commonParams.SampleRate; ntnNarrowbandChan.CarrierFrequency = commonParams.CarrierFrequency; ntnNarrowbandChan.ElevationAngle = commonParams.ElevationAngle; ntnNarrowbandChan.MobileSpeed = commonParams.MobileSpeed; ntnNarrowbandChan.SatelliteDopplerShift = satelliteDopplerShift; ntnNarrowbandChan.RandomStream = commonParams.RandomStream; ntnNarrowbandChan.Seed = commonParams.Seed; ntnNarrowbandChan.Environment ="Urban"; ntnNarrowbandChan.AzimuthOrientation = 0; ntnNarrowbandChan.FadingTechnique =
"Sum of sinusoids"; ntnNarrowbandChan.NumSinusoids = commonParams.NumSinusoids; % Set the below properties when Environment is set to Custom if strcmpi(ntnNarrowbandChan.Environment,'Custom') ntnNarrowbandChan.StateDistribution = [3.0639 2.9108; 1.6980 1.2602]; ntnNarrowbandChan.MinStateDuration = [10 6]; ntnNarrowbandChan.DirectPathDistribution = [-1.8225 -15.4844; 1.1317 3.3245]; ntnNarrowbandChan.MultipathPowerCoefficients = [-0.0481 0.9434; -14.7450 -1.7555]; ntnNarrowbandChan.StandardDeviationCoefficients = [-0.4643 -0.0798; 0.3334 2.8101]; ntnNarrowbandChan.DirectPathCorrelationDistance = [1.7910 1.7910]; ntnNarrowbandChan.TransitionLengthCoefficients = [0.0744; 2.1423]; ntnNarrowbandChan.StateProbabilityRange = [0.05 0.1; 0.95 0.9]; end
P.681-11 LMSベースチャネルモデルに関する情報を取得し、チャネルのフラット フェーディングの性質によりチャネルフィルタの遅延が 0 であることを確認します。
p681ChannelInfo = info(ntnNarrowbandChan)
p681ChannelInfo = struct with fields:
PathDelays: 0
ChannelFilterDelay: 0
ChannelFilterCoefficients: 1
NumSamplesProcessed: 0
NTNナローバンドチャネルを生成する
NTNフラット フェージング ナローバンドチャネルのパス ゲインを生成し、結果のパス ゲインを使用してランダム入力信号にチャネルフィルタリングを適用します。
% Generate a random input rng(commonParams.Seed); in = randn(commonParams.SampleRate,1,'like',1i);
NTNフラット フェージング ナローバンドチャネルのフェード波形を生成します。
[narrowbandOut,narrowbandPathGains,narrowbandSampleTimes] = ...
ntnNarrowbandChan(in);
NTN狭帯域チャネル受信スペクトルを可視化する
NTNフラット フェージング ナローバンドチャネルからのフェード信号の受信スペクトルをプロットします。
ntnNarrowbandAnalyzer = spectrumAnalyzer( ... SampleRate = ntnNarrowbandChan.SampleRate); ntnNarrowbandAnalyzer.Title = "Received Signal Spectrum " ... + "NTN narrowband with " + string(ntnNarrowbandChan.Environment) + " environment"; ntnNarrowbandAnalyzer.ShowLegend = true; ntnNarrowbandAnalyzer.ChannelNames = "Rx Antenna 1"; ntnNarrowbandAnalyzer(narrowbandOut)
NTN TDLチャネル
この例では、3GPP TR 38.811 セクション 6.9.2 [1] で定義されているNTN TDLチャネルの 4 つのチャネルプロファイルをすべてサポートします。これら 4 つのチャネルプロファイルは次のとおりです。
NTN-TDL-A
NTN-TDL-B
NTN-TDL-C
NTN-TDL-D
チャネルプロファイルNTN-TDL-A およびNTN-TDL-B は、見通し外 (NLOS) 条件用に定義されています。チャネルプロファイルNTN-TDL-C およびNTN-TDL-D は、見通し線 (LOS) 条件用に定義されています。4 つのチャネルプロファイルはすべて、仰角50 度で定義されます。NTN TDLチャネル[1] と地上 TDLチャネル[2] の主な違いは次のとおりです。
NTN TDLチャネルは、モバイルまたはユーザー機器 (UE) の移動によるドップラー シフトに加えて、衛星の動きによるドップラー シフトも考慮します。
NTN TDLチャネル遅延プロファイルは、大きな伝播遅延と異なる散乱環境のため、地上 TDLチャネルプロファイルとは異なります。
3GPP TR 38.811 セクション 6.9.2 [1] で指定されているNTN周波数選択フェージング TDLチャネルをモデル化するには、次の手順に従います。
NTN周波数選択フェージング TDLチャネルに固有のチャネルパラメーターを設定します。
NTN周波数選択フェージング TDLチャネルを生成します。
フェードまたはフィルタリングされた信号のスペクトルを可視化します。
NTN TDLチャネルパラメーターを設定する
定義された共通パラメーターとNTN TDLチャネル固有のパラメーターを使用して、 NTN周波数選択フェージングTDLチャネルパラメーターを設定します。
% Initialize the NTN TDL channel ntnTDLChan = nrTDLChannel; ntnTDLChan.DelayProfile ="NTN-TDL-A"; ntnTDLChan.DelaySpread = 30e-9; % In s ntnTDLChan.TransmissionDirection =
"Downlink"; ntnTDLChan.MIMOCorrelation =
"Low"; ntnTDLChan.Polarization =
"Co-Polar"; ntnTDLChan.SampleRate = commonParams.SampleRate; ntnTDLChan.MaximumDopplerShift = mobileMaxDoppler; ntnTDLChan.SatelliteDopplerShift = satelliteDopplerShift; ntnTDLChan.RandomStream = commonParams.RandomStream; ntnTDLChan.Seed = commonParams.Seed; % Set the antenna configuration % Modify the below properties, when MIMOCorrelation is set to a value other % than Custom if ~strcmpi(ntnTDLChan.MIMOCorrelation,'Custom') ntnTDLChan.NumTransmitAntennas = 1; ntnTDLChan.NumReceiveAntennas = 2; else % Modify the below properties, when MIMOCorrelation is set to Custom and % Polarization is set to Co-Polar or Cross-Polar if any(strcmpi(ntnTDLChan.Polarization,{'Co-Polar','Cross-Polar'})) ntnTDLChan.TransmitCorrelationMatrix = 1; ntnTDLChan.ReceiveCorrelationMatrix = [1 0; 0 1]; end % Modify the below properties, when MIMOCorrelation is set to Custom and % Polarization is set to Cross-Polar if strcmpi(ntnTDLChan.Polarization,'Cross-Polar') ntnTDLChan.TransmitPolarizationAngles = [45 -45]; % In degrees ntnTDLChan.ReceivePolarizationAngles = [90 0]; % In degrees ntnTDLChan.XPR = 10; % In dB end % Modify the below property, when both MIMOCorrelation and Polarization % are set to Custom if strcmpi(ntnTDLChan.Polarization,'Custom') ntnTDLChan.SpatialCorrelationMatrix = [1 0; 0 1]; end end
オブジェクト関数 info
を呼び出してパス遅延、平均パス ゲイン、および K 係数の最初のタップ値を観察することにより、チャネルが定義済みのNTNチャネル遅延プロファイルと遅延拡散に対して構成されていることを確認します。
tdlChanInfo = info(ntnTDLChan)
tdlChanInfo = struct with fields:
ChannelFilterDelay: 7
MaximumChannelDelay: 8
PathDelays: [0 3.2433e-08 8.5248e-08]
AveragePathGains: [0 -4.6750 -6.4820]
KFactorFirstTap: -Inf
NumTransmitAntennas: 1
NumReceiveAntennas: 2
SpatialCorrelationMatrix: [2×2 double]
NTN TDLチャネルを生成する
NTN周波数選択フェージング TDLチャネルのパスのゲインを生成し、結果のパスのゲインを使用してランダム入力信号にチャネルフィルタリングを適用します。
% Generate a random input rng(commonParams.Seed); in = randn(commonParams.SampleRate,tdlChanInfo.NumTransmitAntennas,'like',1i); % Generate the faded waveform for NTN TDL channel [tdlOut,tdlPathGains,tdlSampleTimes] = ntnTDLChan(in);
NTN TDLチャネル受信スペクトルを可視化する
NTN周波数選択フェージング TDLチャネルからのフェージング信号の受信スペクトルをプロットします。
ntnTDLAnalyzer = spectrumAnalyzer(SampleRate = ntnTDLChan.SampleRate); ntnTDLAnalyzer.Title = "Received Signal Spectrum " ... + "NTN TDL with " + string(ntnTDLChan.DelayProfile) + " delay profile"; ntnTDLAnalyzer.ShowLegend = true; for nRx = 1:size(tdlOut,2) ntnTDLAnalyzer.ChannelNames{nRx} = "Rx Antenna " + nRx; end ntnTDLAnalyzer(tdlOut)
その他の調査
この例を使用して、これらのオプションをさらに詳しく調べることができます。
他の衛星軌道の NTN 狭帯域チャネルまたは TDL チャネルを構成および解析するには、
commonParams
構造のSatelliteAltitude
フィールドを変更します。別の環境の NTN フラット フェーディング ナローバンド チャネルを解析するには、
p681LMSChannel
のEnvironment
プロパティを変更します。NTN TDL チャネルの LOS 遅延プロファイルを解析するには、
nrTDLChannel
のDelayProfile
プロパティを NTN-TDL-C または NTN-TDL-D に変更します。複数のアンテナのNTN TDLチャネルを構成するには、
nrTDLChannel
のMIMOCorrelation
およびPolarization
プロパティを変更します。これらの値に応じて他のプロパティを設定する必要がある場合があります。例で使用されている 2 つのNTNチャネルモデルをリンク シミュレーションで使用して、リンク メトリックを計算してみましょう。詳細については、NR NTN PDSCHスループットの例を参照してください。
参考文献
[1] 3GPP TR38.811.「非地上ネットワークをサポートするためのnew radio(NR)に関する研究」3rd Generation Partnership Project; Technical Specification Group Radio Access Network.
[2] 3GPP TR38.901.「0.5~100GHzの周波数におけるチャネルモデルの研究」3rd Generation Partnership Project; Technical Specification Group Radio Access Network.
[3] 3GPP TR38.821.「NR が非地上ネットワークをサポートするソリューション (NTN)」3rd Generation Partnership Project; Technical Specification Group Radio Access Network.
[4] ITU-R勧告P.681-11(2019年8月)。「陸上移動衛星業務における設計システムに必要な伝搬データ」P シリーズ;無線電波伝搬。