メインコンテンツ

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

nrTDLChannel

TDL MIMO チャネル モデルのモデル化

説明

nrTDLChannel System object™ は、タップ付き遅延線 (TDL) 多入力多出力 (MIMO) リンクレベル フェージング チャネルをモデル化します。このオブジェクトは、TR 38.811 の Section 6.9.2 [1]の TDL モデル、および TR 38.901 [2]の次の項目を実装します。

  • Section 7.7.2: TDL モデル

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

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

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

このオブジェクトは、既定で TDL チャネルのフィルター処理を有効にします。TDL チャネルのフィルター処理を有効にすると、チャネルを経由して入力信号を送信し、チャネルで劣化した信号を取得することができます。既定のオブジェクトは、フェージング プロセスのパス ゲイン、およびチャネル スナップショットのサンプル時間も返します。

このオブジェクトでは、ChannelResponseOutput プロパティを 'ofdm-response' に設定すると、OFDM チャネル応答とタイミング オフセットを取得することもできます。この場合、このオブジェクトは、次の図に示すように、入力信号に加えてキャリア入力を受け取り、パス ゲインとサンプル時間の代わりに OFDM チャネル応答とタイミング オフセットを返します。 (R2024b 以降)

TDL channel model architecture with channel filtering and OFDM channel response output enabled

チャネルを経由して信号を送信することなくチャネル特性を取得するには、ChannelFiltering プロパティを false に設定します。

オブジェクトのプロパティを使用して TDL チャネルのフィルター処理とチャネル係数生成を構成する方法の概要については、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

事前定義された遅延プロファイル

これらのプロパティは、事前定義されたチャネル プロファイルに固有のチャネル パラメーター (DelayProfile'Custom' 以外の値に設定した場合のチャネル パラメーター) を構成します。

平方根平均二乗 (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

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

カスタム遅延プロファイル

これらのプロパティは、事前定義されたチャネル プロファイルに固有のチャネル パラメーター (DelayProfile'Custom' に設定した場合のチャネル パラメーター) を構成します。

離散パスの遅延 (秒)。数値スカラーまたは行ベクトルとして指定します。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

アンテナ アレイ

これらのプロパティは、チャネルの MIMO 相関に関する項目を構成します。

ユーザー端末 (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[3] および TS 36.104[4] を参照してください。

データ型: char | string

アンテナ偏波の配置。次のいずれかの値として指定します。

  • 'Co-Polar' — すべてのアンテナ素子の偏波の配置が同じになります。

  • 'Cross-Polar' — 十字を形成するアンテナ素子のペアによる偏波配置。

  • 'Custom'MIMOCorrelation プロパティを 'Custom' に設定した後、SpatialCorrelationMatrix プロパティおよび NumTransmitAntennas プロパティを使用してカスタム構成を定義します。

データ型: 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

モビリティ

これらのプロパティは、送信機または受信機の移動方法を構成します。

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

データ型: 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

チャネル制御

これらのプロパティは、TR 38.901 で定義されていないチャネルの実装に固有のパラメーターを構成します。たとえば、チャネルのフィルター処理を有効または無効にしたり、フィルター処理された信号のデータ型とサンプル数を設定したり、パス ゲイン生成の制御パラメーターを設定したりすることができます。

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

データ型: double

R2024b 以降

パス ゲイン生成のサンプル レート。次のいずれかの値として指定します。

  • 'signal' — チャネルは、パス ゲイン生成用に SampleRate プロパティで指定されたサンプル レートを使用します。

  • 'auto' — このオプションを使用すると、最大ドップラー シフトの値に基づいてチャネルがパス ゲイン サンプルの数を自動的に減らすことができます。チャネルは、パス ゲイン生成用のサンプル レートとして min(MaximumDopplerShift⨯2⨯64,SampleRate) を使用します。最大ドップラー シフトが 0 に設定されている場合、チャネルは各パスのアンテナごとに 1 つのパス ゲインを生成します。

データ型: char | string

パス ゲインの正規化。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

R2024b 以降

チャネル応答出力。次のいずれかのオプションとして指定します。

  • 'path-gains' — 次の図に示すように、オブジェクトはパス ゲインとサンプル時間を返します。チャネルのフィルター処理が有効になっている場合、オブジェクトはフィルター処理された出力信号も返します。または、パス ゲインとサンプル時間のみを返すようにチャネルを構成するには、ChannelFiltering プロパティを false に設定してチャネルのフィルター処理を無効にします。

    TDL channel model architecture in which channel filtering is enabled and the object returns the path gains and sample times

  • 'ofdm-response' — 次の図に示すように、キャリア入力を指定してオブジェクトを呼び出すと、このオブジェクトは OFDM チャネル応答とタイミング オフセットを返します。チャネルのフィルター処理が有効になっている場合、オブジェクトはフィルター処理された出力信号も返します。または、OFDM チャネル応答とタイミング オフセットのみを返すようにチャネルを構成するには、ChannelFiltering プロパティを false に設定してチャネルのフィルター処理を無効にします。

    TDL channel model architecture in which channel filtering is enabled and the object returns the OFDM channel response and timing offset

データ型: string | char

フェージング チャネルのフィルター処理。次のいずれかのオプションとして指定します。

  • true — チャネルのフィルター処理を有効にします。オブジェクトは入力信号を受け取り、チャネルによってフィルター処理を行います。

  • false — チャネルのフィルター処理を無効にします。オブジェクトは入力信号を受け取らず、ChannelResponseOutput プロパティに応じて OFDM チャネル応答とタイミング オフセット (R2024b 以降)またはパス ゲインとサンプル時間のみを返します。

    チャネルのフィルター処理を無効にすると、次の条件が適用されます。

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

    • OutputDataType プロパティは、生成されたチャネル応答出力 (OFDM チャネル応答またはパス ゲイン) のデータ型を指定します。

このプロパティがチャネルの内部アーキテクチャにどのように影響するかの概要については、TDL チャネル モデルの内部アーキテクチャを参照してください。

チャネルのフィルター処理を無効にするユース ケースについては、TDL チャネルの OFDM チャネル応答の計算の例を参照してください。

データ型: logical

時間サンプルの数。正の整数として指定します。チャネルのフィルター処理が無効になっている場合は、このプロパティを使用してフェージング プロセス実現の持続時間を設定できます。

キャリア入力 carrier を使用してオブジェクトを呼び出す場合は、NumTimeSamples プロパティをスロット内のサンプル数以上の値に設定します。nrOFDMInfo(carrier) の出力構造からスロット内のサンプル数を計算できます。 (R2024b 以降)

調整可能: Yes

依存関係

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

データ型: double

生成されたチャネル応答出力のデータ型。'double' または 'single' として指定します。チャネルのフィルター処理が無効になっている場合は、このプロパティを使用し、ChannelResponseOutput プロパティに応じて OFDM チャネル応答 (R2024b 以降)またはパス ゲインのデータ型を指定します。

依存関係

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

データ型: double

読み取り専用のプロパティ

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

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

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

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

データ型: logical

使用法

説明

チャネルのフィルター処理

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

OFDM チャネル応答とタイミング オフセット

R2024b 以降

これらの構文を使用するには、ChannelResponseOutput プロパティを 'ofdm-response' に設定します。

[signalOut,ofdmResponse] = tdl(signalIn,carrier) は、指定された搬送波 carrier に基づいてチャネル インパルス応答に OFDM 復調を適用し、チャネルで劣化した信号に加えて OFDM チャネル応答を返します。この出力は、チャネルが OFDM 信号の各リソース エレメントにどのように影響するかを示します。

[signalOut,ofdmResponse,timingOffset] = tdl(signalIn,carrier) は、チャネルのインパルス応答が最も強いパスのタイミング オフセットも返します。チャネルのインパルス応答は、すべてのチャネル スナップショットにわたって平均化され、すべての送信アンテナと受信アンテナにわたって加算されます。

[ofdmResponse,timingOffset] = tdl(carrier) は、入力信号をフィルター処理せずに、OFDM チャネル応答とタイミング オフセットのみを返します。tdl オブジェクトと carrier 入力は、OFDM チャネル応答とタイミング オフセットの計算のソースとして機能します。この構文を使用するには、ChannelFiltering プロパティも false に設定しなければなりません。

パス ゲインとサンプル時間

これらの構文を使用するには、ChannelResponseOutput プロパティを 'path-gains' に設定します (R2024b 以降)

[signalOut,pathGains] = tdl(signalIn) は、チャネルで劣化した信号に加えて、基になるフェージング プロセスの MIMO チャネル パス ゲインを返します。

[signalOut,pathGains,sampleTimes] = tdl(signalIn) は、pathGains (最初の次元の要素) のチャネル スナップショットのサンプル時間も返します。

[pathGains,sampleTimes] = tdl() は、入力信号をフィルター処理せずに、パス ゲインとサンプル時間のみを返します。tdl オブジェクトは、パス ゲインとサンプル時間の計算のソースとして機能します。この構文を使用するには、ChannelFiltering プロパティも false に設定しなければなりません。

入力引数

すべて展開する

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

  • NS はサンプルの数。

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

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

R2024b 以降

特定の OFDM numerology のキャリア構成パラメーター。nrCarrierConfig オブジェクトとして指定します。この入力でチャネルを呼び出す前に、次を行います。

  • SampleRate チャネル プロパティを、搬送波から導出されたサンプル レートに設定します。この値は、nrOFDMInfo(carrier) の出力構造体の SampleRate フィールドから取得できます。

  • チャネルのフィルター処理が無効になっている場合は、NumTimeSamples オブジェクト プロパティをスロット内のサンプル数以上の値に設定します。nrOFDMInfo(carrier) の出力構造からスロット内のサンプル数を計算できます。

出力引数

すべて展開する

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

  • NS はサンプルの数。

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

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

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

R2024b 以降

OFDM チャネル応答。K×N×NR×NT の実数値配列として返されます。ここで、

  • K はサブキャリアの数。

  • N は OFDM シンボルの数。

  • NR は受信アンテナ素子の数

  • NT は送信アンテナ素子の数

このオブジェクトは、OFDM チャネル応答を取得するため、指定された搬送波 carrier に基づいてチャネル インパルス応答に OFDM 復調を適用します。この出力は、チャネルが OFDM 信号の各リソース エレメントにどのように影響するかを示します。

OFDM チャネル応答のデータ型は、入力信号のデータ型と同じ精度のものが使用されます。チャネルのフィルター処理が無効になっている場合は、OutputDataType プロパティを使用してこの出力のデータ型を指定します。

データ型: single | double

R2024b 以降

サンプル数で表された、チャネルのインパルス応答が最も強いパスのタイミング オフセット。非負の整数として返されます。チャネルのインパルス応答は、すべてのチャネル スナップショットにわたって平均化され、すべての送信アンテナと受信アンテナにわたって加算されます。

データ型: 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 の内部状態のリセット

すべて折りたたむ

既定のキャリア構成オブジェクトを作成します。

carrier = nrCarrierConfig;

TDL-B 遅延プロファイルを使用して TDL チャネル オブジェクトを作成します。

channel = nrTDLChannel;
channel.DelayProfile = "TDL-B";
channel.MaximumDopplerShift = 200;

搬送波のサンプル レートと一致するように、チャネルのサンプル レートを設定します。

ofdmInfo = nrOFDMInfo(carrier);
channel.SampleRate = ofdmInfo.SampleRate;

OFDM チャネル応答をチャネルの出力として指定します。

channel.ChannelResponseOutput = "ofdm-response";

チャネル フィルター処理を無効にします。

channel.ChannelFiltering = false;

単一スロットの OFDM 応答を生成するための時間サンプルの数を設定します。

channel.NumTimeSamples = sum(ofdmInfo.SymbolLengths(1:carrier.SymbolsPerSlot));

キャリア入力を指定して TDL チャネル オブジェクトを呼び出します。このオブジェクトは、TDL チャネルの OFDM チャネル応答とタイミング オフセットを返します。

[ofdmResponse,timingOffset] = channel(carrier);

OFDM チャネル応答を表示します。

mesh(abs(ofdmResponse(:,:,1,1)));
title('OFDM Channel Response of TDL Channel');
xlabel('OFDM Symbol'); ylabel("Subcarrier"); zlabel("Magnitude");

Figure contains an axes object. The axes object with title OFDM Channel Response of TDL Channel, xlabel OFDM Symbol, ylabel Subcarrier contains an object of type surface.

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)');

Figure contains an axes object. The axes object with xlabel Channel Path, ylabel Sample (time) contains an object of type surface.

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.811. “Study on New Radio (NR) to support non-terrestrial networks.” 3rd Generation Partnership Project; Technical Specification Group Radio Access Network.

[2] 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.

[3] 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.

[4] 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.

[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 で導入

すべて展開する