Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

nrTDLChannel

TDL チャネル モデル経由の信号送信

説明

nrTDLChannel System object™ は、タップ付き遅延線 (TDL) 多入力多出力 (MIMO) リンクレベル フェージング チャネルを通して入力信号を送信し、チャネルによって劣化した信号を取得します。このオブジェクトは、TR 38.901[1]に関する以下の項目を実装します。

  • Section 7.7.2: TDL モデル

  • Section 7.7.3: 遅延のスケーリング

  • Section 7.7.5.2 TDL 拡張: 相関行列の適用

  • Section 7.7.6: LOS チャネル モデルの K ファクター

さらに、このオブジェクトは、TR 38.811 の Section 6.9.2 の TDL モデルを実装します。

TDL MIMO チャネル モデルを通して信号を送信するには、次のようにします。

  1. nrTDLChannel オブジェクトを作成し、そのプロパティを設定する。

  2. 関数と同じように、引数を付けてオブジェクトを呼び出す。

System object の仕組みについては、System object とはを参照してください。

作成

説明

tdl = nrTDLChannel は、TDL MIMO チャネル System object を作成します。

tdl = nrTDLChannel(Name,Value) は、1 つ以上の名前と値のペアを使用して、プロパティが設定されたオブジェクトを作成します。プロパティ名を引用符で囲み、その後ろで値を指定します。指定していないプロパティは既定値になります。

例: tdl = nrTDLChannel('DelayProfile','TDL-D','DelaySpread',2e-6) は、TDL-D の遅延プロファイルと 2 マイクロ秒の遅延スプレッドが設定された TDL チャネル モデルを作成します。

プロパティ

すべて展開する

特に断りがない限り、プロパティは "調整不可" です。すなわち、オブジェクトを呼び出した後にその値を変更することはできません。オブジェクトは呼び出し時にロックされ、関数 release によってロックが解除されます。

プロパティが "調整可能" な場合は、その値をいつでも変更できます。

プロパティ値の変更に関する詳細については、System object を使用した MATLAB でのシステム設計を参照してください。

構成可能なチャネル プロパティ

TDL 遅延プロファイル。次の値のいずれかとして指定します。

  • 'TDL-A''TDL-B''TDL-C''TDL-D'、または 'TDL-E' — これらの値は、TR 38.901 の Section 7.7.2、Table 7.7.2-1 ~ 7.7.2-5 で定義されている遅延プロファイルに対応しています。

  • 'TDLA30''TDLB100''TDLC300'、または 'TDLC60' — これらの値は、TS 38.101-4 の Annex B.2.1 および TS 38.104 の Annex G.2.1 で定義されている簡易遅延プロファイルに対応しています。

  • 'TDLD30''TDLA10'、または 'TDLD10' — これらの値は、TS 38.101-4 の Annex B.2.1.1 および Annex B.2.1.2 の Release 17 で定義されている遅延プロファイルに対応しています。 (R2024a 以降)

  • 'NTN-TDL-A''NTN-TDL-B''NTN-TDL-C'、または 'NTN-TDL-D' — これらの値は、TR 38.811 の Section 6.9.2、Table 6.9.2-1 ~ 6.9.2-4 で定義されている非地上系ネットワーク (NTN) 遅延プロファイルに対応しています。 (R2024a 以降)

  • 'NTN-TDLA100' および 'NTN-TDLC5' — これらの値は、TS 38.101-5 の Annex B で定義されている NTN 簡易遅延プロファイルに対応しています。 (R2024a 以降)

  • 'Custom'PathDelaysAveragePathGainsFadingDistribution、および KFactorFirstTap の各プロパティを使用して遅延プロファイルを構成します。

データ型: char | string

離散パスの遅延 (秒)。数値スカラーまたは行ベクトルとして指定します。AveragePathGainsPathDelays は同じサイズでなければなりません。

依存関係

このプロパティを有効にするには、DelayProfile'Custom' に設定します。

データ型: double

平均パス ゲイン (dB)。数値スカラーまたは行ベクトルとして指定します。AveragePathGainsPathDelays は同じサイズでなければなりません。

依存関係

このプロパティを有効にするには、DelayProfile'Custom' に設定します。

データ型: double

フェージング プロセスの統計分布。'Rayleigh' または 'Rician' として指定します。

依存関係

このプロパティを有効にするには、DelayProfile'Custom' に設定します。

データ型: char | string

遅延プロファイルの最初のタップの K ファクター (dB)。数値スカラーとして指定します。既定値は、TR 38.901 の Section 7.7.2、Table 7.7.2-4 で定義されている TDL-D の最初のタップの K ファクターに対応しています。

依存関係

このプロパティを有効にするには、DelayProfile'Custom' に設定し、FadingDistribution'Rician' に設定します。

データ型: double

平方根平均二乗 (RMS) 遅延スプレッド目標値 (秒)。数値スカラーとして指定します。RMS 遅延スプレッド目標値 DSdesired の例については、TR 38.901 の Section 7.7.3 Table 7.7.3-1 および 7.7.3-2 を参照してください。

依存関係

このプロパティを有効にするには、DelayProfile'TDL-A''TDL-B''TDL-C''TDL-D''TDL-E', 'NTN-TDL-A''NTN-TDL-B''NTN-TDL-C'、または 'NTN-TDL-D' に設定します。

データ型: double

最大ドップラー シフト (Hz)。非負の数値スカラーとして指定します。このプロパティはすべてのチャネル パスに適用されます。最大ドップラー シフトおよび衛星のドップラー シフトの両方が 0 に設定されている場合、入力全体でチャネルは静的なままとなります。新しいチャネル実現を生成するには、関数 reset を呼び出すか、または NTN プロファイルの場合は衛星のドップラー シフトを非ゼロ値に設定し、このオブジェクトをリセットします。

データ型: double

K ファクターのスケーリング。false または true として指定します。true に設定した場合、KFactor プロパティによって K ファクター目標値が指定され、TR 38.901 の Section 7.7.6 の説明に従いオブジェクトによって K ファクターのスケーリングが適用されます。

メモ

K ファクターのスケーリングにより、パス遅延とパス電力の両方が変更されます。

依存関係

このプロパティを有効にするには、DelayProfile'TDL-D''TDL-E''NTN-TDL-C'、または 'NTN-TDL-D' に設定します。

データ型: double

スケーリング用の K ファクター目標値 (dB)。数値スカラーとして指定します。一般的な K ファクターの値については、TR 38.901 の Section 7.7.6 および Table 7.5-6 を参照してください。

メモ

  • K ファクターのスケーリングにより、パス遅延とパス電力の両方が変更されます。

  • K-factor は、遅延プロファイル全体に適用されます。特に、TR 38.901 の Section 7.7.6 で説明されているように、スケーリング後の K ファクターは Kmodel になります。Kmodel は、最初のパスの LOS の電力と、最初のパスのレイリー パートを含むすべてのレイリー パスの総電力との比です。

依存関係

このプロパティを有効にするには、KFactorScalingtrue に設定します。

データ型: double

入力信号のサンプル レート (Hz)。正の数値スカラーとして指定します。

データ型: double

ユーザー端末 (UE) と基地局 (BS) のアンテナ間の相関。次の値のいずれかとして指定します。

  • 'Low' または 'High' — アップリンクとダウンリンクの両方に適用されます。'Low' はアンテナ間に相関がない場合に相当します。

  • 'Medium' または 'Medium-A' — ダウンリンクの場合は TS 36.101 の Annex B.2.3.2 を参照してください。アップリンクの場合は TS 36.104 の Annex B.5.2 を参照してください。TransmissionDirection プロパティは伝達方向を制御します。

  • 'UplinkMedium' — TS 36.104 の Annex B.5.2 を参照してください。

  • 'Custom'ReceiveCorrelationMatrix プロパティは UE アンテナ間の相関を指定し、TransmitCorrelationMatrix プロパティは BS アンテナ間の相関を指定します。TR 38.901 の Section 7.7.5.2 を参照してください。

UE と BS のアンテナ間の相関の詳細については、TS 36.101[2] および TS 36.104[3] を参照してください。

データ型: char | string

アンテナ偏波の配置。'Co-Polar''Cross-Polar''Custom' として指定します。

データ型: char | string

伝達方向。'Downlink' または 'Uplink' として指定します。

依存関係

このプロパティを有効にするには、MIMOCorrelation'Low''Medium''Medium-A''UplinkMedium'、または 'High' に設定します。

メモ

このプロパティは、送信アンテナと受信アンテナの役割が入れ替わらない場合のチャネル ステータスに対応する伝達方向を規定します。アンテナが入れ替わった場合、反対の伝達方向がこのプロパティに適用されます。チャネルの現在のリンク方向を判断するには、TransmitAndReceiveSwapped プロパティの値を検査します。

データ型: char | string

送信アンテナの数。正の整数として指定します。

依存関係

このプロパティを有効にするには、MIMOCorrelation'Low''Medium''Medium-A''UplinkMedium'、または 'High' に設定するか、MIMOCorrelationPolarization の両方を 'Custom' に設定します。

データ型: double

受信アンテナの数。正の整数として指定します。

依存関係

このプロパティを有効にするには、MIMOCorrelation'Low''Medium''Medium-A''UplinkMedium'、または 'High' に設定します。

データ型: double

送信機の空間相関。2 次元行列または 3 次元配列として指定します。

  • チャネルが周波数フラットである場合 (PathDelays がスカラーである場合) は、サイズが NTNT 列である 2 次元エルミート行列として TransmitCorrelationMatrix を指定します。NT は送信アンテナの数です。主対角要素はすべて 1 でなければなりません。また、非対角要素は大きさが 1 以下でなければなりません。

  • チャネルに周波数選択性がある場合 (PathDelays が長さ NP の行ベクトルの場合) は、次のいずれかの配列として TransmitCorrelationMatrix を指定します。

    • 前述の要素プロパティをもつ、サイズが NTNT 列である 2 次元エルミート行列。各パスは同じ送信相関行列をもちます。

    • サイズが NT×NT×NP である 3 次元配列。ここで、サイズが NTNT 列である各部分行列は、前述の要素プロパティが設定されたエルミート行列です。各パスは独自の送信相関行列をもちます。

依存関係

このプロパティを有効にするには、MIMOCorrelation'Custom' に設定し、Polarization'Co-Polar' または 'Cross-Polar' に設定します。

データ型: double
複素数のサポート: あり

受信機の空間相関。2 次元行列または 3 次元配列として指定します。

  • チャネルが周波数フラットである場合 (PathDelays がスカラーの場合) は、サイズが NRNR 列である 2 次元エルミート行列として ReceiveCorrelationMatrix を指定します。NR は受信アンテナの数です。主対角要素はすべて 1 でなければなりません。また、非対角要素は大きさが 1 以下でなければなりません。

  • チャネルに周波数選択性がある場合 (PathDelays が長さ NP の行ベクトルの場合) は、次のいずれかの配列として ReceiveCorrelationMatrix を指定します。

    • 前述の要素プロパティをもつ、サイズが NRNR 列である 2 次元エルミート行列。各パスは同じ受信相関行列をもちます。

    • サイズが NR×NR×NP である 3 次元配列。ここで、サイズが NRNR 列である各部分行列は、前述の要素プロパティが設定されたエルミート行列です。各パスは独自の受信相関行列をもちます。

依存関係

このプロパティを有効にするには、MIMOCorrelation'Custom' に設定し、Polarization'Co-Polar' または 'Cross-Polar' に設定します。

データ型: double
複素数のサポート: あり

送信偏波傾斜角 (度)。行ベクトルとして指定します。

依存関係

このプロパティを有効にするには、MIMOCorrelation'Custom' に設定し、Polarization'Cross-Polar' に設定します。

データ型: double

受信偏波傾斜角 (度)。行ベクトルとして指定します。

依存関係

このプロパティを有効にするには、MIMOCorrelation'Custom' に設定し、Polarization'Cross-Polar' に設定します。

データ型: double

交差偏波電力比 (dB)。数値スカラーまたは行ベクトルとして指定します。このプロパティは、TR 38.901 の Section 7.7.1 で clustered delay line (CDL) モデルに関して定義されている、vertical-to-vertical (PVV) と vertical-to-horizontal (PVH) の電力比に対応します。

  • チャネルが周波数フラットである場合 (PathDelays がスカラーの場合) は、XPR をスカラーとして指定します。

  • チャネルに周波数選択性がある場合 (PathDelays が長さ NP の行ベクトルの場合) は、次のいずれかの値として XPR を指定します。

    • スカラー — 各パスは同じ交差偏波電力比をもちます。

    • サイズが 1 行 NP 列である行ベクトル — 各パスは独自の交差偏波電力比をもちます。

既定値は、TR 38.901 の Section 7.7.1、Table 7.7.1-1 で定義されている CDL-A のクラスターごとの交差偏波電力比に対応しています。

依存関係

このプロパティを有効にするには、MIMOCorrelation'Custom' に設定し、Polarization'Cross-Polar' に設定します。

データ型: double

チャネルの複合相関。2 次元行列または 3 次元配列として指定します。この行列により、送信アンテナの数 (NT) と受信アンテナの数 (NR) の積が決定されます。

  • チャネルが周波数フラットである場合 (PathDelays がスカラーの場合) は、サイズが (NTNR) 行 (NTNR) 列である 2 次元エルミート行列として SpatialCorrelationMatrix を指定します。非対角要素の大きさは、対応する 2 つの対角要素の幾何平均以下でなければなりません。

  • チャネルに周波数選択性がある場合 (PathDelays が長さ NP の行ベクトルの場合) は、次のいずれかの配列として SpatialCorrelationMatrix を指定します。

    • 前述の非対角要素プロパティをもつ、サイズが (NTNR) 行 (NTNR) 列である 2 次元エルミート行列。各パスは同じ空間相関行列をもちます。

    • サイズが (NTNR)×(NTNRNP である 3 次元配列 — ここで、サイズが (NTNR) 行 (NTNR) 列である各行列は、前述の非対角要素プロパティをもつエルミート行列です。各パスは独自の空間相関行列をもちます。

依存関係

このプロパティを有効にするには、MIMOCorrelation'Custom' に設定し、Polarization'Custom' に設定します。

データ型: double

パス ゲインの正規化。true または false として指定します。このプロパティを使用し、フェージング プロセスを正規化します。このプロパティが true に設定されている場合、パス ゲインの総電力を時間平均した値は 0 dB になります。このプロパティが false に設定されている場合、パス ゲインは正規化されません。パス ゲインの平均電力は、選択した遅延プロファイルか、DelayProfile'Custom' に設定されている場合は AveragePathGains プロパティで指定されます。

データ型: logical

フェージング プロセスの時間オフセット (秒)。数値スカラーとして指定します。

データ型: double

モデル化正弦波の数。正の整数として指定します。この正弦波によってフェージング プロセスがモデル化されます。

データ型: double

一様分布乱数を使用して正弦波の位相を初期化する乱数ストリームのソース。次の値のいずれかとして指定します。

  • 'mt19937ar with seed' — オブジェクトは、mt19937ar アルゴリズムを使用して乱数を生成します。関数 reset を呼び出すと、フィルターがリセットされ、乱数ストリームが Seed プロパティの値に再初期化されます。この値を指定すると、繰り返し可能なチャネル フェージングになります。

  • 'Global stream' — オブジェクトは、現在のグローバルな乱数ストリームを使用して乱数を生成します。関数 reset を呼び出すと、フィルターのみがリセットされます。

mt19937ar 乱数ストリームの初期シード。非負の数値スカラーとして指定します。

依存関係

このプロパティを有効にするには、RandomStream'mt19937ar with seed' に設定します。関数 reset の呼び出しの際には、このシードによって mt19937ar 乱数ストリームが再初期化されます。

データ型: double

チャネル出力の正規化。true または false として指定します。このプロパティが true に設定されている場合、受信アンテナ素子の数によってチャネル出力が正規化されます。

メモ

関数 swapTransmitAndReceive を呼び出してチャネル内の送信アンテナと受信アンテナの役割を入れ替えると、NumTransmitAntennas プロパティと NumReceiveAntennas プロパティも入れ替わります。そのため、常に NumReceiveAntennas プロパティによって指定された受信アンテナ素子の数に基づいて正規化が行われます。

データ型: logical

フェージング チャネルのフィルタリング。true または false として指定します。このプロパティが false に設定されている場合、次の条件が適用されます。

  • このオブジェクトは、入力信号を受け取らず、パス ゲインとサンプル時間のみを返します。

  • NumTimeSamples プロパティは、SampleRate プロパティによって与えられたサンプル レートでフェージング プロセス実現の持続時間を制御します。

  • チャネル係数サンプル レートは、0 ~ NumTimeSamples – 1 の各時間サンプルに対して 1 つのサンプルです。

データ型: logical

時間サンプルの数。正の整数として指定します。このプロパティを使用し、フェージング プロセス実現の持続時間を設定します。

調整可能: Yes

依存関係

このプロパティを有効にするには、ChannelFilteringfalse に設定します。

データ型: double

生成されたパス ゲインのデータ型。'double' または 'single' として指定します。

依存関係

このプロパティを有効にするには、ChannelFilteringfalse に設定します。

データ型: double

R2024a 以降

衛星のドップラー シフト (Hz)。数値スカラーとして指定します。衛星のドップラー シフトは衛星の高度、仰角、キャリア周波数、および衛星の速度を使用して計算されますす。SatelliteDopplerShift の既定値は、90 度の仰角をもつ衛星に起因する衛星のドップラー シフトに対応します。最大ドップラー シフトおよび衛星のドップラー シフトの両方が 0 に設定されている場合、入力全体でチャネルは静的なままとなります。新しいチャネル実現を生成するには、関数 reset を呼び出すか、または NTN プロファイルの場合は衛星のドップラー シフトを非ゼロ値に設定し、このオブジェクトをリセットします。

調整可能: Yes

依存関係

このプロパティを有効にするには、DelayProfile'NTN-TDL-A''NTN-TDL-B''NTN-TDL-C''NTN-TDL-D''NTN-TDLA100'、または 'NTN-TDLC5'.に設定します。

データ型: double

構成不可のチャネル プロパティ

この プロパティ は読み取り専用です。

チャネル リンク方向の反転。次の値のいずれかとして返されます。

  • false — チャネル モデル内の送信アンテナと受信アンテナの役割は、元のチャネル リンク方向に対応します。nrTDLChannel オブジェクトに対して関数 swapTransmitAndReceive を呼び出すと、チャネルのリンク方向が反転し、このプロパティの値が false から true に切り替わります。

  • true — チャネル モデル内の送信アンテナと受信アンテナの役割が入れ替わります。nrTDLChannel オブジェクトに対して関数 swapTransmitAndReceive を呼び出すと、チャネルの元のリンク方向が復元され、このプロパティの値が true から false に切り替わります。

データ型: logical

使用法

説明

signalOut = tdl(signalIn) は、TDL MIMO フェージング チャネルを通して入力信号を送信し、チャネルによって劣化した信号を返します。

[signalOut,pathGains] = tdl(signalIn) は、基になるフェージング プロセスの MIMO チャネル パス ゲインも返します。

[signalOut,pathGains,sampleTimes] = tdl(signalIn) は、パス ゲインのチャネル スナップショットのサンプル時間も返します。

[pathGains,sampleTimes] = tdl() は、パス ゲインとサンプル時間のみを返します。tdl オブジェクトは、パス ゲインとサンプル時間のソースとして機能し、入力信号をフィルタリングしません。NumTimeSamples オブジェクト プロパティはフェージング プロセスの持続時間を指定し、OutputDataType オブジェクト プロパティは生成されたパス ゲインのデータ型を指定します。この構文を使用するには、ChannelFiltering オブジェクト プロパティを false に設定しなければなりません。

入力引数

すべて展開する

入力信号。複素数のスカラー、ベクトル、または NSNT 列の行列として指定します。ここで、以下のようになります。

  • NS はサンプルの数。

  • NT は送信アンテナの数。

データ型: single | double
複素数のサポート: あり

出力引数

すべて展開する

出力信号。複素数のスカラー、ベクトル、または NSNR 列の行列として返されます。ここで、以下のようになります。

  • NS はサンプルの数。

  • NR は受信アンテナの数。

出力信号のデータ型は、入力信号のデータ型と同じ精度のものが使用されます。

データ型: single | double
複素数のサポート: あり

フェージング プロセスの MIMO チャネル パス。NS×NP×NT×NR の複素数行列として指定します。ここで、以下のようになります。

  • NS はサンプルの数。

  • NP は、tdlPathDelays プロパティの長さによって指定されたパスの数。

  • NT は送信アンテナの数。

  • NR は受信アンテナの数。

パス ゲインのデータ型は、入力信号のデータ型と同じ精度のものが使用されます。

データ型: single | double
複素数のサポート: あり

パス ゲインのチャネル スナップショットのサンプル時間。実数から成る NS 行 1 列の列ベクトルとして返されます。NS は、サンプル数に対応する pathGains の最初の次元です。

データ型: double

オブジェクト関数

オブジェクト関数を使用するには、最初の入力引数として System object を指定します。たとえば、obj という名前の System object のシステム リソースを解放するには、次の構文を使用します。

release(obj)

すべて展開する

infoCharacteristic information of link-level MIMO channel
getPathFilters リンクレベル MIMO チャネルのパス フィルター インパルス応答の取得
swapTransmitAndReceiveReverse link direction in TDL channel model
stepSystem object のアルゴリズムの実行
cloneSystem object の複製
isLockedSystem object が使用中かどうかの判定
releaseリソースを解放し、System object のプロパティ値と入力特性の変更を可能にします。
resetSystem object の内部状態のリセット

すべて折りたたむ

nrTDLChannel System object を使用して、TR 38.901 の Section 7.7.2 のタップ付き遅延線 (TDL) 多入力/多出力 (MIMO) チャネル モデル経由で受信した波形スペクトルを表示します。

nrTDLChannel System object を使用して、チャネル構成の構造体を定義します。遅延プロファイルに TR 38.901 の Section 7.7.2 の TDL-C、遅延スプレッドに 300 ns、UE 速度に 30 km/h を使用します。

v = 30.0;                    % UE velocity in km/h
fc = 4e9;                    % carrier frequency in Hz
c = physconst('lightspeed'); % speed of light in m/s
fd = (v*1000/3600)/c*fc;     % UE max Doppler frequency in Hz

tdl = nrTDLChannel;
tdl.DelayProfile = 'TDL-C';
tdl.DelaySpread = 300e-9;
tdl.MaximumDopplerShift = fd;

1 つのアンテナでサブフレーム時間 1 のランダムな波形を作成します。

SR = 30.72e6;
T = SR * 1e-3;
tdl.SampleRate = SR;
tdlinfo = info(tdl);
Nt = tdlinfo.NumTransmitAntennas;
 
txWaveform = complex(randn(T,Nt),randn(T,Nt));

チャネルを介して入力波形を送信します。

rxWaveform = tdl(txWaveform);

受信波形スペクトルをプロットします。

analyzer = spectrumAnalyzer('SampleRate',tdl.SampleRate);
analyzer.Title = ['Received Signal Spectrum ' tdl.DelayProfile];
analyzer(rxWaveform);

nrTDLChannel オブジェクトを使用して、タップ付き遅延線 (TDL) の単入力/単出力 (SISO) チャネルのパス ゲインをプロットします。

TR 38.901 の Section 7.7.2 の遅延プロファイル TDL-E を使用してチャネルを構成します。最大ドップラー シフトを 70 Hz に設定し、パス ゲイン出力を有効にします。

tdl = nrTDLChannel;
tdl.SampleRate = 500e3;
tdl.MaximumDopplerShift = 70;
tdl.DelayProfile = 'TDL-E';

SISO 操作用の送信アンテナ アレイと受信アンテナ アレイを構成します。

tdl.NumTransmitAntennas = 1;
tdl.NumReceiveAntennas = 1;

ダミーの入力信号を作成します。入力の長さによって、生成されるパス ゲインの時間サンプルが決まります。

in = zeros(1000,tdl.NumTransmitAntennas);

パス ゲインを生成するには、入力のチャネルを呼び出します。結果をプロットします。

[~, pathGains] = tdl(in);
mesh(10*log10(abs(pathGains)));
view(26,17); xlabel('Channel Path');
ylabel('Sample (time)'); zlabel('Magnitude (dB)');

TR 38.901 の Section 7.7.2 の遅延プロファイル TDL-D を使用し、タップ付き遅延線 (TDL) チャネル モデル経由で受信した波形スペクトルを表示します。

TS 36.101 の Annex B.2.3A.3 の規定に従い、相関の高い 4×2 交差偏波アンテナを構成します。

tdl = nrTDLChannel;
tdl.NumTransmitAntennas = 4;
tdl.DelayProfile = 'TDL-D';
tdl.DelaySpread = 10e-9;
tdl.KFactorScaling = true;
tdl.KFactor = 7.0;
tdl.MIMOCorrelation = 'High';
tdl.Polarization = 'Cross-Polar';

4 つのアンテナでサブフレーム時間 1 のランダムな波形を作成します。

SR = 1.92e6;
T = SR * 1e-3;
tdl.SampleRate = SR;
tdlinfo = info(tdl);
Nt = tdlinfo.NumTransmitAntennas;
 
txWaveform = complex(randn(T,Nt),randn(T,Nt));

チャネルを介して入力波形を送信します。

rxWaveform = tdl(txWaveform);

受信波形スペクトルをプロットします。

analyzer = spectrumAnalyzer('SampleRate',tdl.SampleRate);
analyzer.Title = ['Received Signal Spectrum ' tdl.DelayProfile];
analyzer(rxWaveform);

カスタム遅延プロファイルを使用し、TR 38.901 の Section 7.7.2 で規定されたタップ付き遅延線 (TDL) チャネル モデル経由で波形を送信します。

nrTDLChannel System object を使用して、チャネル構成の構造体を定義します。2 つのタップを使って遅延プロファイルをカスタマイズします。

  • 最初のタップ: 平均電力 0 dB、K ファクター 10 dB、遅延ゼロのライス フェージング。

  • 2 番目のタップ: 平均電力 -5 dB、TDL-D を使用したパス遅延 45 ns のレイリー フェージング。

tdl = nrTDLChannel;
tdl.NumTransmitAntennas = 1;
tdl.DelayProfile = 'Custom';
tdl.FadingDistribution = 'Rician';
tdl.KFactorFirstTap = 10.0;
tdl.PathDelays = [0.0 45e-9];
tdl.AveragePathGains = [0.0 -5.0];

1 つのアンテナでサブフレーム時間 1 のランダムな波形を作成します。

SR = 30.72e6;
T = SR * 1e-3;
tdl.SampleRate = SR;
tdlinfo = info(tdl);
Nt = tdlinfo.NumTransmitAntennas;
 
txWaveform = complex(randn(T,Nt),randn(T,Nt));

チャネルを介して入力波形を送信します。

rxWaveform = tdl(txWaveform);

TR 38.811 Section 6.9.2 の NTN-TDL チャネル モデルに遅延プロファイル NTN-TDL-A を指定し、このモデルを経由して受信した波形スペクトルを表示します。

高度 600 km、速度 7562.2 m/s で移動し、ユーザー端末 (UE).に対する仰角が 50 度の衛星用に NTN-TDL-A 遅延プロファイルを指定して NTN チャネルを構成します。

ntnChan = nrTDLChannel;
ntnChan.DelayProfile = 'NTN-TDL-A';
ntnChan.DelaySpread = 100e-9;

UE および衛星のドップラー シフトにより、最大ドップラー シフトを計算します。

r = physconst('earthradius');                  % Earth radius in m
c = physconst('lightspeed');                   % Speed of light in m/s
fc = 2e9;                                      % Carrier frequency in Hz
theta = 50;                                    % Elevation angle in degrees
h = 600e3;                                     % Satellite altitude in m
vSat = 7562.2;                                 % Satellite speed in m/s
vUE = 3*1000/3600;                             % UE speed in m/s
fdMaxUE = (vUE*1000/3600)/c*fc;                % UE maximum Doppler shift in Hz
fdSat = (vSat*fc/c)*(r*cosd(theta)/(r+h));     % Satellite Doppler shift in Hz
ntnChan.SatelliteDopplerShift = fdSat;
ntnChan.MaximumDopplerShift = fdMaxUE;

1 つのアンテナでサブフレーム時間 1 のランダムな波形を作成します。

SR = 30.72e6;
T = SR*1e-3;
ntnChan.SampleRate = SR;
ntnChanInfo = info(ntnChan);
Nt = ntnChanInfo.NumTransmitAntennas;
txWaveform = randn(T,Nt,'like',1i);

チャネルを介して入力波形を送信します。

rxWaveform = ntnChan(txWaveform);

受信波形スペクトルをプロットします。

analyzer = spectrumAnalyzer('SampleRate',ntnChan.SampleRate);
analyzer.Title = ['Received Signal Spectrum ' ntnChan.DelayProfile];
analyzer(rxWaveform);

参照

[1] 3GPP TR 38.901. “Study on channel model for frequencies from 0.5 to 100 GHz.” 3rd Generation Partnership Project; Technical Specification Group Radio Access Network.

[2] 3GPP TS 36.101. “Evolved Universal Terrestrial Radio Access (E-UTRA); User Equipment (UE) radio transmission and reception.” 3rd Generation Partnership Project; Technical Specification Group Radio Access Network.

[3] 3GPP TS 36.104. “Evolved Universal Terrestrial Radio Access (E-UTRA); Base Station (BS) radio transmission and reception.” 3rd Generation Partnership Project; Technical Specification Group Radio Access Network.

[4] 3GPP TR 38.811. “Study on New Radio (NR) to support non-terrestrial networks.” 3rd Generation Partnership Project; Technical Specification Group Radio Access Network.

[5] 3GPP TS 38.101-5. “NR; User Equipment (UE) radio transmission and reception; Part 5: Satellite access Radio Frequency (RF) and performance requirements.” 3rd Generation Partnership Project; Technical Specification Group Radio Access Network.

拡張機能

バージョン履歴

R2018b で導入

すべて展開する