このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
nrCDLChannel
CDL MIMO チャネルのモデル化
説明
nrCDLChannel
System object™ は、クラスター遅延線 (CDL) 多入力多出力 (MIMO) リンクレベル フェージング チャネルをモデル化します。このオブジェクトは、TR 38.901[1] の次の項目を実装します。
Section 7.7.1: CDL モデル
Section 7.7.3: 遅延のスケーリング
Section 7.7.5.1: 角度のスケーリング
Section 7.7.6: LOS チャネル モデルの K ファクター
Section 7.6.10: デュアル モビリティ (R2023b 以降)
このオブジェクトは、既定で CDL チャネルのフィルター処理を有効にします。CDL チャネルのフィルター処理を有効にすると、チャネルを経由して入力信号を送信し、チャネルで劣化した信号を取得することができます。既定のオブジェクトは、フェージング プロセスのパス ゲイン、およびチャネル スナップショットのサンプル時間も返します。
このオブジェクトでは、ChannelResponseOutput
プロパティを 'ofdm-response'
に設定すると、OFDM チャネル応答とタイミング オフセットを取得することもできます。この場合、このオブジェクトは、次の図に示すように、入力信号に加えてキャリア入力を受け取り、パス ゲインとサンプル時間の代わりに OFDM チャネル応答とタイミング オフセットを返します。 (R2024b 以降)
チャネルを経由して信号を送信することなくチャネル特性を取得するには、ChannelFiltering
プロパティを false
に設定します。
オブジェクトのプロパティを使用して CDL チャネルのフィルター処理とチャネル係数生成を構成する方法の概要については、CDL チャネル モデルの内部アーキテクチャを参照してください。
CDL MIMO チャネル モデルを使用するには、次のようにします。
nrCDLChannel
オブジェクトを作成し、そのプロパティを設定する。関数と同じように、引数を付けてオブジェクトを呼び出す。
System object の仕組みについては、System object とはを参照してください。
作成
構文
説明
は、CDL MIMO チャネル System object を作成します。cdl
= nrCDLChannel
は、1 つ以上の名前と値の引数を使用して、プロパティが設定されたオブジェクトを作成します。たとえば、cdl
= nrCDLChannel(Name=Value
)DelayProfile='CDL-D'
は、CDL-D 遅延プロファイルをもつチャネル オブジェクトを作成します。
は、事前定義済み遅延プロファイル cdl
= nrCDLChannel(DelayProfile='Custom',InitialDelayProfile=profile
,DelaySpread=spread
,KFactor=K
)profile
から初期化されるカスタマイズされたチャネル特性をもつオブジェクトを作成します。profile
入力を、'CDL-A'
、'CDL-B'
、'CDL-C'
、'CDL-D'
、または 'CDL-E'
として指定します。 (R2023b 以降)
この構文を使用した場合、次のようになります。
DelayProfile
オブジェクト プロパティは'Custom'
に設定されます。また、AnglesAoD
、AnglesAoA
、AnglesZoD
、AnglesZoA
、HasLOSCluster
、KFactorFirstCluster
、AngleSpreads
、およびXPR
の各オブジェクト プロパティは、TR 38.901 の Table 7.7.1-1 ~ 7.7.1-5[1] で指定された事前定義済み遅延プロファイルに対して定義されている値に設定されます。PathDelays
プロパティとAveragePathGains
プロパティの値は、初期テーブル値からスケーリングされ、それぞれ秒単位のspread
で指定された目的のチャネル遅延スプレッドと、dB 単位のK
で指定された K ファクターが取得されます。オプションのspread
入力とK
入力を数値スカラーとして指定します。指定しない場合、spread
入力は既定で30e-9
になります。K
入力は、既定で TR 38.901 の Table 7.7.1-4 ~ 7.7.1-5 の K ファクターの値に設定されます (K ファクターのスケーリングなし)。K
入力は、profile
入力が'CDL-D'
または'CDL-E'
に設定されている場合にのみ適用されます。
プロパティ
特に断りがない限り、プロパティは "調整不可" です。すなわち、オブジェクトを呼び出した後にその値を変更することはできません。オブジェクトは呼び出し時にロックされ、関数 release
によってロックが解除されます。
プロパティが "調整可能" な場合は、その値をいつでも変更できます。
プロパティ値の変更に関する詳細については、System object を使用した MATLAB でのシステム設計を参照してください。
遅延プロファイルの選択
遅延プロファイルの選択により、どの遅延プロファイル構成プロパティがチャネルに適用されるかが決まります。
TR 38.901 の Section 7.7.1、Table 7.7.1-1 ~ 7.7.1-5 の CDL 遅延プロファイル。次のいずれかのオプションとして指定します。
'CDL-A'
、'CDL-B'
、'CDL-C'
、'CDL-D'
、'CDL-E'
— これらの事前定義済み遅延プロファイルに固有なチャネル パラメーターを構成するには、事前定義された遅延プロファイルのセクションを参照してください。'Custom'
— カスタム遅延プロファイルに固有なチャネル パラメーターを構成するには、カスタム遅延プロファイルのセクションを参照してください。
データ型: char
| string
事前定義された遅延プロファイル
これらのプロパティは、事前定義されたチャネル プロファイルに固有なチャネル パラメーター (DelayProfile
を 'CDL-A'
、'CDL-B'
、'CDL-C'
、'CDL-D'
、または 'CDL-E'
に設定した場合のチャネル パラメーター) を構成します。
RMS 遅延スプレッド目標値 (秒)。非負の実数として指定します。RMS 遅延スプレッド目標値 DSdesired
の例については、TR 38.901 の Section 7.7.3 および Table 7.7.3-1 と 7.7.3-2 を参照してください。既定値は 30 ナノ秒です。
依存関係
このプロパティを有効にするには、DelayProfile
を 'CDL-A'
、'CDL-B'
、'CDL-C'
、'CDL-D'
、または 'CDL-E'
に設定します。このプロパティはカスタム遅延プロファイルには適用されません。
データ型: double
K ファクターのスケーリング。false
または true
として指定します。true
に設定した場合、KFactor
プロパティによって K ファクター目標値が指定され、TR 38.901 の Section 7.7.6 の説明に従いオブジェクトによって K ファクターのスケーリングが適用されます。
メモ
K ファクターのスケーリングにより、パス遅延とパス電力の両方が変更されます。
依存関係
このプロパティを有効にするには、DelayProfile
を 'CDL-D'
または 'CDL-E'
に設定します。
データ型: 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 の電力と、最初のクラスターのラプラシアン パートを含むすべてのラプラシアン クラスターの総電力との比です。
依存関係
このプロパティを有効にするには、KFactorScaling
を true
に設定します。
データ型: double
角度のスケーリングの適用。TR 38.901 の Section 7.7.5.1 に従って、false
または true
として指定します。true
に設定した場合、AngleSpreads
プロパティと MeanAngles
プロパティによって角度のスケーリングが定義されます。
依存関係
このプロパティを有効にするには、DelayProfile
を 'CDL-A'
、'CDL-B'
、'CDL-C'
、'CDL-D'
、または 'CDL-E'
に設定します。このプロパティはカスタム遅延プロファイルには適用されません。
データ型: logical
スケーリングされた平均角度 (度)。[AoD AoA ZoD ZoA] の形式の 4 要素行ベクトルとして指定します。
AoD は、スケーリング後の発射角の平均方位角。
AoA は、スケーリング後の到来角の平均方位角。
ZoD は、スケーリング後の発射角の平均天頂角。
ZoA は、スケーリング後の到来角の平均天頂角。
TR 38.901 の Section 7.7.5.1 で説明されているように、このベクトルを使用して、角度のスケーリングに使用するチャネルの平均角度目標値 () を指定します。
依存関係
このプロパティを有効にするには、AngleScaling
を true
に設定します。
データ型: double
カスタム遅延プロファイル
これらのプロパティは、カスタム遅延プロファイルに固有なチャネル パラメーター (DelayProfile
を 'Custom'
に設定した場合のチャネル パラメーター) を構成します。
離散パスの遅延 (秒)。数値スカラーまたは行ベクトルとして指定します。AveragePathGains
と PathDelays
は同じサイズでなければなりません。
調整可能: Yes
依存関係
このプロパティを有効にするには、DelayProfile
を 'Custom'
に設定します。
データ型: double
平均パス ゲイン (dB)。TR 38.901 ではクラスター電力とも呼ばれます。数値スカラーまたは行ベクトルとして指定します。AveragePathGains
と PathDelays
は同じサイズでなければなりません。HasLOSCluster
プロパティが true
に設定されている場合、このオブジェクトは、このプロパティの最初の要素を 2 つの部分に分割します。これらの部分は、最初のクラスターの LOS パートと NLOS パートに対応します。次に、このオブジェクトは、KFactorFirstCluster
プロパティを使用して、最初のクラスターの LOS パートと NLOS パートの電力配分を決定します。
調整可能: Yes
依存関係
このプロパティを有効にするには、DelayProfile
を 'Custom'
に設定します。
データ型: double
到来角の方位角 (度)。数値スカラーまたは行ベクトルとして指定します。このベクトルの要素は、各クラスターの角度を指定します。
調整可能: Yes
依存関係
このプロパティを有効にするには、DelayProfile
を 'Custom'
に設定します。
データ型: double
発射角の方位角 (度)。数値スカラーまたは行ベクトルとして指定します。このベクトルの要素は、各クラスターの角度を指定します。
調整可能: Yes
依存関係
このプロパティを有効にするには、DelayProfile
を 'Custom'
に設定します。
データ型: double
到来角の天頂角 (度)。数値スカラーまたは行ベクトルとして指定します。このベクトルの要素は、各クラスターの角度を指定します。
調整可能: Yes
依存関係
このプロパティを有効にするには、DelayProfile
を 'Custom'
に設定します。
データ型: double
発射角の天頂角 (度)。数値スカラーまたは行ベクトルとして指定します。このベクトルの要素は、各クラスターの角度を指定します。
調整可能: Yes
依存関係
このプロパティを有効にするには、DelayProfile
を 'Custom'
に設定します。
データ型: double
遅延プロファイルの見通し線 (LOS) クラスター。false
または true
として指定します。PathDelays
、AveragePathGains
、AnglesAoA
、AnglesAoD
、AnglesZoA
、および AnglesZoD
の各プロパティは、遅延プロファイルを定義します。遅延プロファイルの LOS クラスターを有効にするには、HasLOSCluster
を true
に設定します。
依存関係
このプロパティを有効にするには、DelayProfile
を 'Custom'
に設定します。
データ型: logical
遅延プロファイルの最初のクラスターの K ファクター (dB)。数値スカラーとして指定します。既定値は、TR 38.901 の Section 7.7.1、Table 7.7.1-4 で定義されている CDL-D の最初のクラスターの K ファクターに対応します。
依存関係
このプロパティを有効にするには、DelayProfile
を 'Custom'
に設定し、HasLOSCluster
を true
に設定します。
データ型: double
スケーリングされた (またはクラスター単位の) 平方根平均二乗 (RMS) 角度スプレッド (度)。次のいずれかの形式の 4 要素行ベクトルとして指定します。
[ASD ASA ZSD ZSA] — TR 38.901 の Section 7.7.5.1 で説明されているように、このベクトルを使用して、チャネルの RMS 角度スプレッド目標値 (ASdesired) を指定します。ここで、以下のようになります。
ASD は、発射角の RMS 方位角スプレッド。
ASA は、到来角の RMS 方位角スプレッド。
ZSD は、発射角の RMS 天頂角スプレッド。
ZSA は、到来角の RMS 天頂角スプレッド。
この形式を使用するには、
AngleScaling
をtrue
に設定し、DelayProfile
を'CDL-A'
、'CDL-B'
、'CDL-C'
、'CDL-D'
、または'CDL-E'
に設定します。[CASD CASA CZSD CZSA] — TR 38.901 の Section 7.7.1 の Step1 で説明されているように、このベクトルを使用して、クラスター内の光線オフセット角をスケーリングするためのクラスター単位の RMS 角度スプレッドを指定します。ここで、以下のようになります。
CASD は、発射角のクラスター単位の RMS 方位角スプレッド。
CASA は、到来角のクラスター単位の RMS 方位角スプレッド。
CZSD は、発射角のクラスター単位の RMS 天頂角スプレッド。
CZSA は、到来角のクラスター単位の RMS 天頂角スプレッド。
この形式を使用するには、
DelayProfile
を'Custom'
に設定します。この場合、TR 38.901 の Section 7.7.5.1 に基づいて、このオブジェクトは角度のスケーリングを実行しません。
既定値は、TR 38.901 の Section 7.7.1 の Table 7.7.1-1 で定義されている CDL-A のクラスターごとの既定の角度スプレッドに対応しています。
依存関係
このプロパティを有効にするには、DelayProfile
を 'Custom'
に設定するか、AngleScaling
を true
に設定します。
データ型: double
方位角と天頂角に関するクラスター内の発射光線と到来光線の結合。次のいずれかの値として指定します。
'Random'
— このオブジェクトは、TR 38.901 の Section 7.5 の Step 8 で定義されているように、RandomStream
プロパティで指定された乱数ストリームを使用して、光線をランダムに結合します。N×M×3 の数値配列 — この配列を使用して、光線の結合を明示的に定義します。N はクラスターの数で、
PathDelays
プロパティで指定されたパス遅延の数と同じです。M はクラスターあたりの光線の数で、値は 20 です。3 次元の 3 つの N×M 平面は、それぞれ AoD/AoA、ZoD/ZoA、および AoD/ZoD の光線結合に対応しています。各 N×M 平面の各行は、1 から M までの光線インデックスの順列を使用して、対応するクラスター内の光線結合を指定します。メモ
N は、サブクラスターに分割される前のクラスターの数です (
NumStrongestClusters
プロパティを参照)。N は、
HasLOSCluster
プロパティによって指定された LOS クラスターをカウントしません。
依存関係
このプロパティを有効にするには、DelayProfile
を 'Custom'
に設定します。
データ型: double
| char
| string
交差偏波電力比 (dB)。数値スカラー、または N 行 M 列の数値行列として指定します。N はクラスターの数で、PathDelays
プロパティで指定されたパス遅延の数と同じです。M はクラスターあたりの光線の数で、値は 20 です。既定値は、TR 38.901 の Section 7.7.1、Table 7.7.1-1 で定義されている CDL-A のクラスターごとの交差偏波電力比に対応しています。
メモ
N は、サブクラスターに分割される前のクラスターの数です (
NumStrongestClusters
プロパティを参照)。N は、
HasLOSCluster
プロパティによって指定された LOS クラスターをカウントしません。
依存関係
このプロパティを有効にするには、DelayProfile
を 'Custom'
に設定します。
データ型: double
4 つの偏波の組み合わせに対するすべての光線の初期位相 (度)。次のいずれかの値として指定します。
'Random'
— このオブジェクトは、TR 38.901 の Section 7.5 の Step 10 で定義されているように、RandomStream
プロパティで指定された乱数ストリームを使用して、一様分布するランダムな位相を描画します。N×M×4 の数値配列 — このオプションを使用して、初期位相を明示的に定義します。N はクラスターの数で、
PathDelays
プロパティで指定されたパス遅延の数と同じです。M はクラスターあたりの光線の数で、値は 20 です。3 次元の 4 つの N×M 平面は、それぞれ θ/θ、θ/ϕ、ϕ/θ、および ϕ/ϕ の偏波の組み合わせに対応しています。メモ
N は、サブクラスターに分割される前のクラスターの数です (
NumStrongestClusters
プロパティを参照)。N は、
HasLOSCluster
プロパティによって指定された LOS クラスターをカウントしません。
調整可能: Yes
依存関係
このプロパティを有効にするには、DelayProfile
を 'Custom'
に設定します。
データ型: double
| char
| string
サブクラスターに分割する最も強いクラスターの数。非負の整数として指定します。HasLOSCluster
プロパティが true
に設定されている場合、このオブジェクトは最初のクラスターを LOS パートと NLOS パートに分割します。分割後の NLOS パートの平均パス ゲインが AveragePathGains
プロパティで指定されたいずれかの値よりも大きい場合、NLOS パートはさらに 3 つのサブクラスターに分割されます。詳細については、TR 38.901 の Section 7.5 の Step 11 を参照してください。
依存関係
このプロパティを有効にするには、DelayProfile
を 'Custom'
に設定します。
データ型: double
クラスターの遅延スプレッド (秒)。非負の実数として指定します。このプロパティを使用して、サブクラスターに分割されたクラスターのサブクラスター間の遅延オフセットを指定します。TR 38.901 の Section 7.5 の Step 11 を参照してください。
依存関係
このプロパティを有効にするには、DelayProfile
を 'Custom'
に設定し、NumStrongestClusters
を 0 より大きい値に設定します。
データ型: double
アンテナ アレイ
これらのプロパティは、チャネルの幾何学的側面を構成します。
送信アンテナ アレイの特性。構造体またはフェーズド アレイとして指定します (Phased Array System Toolbox™ が必要)。
フェーズド アレイを使用すると、事前定義済みアンテナ素子やカスタム アンテナ素子など、さまざまなアンテナ アレイ構成を指定できます。Phased Array System Toolbox または Antenna Toolbox™ の機能を使用して、カスタム アンテナ素子を設計できます。TR 38.901 の Section 7.3 で定義されている 5G 矩形マルチパネル アレイ内のカスタム アンテナ素子を指定するには、phased.NRRectangularPanelArray
(Phased Array System Toolbox) オブジェクトを使用します。フェーズド アレイの概要については、Array Geometries and Analysis (Phased Array System Toolbox)を参照してください。
構造体として指定した場合、このプロパティには次のフィールドが含まれます。
パラメーター フィールド | 値 | 説明 |
---|---|---|
Size |
行ベクトル | アンテナ アレイのサイズ。[M N P Mg Ng] として指定します。ここで、以下のようになります。
アンテナ アレイ全体は Mg 行 Ng 列のアンテナ パネルで構成され、各アンテナ パネルのサイズは M 行 N 列です。P = 1 の場合、偏波角はすべてのアンテナ アレイ素子で同じになります。P = 2 の場合、アンテナ アレイ素子の半分は 1 つの偏波角をもち、残りの半分は別の偏波角をもちます。
たとえば、次の図は、このオブジェクトが入力信号 |
ElementSpacing |
行ベクトル | 素子の間隔 (波長)。[λv λh dgv dgh] の形式の行ベクトルとして指定します。このベクトルの要素は、それぞれ、垂直方向と水平方向の素子の間隔、および垂直方向と水平方向のパネルの間隔を表します。パネルの間隔はパネルの中心から測定されます。 |
PolarizationAngles |
行ベクトル | 偏波角 (度)。[θ ρ] の形式の行ベクトルとして指定します。 |
Orientation (削除予定) |
列ベクトル | メモ このフィールドは将来のリリースで削除される予定です。代わりに アレイの機械的な向き (度)。[α; β; γ] の形式の列ベクトルとして指定します。このベクトルの要素は、それぞれ方位、ダウンチルト、傾斜を指定します。既定値は、アレイのブロードサイドの向きが x 軸の正の向きを指すことを示します。 |
Element |
| TR 38.901 の Section 7.3 に記載されているアンテナ素子の放射パターン。(TR 38.901 は TR 38.900 に取って代わることに注意してください。) |
PolarizationModel |
| 定義された放射電力パターンに基づいて放射界のパターンを決定するモデル。詳細については、TR 38.901 の Section 7.3.2 を参照してください。 |
送信アンテナ アレイの機械的な向き。[α; β; γ] の形式の 3 要素数値列ベクトルとして指定します。このベクトルの要素は、TR 38.901 の Section 7.1.3 で指定されているように、それぞれ方位角、ダウンチルト角、および傾斜の回転角を度単位で指定します。このオブジェクトは、ローカル座標系の既定のアレイの向きを基準にしてこれらの回転角を適用します。このオブジェクトがこれらの回転角を適用する方法の詳細については、アンテナ アレイの機械的な向きを参照してください。
値 [0; 0; 0]
に対応する既定のアレイの向きは、TransmitAntennaArray
プロパティによって異なります。
TransmitAntennaArray
プロパティを構造体 (既定) として指定した場合、既定のアレイの向きにおいて、ブロードサイドの向きは x 軸の正の向きを指します。TransmitAntennaArray
プロパティをフェーズド アレイとして指定した場合 (Phased Array System Toolbox が必要)、指定したフェーズド アレイ オブジェクトに関連するアレイ プロパティを設定することで、既定のアレイの向きを構成できます。
結果として得られるアレイの向きを可視化して評価するには、nrCDLChannel
チャネル モデルで displayChannel
関数を呼び出します。
送信アンテナと受信アンテナを向かい合わせた場合の例については、LOS パス角度を使用した送信アンテナと受信アンテナの向きの決定を参照してください。
調整可能: Yes
データ型: double
受信アンテナ アレイの特性。構造体またはフェーズド アレイ (Phased Array System Toolbox が必要) として指定します。
フェーズド アレイを使用すると、事前定義済みアンテナ素子やカスタム アンテナ素子など、さまざまなアンテナ アレイ構成を指定できます。Phased Array System Toolbox または Antenna Toolbox の機能を使用して、カスタム アンテナ素子を設計できます。TR 38.901 の Section 7.3 で定義されている 5G 矩形マルチパネル アレイ内のカスタム アンテナ素子を指定するには、phased.NRRectangularPanelArray
(Phased Array System Toolbox) オブジェクトを使用します。フェーズド アレイの概要については、Array Geometries and Analysis (Phased Array System Toolbox)を参照してください。
構造体として指定した場合、このプロパティには次のフィールドが含まれます。
パラメーター フィールド | 値 | 説明 |
---|---|---|
Size |
行ベクトル | アンテナ アレイのサイズ。[M N P Mg Ng] として指定します。ここで、以下のようになります。
アンテナ アレイ全体は Mg 行 Ng 列のアンテナ パネルで構成され、各アンテナ パネルのサイズは M 行 N 列です。P = 1 の場合、偏波角はすべてのアンテナ アレイ素子で同じになります。P = 2 の場合、アンテナ アレイ素子の半分は 1 つの偏波角をもち、残りの半分は別の偏波角をもちます。
たとえば、次の図は、このオブジェクトがサイズ |
ElementSpacing |
行ベクトル | 素子の間隔 (波長)。[λv λh dgv dgh] の形式の行ベクトルとして指定します。このベクトルの要素は、それぞれ、垂直方向と水平方向の素子の間隔、および垂直方向と水平方向のパネルの間隔を表します。パネルの間隔はパネルの中心から測定されます。 |
PolarizationAngles |
行ベクトル | 偏波角 (度)。[θ ρ] の形式の行ベクトルとして指定します。 |
Orientation (削除予定) |
列ベクトル | メモ このフィールドは将来のリリースで削除される予定です。代わりに アレイの機械的な向き (度)。[α; β; γ] の形式の列ベクトルとして指定します。このベクトルの要素は、それぞれ方位、ダウンチルト、傾斜を指定します。既定値は、アレイのブロードサイドの向きが x 軸の正の向きを指すことを示します。 |
Element |
| TR 38.901 の Section 7.3 に記載されているアンテナ素子の放射パターン。(TR 38.901 は TR 38.900 に取って代わることに注意してください。) |
PolarizationModel |
| 定義された放射電力パターンに基づいて放射界のパターンを決定するモデル。詳細については、TR 38.901 の Section 7.3.2 を参照してください。 |
受信アンテナ アレイの機械的な向き。[α; β; γ] の形式の 3 要素数値列ベクトルとして指定します。このベクトルの要素は、TR 38.901 の Section 7.1.3 で指定されているように、それぞれ方位角、ダウンチルト角、および傾斜の回転角を度単位で指定します。このオブジェクトは、ローカル座標系の既定のアレイの向きを基準にしてこれらの回転角を適用します。このオブジェクトがこれらの回転角を適用する方法の詳細については、アンテナ アレイの機械的な向きを参照してください。
値 [0; 0; 0]
に対応する既定のアレイの向きは、ReceiveAntennaArray
プロパティによって異なります。
ReceiveAntennaArray
プロパティを構造体 (既定) として指定した場合、既定のアレイの向きにおいて、ブロードサイドの向きは x 軸の正の向きを指します。ReceiveAntennaArray
プロパティをフェーズド アレイとして指定した場合 (Phased Array System Toolbox が必要)、指定したフェーズド アレイ オブジェクトに関連するアレイ プロパティを設定することで、既定のアレイの向きを構成できます。
結果として得られるアレイの向きを可視化して評価するには、nrCDLChannel
チャネル モデルで displayChannel
関数を呼び出します。
送信アンテナと受信アンテナを向かい合わせた場合の例については、LOS パス角度を使用した送信アンテナと受信アンテナの向きの決定を参照してください。
調整可能: Yes
データ型: double
搬送波周波数 (Hz)。非負の実数として指定します。
データ型: double
モビリティ
これらのプロパティは、送信機または受信機の移動方法を構成します。
最大ドップラー シフト (Hz)。次のいずれかの値として指定します。
非負の実数 — この値は受信機の最大ドップラー シフトを指定します。
UTDirectionOfTravel
プロパティが 2 行 2 列の行列として指定されている場合、この値は受信機と送信機の最大ドップラー シフトを指定します。[Rx Tx] という形式の 1 行 2 列の非負の実数ベクトル — Rx と Tx は、それぞれ受信機と送信機の最大ドップラー シフトを指定します。 (R2023b 以降)
このプロパティはすべてのチャネル パスに適用されます。最大ドップラー シフトが 0 に設定されている場合、入力全体でチャネルは静的なままとなります。新しいチャネル実現を生成するには、reset
関数を呼び出してオブジェクトをリセットします。
調整可能: Yes
データ型: double
ユーザー端末 (またはユーザー機器) の移動方向 (度)。次のいずれかの値として指定します。
実数から成る [RxA; RxZ] の形式の 2 行 1 列のベクトル — RxA と RxZ は、それぞれ受信側 UE の移動方向の方位角と天頂角を指定します。
MaximumDopplerShift
プロパティが 1 行 2 列のベクトルとして指定されている場合、RxA と RxZ は、それぞれ受信側 UE と送信側 UE の移動方向の方位角と天頂角を指定します。実数から成る [RxA, TxA; RxZ, TxZ] の形式の 2 行 2 列の行列 — RxA と RxZ は、それぞれ受信側 UE の移動方向の方位角と天頂角を指定します。TxA と TxZ は、それぞれ送信側 UE の移動方向の方位角と天頂角を指定します。 (R2023b 以降)
調整可能: Yes
データ型: double
R2023b 以降
チャネル内の移動散乱体の割合。範囲 [0, 1] の実数として指定します。このプロパティを 0
に設定した場合、いずれの散乱体も移動しない指定になります。このプロパティを 1
に設定した場合、すべての散乱体が移動する指定になります。このオブジェクトは、RandomStream
プロパティの設定に基づいて、移動散乱体をランダムに選択します。このプロパティは、デュアルモビリティ構成にのみ適用されます。
依存関係
このプロパティを有効にするには、MaximumDopplerShift
プロパティを 1 行 2 列のベクトルに設定するか、UTDirectionOfTravel
プロパティを 2 行 2 列の行列に設定します。
データ型: double
R2023b 以降
チャネル内の移動散乱体の最大速度 (m/s)。非負の実数として指定します。このプロパティは、デュアルモビリティ構成にのみ適用されます。
依存関係
このプロパティを有効にするには、MaximumDopplerShift
プロパティを 1 行 2 列のベクトルに設定するか、UTDirectionOfTravel
プロパティを 2 行 2 列の行列に設定します。
データ型: double
チャネル制御
これらのプロパティは、TR 38.901 で定義されていないチャネルの実装に固有のパラメーターを構成します。たとえば、チャネルのフィルター処理を有効または無効にしたり、フィルター処理された信号のデータ型とサンプル数を設定したり、パス ゲイン生成の制御パラメーターを設定したりすることができます。
入力信号のサンプル レート (Hz)。正の数値スカラーとして指定します。
データ型: double
フェージング プロセスの時間オフセット (秒)。非負の実数として指定します。
調整可能: Yes
データ型: double
半波長あたりの時間サンプル数。Inf
または正の実数として指定します。SampleDensity
プロパティおよび MaximumDopplerShift
プロパティは、係数生成サンプル レート Fcg を制御します。これは次の式で表されます。
Fcg = (sum
(MaximumDopplerShift
) + (2 × (MaximumScattererSpeed
/lambda0))) × 2 × SampleDensity
。ここで、lambda0 はキャリア波長です。
SampleDensity
を Inf
に設定した場合、Fcg に SampleRate
プロパティの値が割り当てられます。
サンプル密度がチャネルの出力とパス ゲインにどのように影響するかの例については、CDL チャネル出力における SampleDensity プロパティの効果を参照してください。
データ型: double
一様分布乱数を使用して光線の位相と結合を初期化する乱数ストリームのソース。次の値のいずれかとして指定します。
依存関係
このプロパティを有効にするには、RayCoupling
プロパティまたは InitialPhases
プロパティを 'Random'
に設定するか、このオブジェクトをデュアルモビリティで構成します。デュアルモビリティを構成するには、MaximumDopplerShift
プロパティを 1 行 2 列のベクトルに設定するか、UTDirectionOfTravel
プロパティを 2 行 2 列の行列に設定します。
mt19937ar 乱数ストリームの初期シード。非負の数値スカラーとして指定します。
依存関係
このプロパティを有効にするには、RandomStream を 'mt19937ar with seed'
に設定します。関数 reset
の呼び出しの際には、このシードによって mt19937ar 乱数ストリームが再初期化されます。
データ型: double
チャネル出力の正規化。true
または false
として指定します。このプロパティが true
に設定されている場合、チャネル出力信号は受信アンテナの数の平方根で除算されます。正規化は NR によって行われます。ここで、NR は受信アンテナ素子の数またはアンテナ サブアレイの数です (ReceiveAntennaArray
プロパティを phased.ReplicatedSubarray
(Phased Array System Toolbox) または phased.PartitionedArray
(Phased Array System Toolbox) フェーズド アレイ オブジェクトとして指定した場合のみ)。NR の値を特定するには、
オブジェクト関数呼び出しの出力にある info
(cdl
)NumOutputSignals
構造体フィールドを確認します。
メモ
swapTransmitAndReceive
関数を呼び出してチャネル内の送信アンテナと受信アンテナの役割を入れ替えると、この関数によって
関数呼び出しの次の出力構造体フィールドも入れ替わります。info
(cdl
)
NumTransmitAntennas
およびNumReceiveAntennas
NumInputSignals
およびNumOutputSignals
したがって、正規化は常に NR によって行われます。
データ型: logical
正規化されたチャネル フェージング プロセス。true
または false
として指定します。このプロパティが true
に設定されている場合、チャネル フェージング プロセスの振幅は平均パス ゲイン (TR 38.901 ではクラスター電力とも呼ばれます) によって正規化されます。この正規化には、偏波やアンテナ素子の指向性など、他のチャネル ゲインは含まれません。このプロパティが false
に設定されている場合、チャネル フェージング プロセスは正規化されません。DelayProfile
プロパティは、TR 38.901 の Section 7.7.1、Table 7.7.1-1 ~ 7.7.1-5 に基づいて平均パス ゲインを決定します。DelayProfile
を 'Custom'
に設定した場合、AveragePathGains
プロパティを使用して平均パス ゲインを指定できます。
データ型: logical
R2024b 以降
チャネル応答出力。次のいずれかのオプションとして指定します。
'path-gains'
— 次の図に示すように、オブジェクトはパス ゲインとサンプル時間を返します。チャネルのフィルター処理が有効になっている場合、オブジェクトはフィルター処理された出力信号も返します。または、パス ゲインとサンプル時間のみを返すようにチャネルを構成するには、ChannelFiltering
プロパティをfalse
に設定してチャネルのフィルター処理を無効にします。'ofdm-response'
— 次の図に示すように、キャリア入力を指定してオブジェクトを呼び出すと、このオブジェクトは OFDM チャネル応答とタイミング オフセットを返します。チャネルのフィルター処理が有効になっている場合、オブジェクトはフィルター処理された出力信号も返します。または、OFDM チャネル応答とタイミング オフセットのみを返すようにチャネルを構成するには、ChannelFiltering
プロパティをfalse
に設定してチャネルのフィルター処理を無効にします。
データ型: string
| char
フェージング チャネルのフィルター処理。次のいずれかのオプションとして指定します。
true
— チャネルのフィルター処理を有効にします。オブジェクトは入力信号を受け取り、チャネルによってフィルター処理を行います。false
— チャネルのフィルター処理を無効にします。オブジェクトは入力信号を受け取らず、ChannelResponseOutput
プロパティに応じて OFDM チャネル応答とタイミング オフセット (R2024b 以降)またはパス ゲインとサンプル時間のみを返します。チャネルのフィルター処理を無効にすると、次の条件が適用されます。
NumTimeSamples
プロパティは、SampleRate
プロパティによって与えられたサンプル レートでフェージング プロセス実現の持続時間を制御します。OutputDataType
プロパティは、生成されたチャネル応答出力 (OFDM チャネル応答またはパス ゲイン) のデータ型を指定します。
このプロパティがチャネルの内部アーキテクチャにどのように影響するかの概要については、CDL チャネル モデルの内部アーキテクチャを参照してください。
チャネルのフィルター処理を無効にするユース ケースについては、CDL チャネルの OFDM チャネル応答の計算の例を参照してください。
データ型: logical
時間サンプルの数。正の整数として指定します。チャネルのフィルター処理が無効になっている場合は、このプロパティを使用してフェージング プロセス実現の持続時間を設定できます。
キャリア入力 carrier
を使用してオブジェクトを呼び出す場合は、NumTimeSamples
プロパティをスロット内のサンプル数以上の値に設定します。nrOFDMInfo(carrier)
の出力構造からスロット内のサンプル数を計算できます。 (R2024b 以降)
調整可能: Yes
依存関係
このプロパティを有効にするには、ChannelFiltering
を false
に設定します。
データ型: double
生成されたチャネル応答出力のデータ型。'double'
または 'single'
として指定します。チャネルのフィルター処理が無効になっている場合は、このプロパティを使用し、ChannelResponseOutput
プロパティに応じて OFDM チャネル応答 (R2024b 以降)またはパス ゲインのデータ型を指定します。
依存関係
このプロパティを有効にするには、ChannelFiltering
を false
に設定します。
読み取り専用のプロパティ
この プロパティ は読み取り専用です。
チャネル リンク方向の反転。次の値のいずれかとして返されます。
false
— チャネル モデル内の送信アンテナと受信アンテナの役割は、元のチャネル リンク方向に対応します。nrCDLChannel
オブジェクトに対してswapTransmitAndReceive
関数を呼び出すと、チャネルのリンク方向が反転し、このプロパティの値がfalse
からtrue
に切り替わります。true
— チャネル モデル内の送信アンテナと受信アンテナの役割が入れ替わります。nrCDLChannel
オブジェクトに対して関数swapTransmitAndReceive
を呼び出すと、チャネルの元のリンク方向が復元され、このプロパティの値がtrue
からfalse
に切り替わります。
データ型: logical
使用法
構文
説明
OFDM チャネル応答とタイミング オフセット
R2024b 以降
これらの構文を使用するには、ChannelResponseOutput
プロパティを 'ofdm-response'
に設定します。
[
は、指定されたキャリア signalOut
,ofdmResponse
] = cdl(signalIn
,carrier
)carrier
に基づいてチャネル インパルス応答に OFDM 復調を適用し、チャネルで劣化した信号に加えて OFDM チャネル応答を返します。この出力は、チャネルが OFDM 信号の各リソース エレメントにどのように影響するかを示します。
[
は、チャネルのインパルス応答が最も強いパスのタイミング オフセットも返します。チャネルのインパルス応答は、すべてのチャネル スナップショットにわたって平均化され、すべての送信アンテナと受信アンテナにわたって加算されます。signalOut
,ofdmResponse
,timingOffset
] = cdl(signalIn
,carrier
)
[
は、入力信号をフィルター処理せずに、OFDM チャネル応答とタイミング オフセットのみを返します。ofdmResponse
,timingOffset
] = cdl(carrier
)cdl
オブジェクトと carrier
入力は、OFDM チャネル応答とタイミング オフセットの計算のソースとして機能します。この構文を使用するには、ChannelFiltering
プロパティも false
に設定しなければなりません。
パス ゲインとサンプル時間
これらの構文を使用するには、ChannelResponseOutput
プロパティを 'path-gains'
に設定します (R2024b 以降)。
[
は、signalOut
,pathGains
,sampleTimes
] = cdl(signalIn
)pathGains
(最初の次元の要素) のチャネル スナップショットのサンプル時間も返します。
[
は、入力信号をフィルター処理せずに、パス ゲインとサンプル時間のみを返します。pathGains
,sampleTimes
] = cdl()cdl
オブジェクトは、パス ゲインとサンプル時間の計算のソースとして機能します。この構文を使用するには、ChannelFiltering
プロパティも false
に設定しなければなりません。
入力引数
入力信号。複素数のスカラー、列ベクトル、または NS 行 NT 列の行列として指定します。ここで、以下のようになります。
NS はサンプルの数。
NT は送信アンテナ素子の数またはアンテナ サブアレイの数 (
TransmitAntennaArray
プロパティをphased.ReplicatedSubarray
(Phased Array System Toolbox) またはphased.PartitionedArray
(Phased Array System Toolbox) フェーズド アレイ オブジェクトとして指定した場合のみ)。NT の値を特定するには、
オブジェクト関数呼び出しの出力にあるinfo
(cdl
)NumInputSignals
構造体フィールドを確認します。
データ型: single
| double
複素数のサポート: あり
R2024b 以降
特定の OFDM numerology のキャリア構成パラメーター。nrCarrierConfig
オブジェクトとして指定します。この入力でチャネルを呼び出す前に、次を行います。
SampleRate
チャネル プロパティを、キャリアから導出されたサンプル レートに設定します。この値は、nrOFDMInfo(carrier)
の出力構造体のSampleRate
フィールドから取得できます。チャネルのフィルター処理が無効になっている場合は、
NumTimeSamples
オブジェクト プロパティをスロット内のサンプル数以上の値に設定します。nrOFDMInfo(carrier)
の出力構造からスロット内のサンプル数を計算できます。
出力引数
出力信号。複素数のスカラー、ベクトル、または NS 行 NR 列の行列として返されます。ここで、以下のようになります。
NS はサンプルの数。
NR は受信アンテナ素子の数またはアンテナ サブアレイの数 (
ReceiveAntennaArray
プロパティをphased.ReplicatedSubarray
(Phased Array System Toolbox) またはphased.PartitionedArray
(Phased Array System Toolbox) フェーズド アレイ オブジェクトとして指定した場合のみ)。NR の値を特定するには、
オブジェクト関数呼び出しの出力にあるinfo
(cdl
)NumOutputSignals
構造体フィールドを確認します。
出力信号のデータ型は、入力信号のデータ型と同じ精度のものが使用されます。
データ型: single
| double
複素数のサポート: あり
R2024b 以降
OFDM チャネル応答。K×N×NR×NT の実数値配列として返されます。ここで、
K はサブキャリアの数。
N は OFDM シンボルの数。
NR は受信アンテナ素子の数またはアンテナ サブアレイの数 (
ReceiveAntennaArray
プロパティをphased.ReplicatedSubarray
(Phased Array System Toolbox) またはphased.PartitionedArray
(Phased Array System Toolbox) フェーズド アレイ オブジェクトとして指定した場合のみ)。NR の値を特定するには、
オブジェクト関数呼び出しの出力にあるinfo
(cdl
)NumOutputSignals
構造体フィールドを確認します。NT は送信アンテナ素子の数またはアンテナ サブアレイの数 (
TransmitAntennaArray
プロパティをphased.ReplicatedSubarray
(Phased Array System Toolbox) またはphased.PartitionedArray
(Phased Array System Toolbox) フェーズド アレイ オブジェクトとして指定した場合のみ)。NT の値を特定するには、
オブジェクト関数呼び出しの出力にあるinfo
(cdl
)NumInputSignals
構造体フィールドを確認します。
このオブジェクトは、OFDM チャネル応答を取得するため、指定された搬送波 carrier
に基づいてチャネル インパルス応答に OFDM 復調を適用します。この出力は、チャネルが OFDM 信号の各リソース エレメントにどのように影響するかを示します。
OFDM チャネル応答のデータ型は、入力信号のデータ型と同じ精度のものが使用されます。チャネルのフィルター処理が無効になっている場合は、OutputDataType
プロパティを使用してこの出力のデータ型を指定します。
データ型: single
| double
R2024b 以降
サンプル数で表された、チャネルのインパルス応答が最も強いパスのタイミング オフセット。非負の整数として返されます。チャネルのインパルス応答は、すべてのチャネル スナップショットにわたって平均化され、すべての送信アンテナと受信アンテナにわたって加算されます。
データ型: double
フェージング プロセスの MIMO チャネル パス ゲイン。NCS×NP×NT×NR の複素数配列として返されます。ここで、以下のようになります。
NCS は、
cdl
のSampleDensity
プロパティによって制御されるチャネル スナップショットの数。NP は、
cdl
のPathDelays
プロパティのサイズによって指定されたパスの数。NT は送信アンテナ素子の数またはアンテナ サブアレイの数 (
TransmitAntennaArray
プロパティをphased.ReplicatedSubarray
(Phased Array System Toolbox) またはphased.PartitionedArray
(Phased Array System Toolbox) フェーズド アレイ オブジェクトとして指定した場合のみ)。NT の値を特定するには、
オブジェクト関数呼び出しの出力にあるinfo
(cdl
)NumInputSignals
構造体フィールドを確認します。NR は受信アンテナ素子の数またはアンテナ サブアレイの数 (
ReceiveAntennaArray
プロパティをphased.ReplicatedSubarray
(Phased Array System Toolbox) またはphased.PartitionedArray
(Phased Array System Toolbox) フェーズド アレイ オブジェクトとして指定した場合のみ)。NR の値を特定するには、
オブジェクト関数呼び出しの出力にあるinfo
(cdl
)NumOutputSignals
構造体フィールドを確認します。
パス ゲインのデータ型は、入力信号のデータ型と同じ精度のものが使用されます。チャネルのフィルター処理が無効になっている場合は、OutputDataType
プロパティを使用してこの出力のデータ型を指定します。
データ型: single
| double
複素数のサポート: あり
チャネル スナップショットのサンプル時間。NCS 行 1 列の列ベクトルとして返されます。ここで、NCS は SampleDensity
プロパティによって制御されるチャネル スナップショットの数です。
データ型: double
オブジェクト関数
オブジェクト関数を使用するには、最初の入力引数として System object を指定します。たとえば、obj
という名前の System object のシステム リソースを解放するには、次の構文を使用します。
release(obj)
info | Characteristic information of link-level MIMO channel |
getPathFilters | リンクレベル MIMO チャネルのパス フィルター インパルス応答の取得 |
displayChannel | CDL チャネル モデル特性の可視化と調査 |
swapTransmitAndReceive | Reverse link direction in CDL channel model |
例
既定のキャリア構成オブジェクトを作成します。
carrier = nrCarrierConfig;
CDL-B 遅延プロファイルを使用して CDL チャネル オブジェクトを作成します。
channel = nrCDLChannel;
channel.DelayProfile = "CDL-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));
キャリア入力を指定して CDL チャネル オブジェクトを呼び出します。このオブジェクトは、CDL チャネルの OFDM チャネル応答とタイミング オフセットを返します。
[ofdmResponse,timingOffset] = channel(carrier);
OFDM チャネル応答を表示します。
mesh(abs(ofdmResponse(:,:,1,1))); title('OFDM Channel Response of CDL Channel'); xlabel('OFDM Symbol'); ylabel("Subcarrier"); zlabel("Magnitude");
TR 38.901 の Section 7.7.1 の遅延プロファイル CDL-D を使用し、クラスター遅延線 (CDL) チャネル モデルを経由して波形を送信します。
nrCDLChannel
System object を使用して、チャネル構成の構造体を定義します。遅延プロファイル CDL-D、遅延スプレッド 10 ns、および UE 速度 15 km/h を使用します。
v = 15.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 cdl = nrCDLChannel; cdl.DelayProfile = 'CDL-D'; cdl.DelaySpread = 10e-9; cdl.CarrierFrequency = fc; cdl.MaximumDopplerShift = fd;
送信アレイのレイアウトを [M N P Mg Ng] = [2 4 2 1 2] の形式のベクトルとして構成します。これは、2 行 4 列のアンテナ アレイ (M = 2、N = 4) と 2 つの偏波角 (P = 2) をもつ 2 つのパネル (Mg = 1、Ng = 2) を表します。受信アンテナ アレイを [M N P Mg Ng] = [1 1 2 1 1] の形式のベクトルとして構成します。これは、同じ場所に配置された交差偏波アンテナの単一のペアを表します。
cdl.TransmitAntennaArray.Size = [2 4 2 1 2]; cdl.ReceiveAntennaArray.Size = [1 1 2 1 1];
送信アンテナ素子間の距離を半波長に設定します。すべてのパネルのアンテナ素子が均等に配分され、なおかつパネルが重ならないように、アンテナ パネルの中心間の距離を指定します。
cdl.TransmitAntennaArray.ElementSpacing(1:2) = 0.5; cdl.TransmitAntennaArray.ElementSpacing(3:4) = cdl.TransmitAntennaArray.ElementSpacing(1:2).*(cdl.TransmitAntennaArray.Size(1:2));
チャネルを表示して構成を確認します。
displayChannel(cdl,'LinkEnd','Tx')
displayChannel(cdl,'LinkEnd','Rx')
8 つのアンテナでサブフレーム時間 1 のランダムな波形を作成します。
SR = 15.36e6; T = SR * 1e-3; cdl.SampleRate = SR; cdlinfo = info(cdl); Nt = cdlinfo.NumInputSignals; txWaveform = complex(randn(T,Nt),randn(T,Nt));
チャネルを介して入力波形を送信します。
rxWaveform = cdl(txWaveform);
nrCDLChannel
System object を使用しながら、さまざまなサンプル密度値に対するチャネル出力とパス ゲインのスナップショットをプロットします。
TR 38.901 の Section 7.7.1 の遅延プロファイル CDL-B を使用してチャネルを構成します。最大ドップラー シフトを 300 Hz に設定し、チャネルのサンプル レートを 10 kHz に設定します。
cdl = nrCDLChannel;
cdl.DelayProfile = 'CDL-B';
cdl.MaximumDopplerShift = 300.0;
cdl.SampleRate = 10e3;
cdl.Seed = 19;
送信アンテナ アレイと受信アンテナ アレイを単入力単出力 (SISO) 動作用に構成します。
cdl.TransmitAntennaArray.Size = [1 1 1 1 1]; cdl.ReceiveAntennaArray.Size = [1 1 1 1 1];
長さが 40 サンプルの入力波形を作成します。
T = 40; in = ones(T,1);
SampleDensity
プロパティのさまざまな値に対し、チャネルのステップ応答 (ラインで表示) および対応するパス ゲインのスナップショット (円で表示) をプロットします。サンプル密度プロパティは、ドップラー周波数に応じてチャネルのスナップショット取得頻度を制御します。
SampleDensity
をInf
に設定すると、入力サンプルごとにチャネル スナップショットが取得されます。SampleDensity
をスカラーの S に設定すると、チャネルのスナップショットは のレートで取得されます。
nrCDLChannel
オブジェクトは、ゼロ次ホールド補間によってチャネルのスナップショットを入力波形に適用します。このオブジェクトは、入力の終端を超えて追加のスナップショットを取得します。最終的な出力サンプルでは、補間誤差を最小限に抑えるためにこの追加の値が使用される場合があります。チャネル出力には、パス遅延を実装するフィルターによる過渡現象 (および遅延) が含まれます。
s = [Inf 5 2]; % sample densities legends = {}; figure; hold on; SR = cdl.SampleRate; for i = 1:length(s) % call channel with chosen sample density release(cdl); cdl.SampleDensity = s(i); [out,pathgains,sampletimes] = cdl(in); chInfo = info(cdl); tau = chInfo.ChannelFilterDelay; % plot channel output against time t = cdl.InitialTime + ((0:(T-1)) - tau).' / SR; h = plot(t,abs(out),'o-'); h.MarkerSize = 2; h.LineWidth = 1.5; desc = ['Sample Density = ' num2str(s(i))]; legends = [legends ['Output, ' desc]]; disp([desc ', Ncs = ' num2str(length(sampletimes))]); % plot path gains against sample times h2 = plot(sampletimes-tau/SR,abs(sum(pathgains,2)),'o'); h2.Color = h.Color; h2.MarkerFaceColor = h.Color; legends = [legends ['Path Gains, ' desc]]; end
Sample Density = Inf, Ncs = 40 Sample Density = 5, Ncs = 13 Sample Density = 2, Ncs = 6
xlabel('Time (s)'); title('Channel Output and Path Gains vs. Sample Density'); ylabel('Channel Magnitude'); legend(legends,'Location','NorthWest');
CDL チャネル モデルを作成します。次に、見通し線 (LOS) チャネルを指定します。
cdl = nrCDLChannel; cdl.DelayProfile = 'CDL-D'; % LOS channel cdl.TransmitAntennaArray.Element = '38.901'; cdl.ReceiveAntennaArray.Element = '38.901';
チャネルの特性情報を取得します。特性情報で返された LOS パス角度を使用して、送信アンテナ アレイと受信アンテナ アレイを向かい合わせます。
cdlInfo = cdl.info; cdl.TransmitArrayOrientation = [cdlInfo.AnglesAoD(1) cdlInfo.AnglesZoD(1)-90 0]'; cdl.ReceiveArrayOrientation = [cdlInfo.AnglesAoA(1) cdlInfo.AnglesZoA(1)-90 0]';
送信機端のチャネル特性を可視化します。
cdl.displayChannel('LinkEnd','Tx'); view(0,90)
受信機端のチャネル特性を可視化します。最も強いパス (LOS) は、アンテナ素子の放射パターンが最大となる点を通過します。これにより、アンテナが向かい合っていることを確認できます。
cdl.displayChannel('LinkEnd','Rx') view(0,90)
CDL チャネル モデルを作成します。次に、送信アンテナ アレイにフェーズド アレイを指定します。
cdl = nrCDLChannel; cdl.TransmitAntennaArray = phased.URA;
円偏波界を生成するため、クロスダイポール送信アンテナ アレイ素子を指定します。
cdl.TransmitAntennaArray.Element = phased.CrossedDipoleAntennaElement;
アレイのブロードサイドを y 軸の正の向きに向けます。30 度のダウンチルトを追加します。
cdl.TransmitAntennaArray.ArrayNormal = 'y';
cdl.TransmitArrayOrientation = [0; 30; 0];
アンテナ素子の間隔を半波長に設定します。
lambda = physconst('lightspeed')/cdl.CarrierFrequency;
cdl.TransmitAntennaArray.ElementSpacing = [lambda/2 lambda/2];
送信機端のチャネル特性を可視化します。
cdl.displayChannel('LinkEnd','Tx');
アルゴリズム
これらのオブジェクト プロパティは、CDL チャネル フィルター処理とチャネル係数の生成を構成します。
CDL チャネルのフィルター処理を有効または無効にするには、ChannelFiltering
プロパティを使用します。
CDL チャネルのフィルター処理が有効 —
ChannelFiltering
をtrue
に設定すると、オブジェクトは入力信号を受け取り、チャネルで劣化した信号を返します。ChannelResponseOutput
プロパティに応じて、オブジェクトは次のものも返します。OFDM チャネル応答とタイミング オフセット (
ChannelResponseOutput
='ofdm-response'
の場合)。 (R2024b 以降)パス ゲインとサンプル時間 (
ChannelResponseOutput
='path-gains'
の場合)。
次の図は、チャネルのフィルター処理が有効になっており、オブジェクトが OFDM チャネル応答とタイミング オフセットを返す場合の、CDL チャネル モデルの内部アーキテクチャを示しています。 (R2024b 以降)
CDL チャネルのフィルター処理が無効 —
ChannelFiltering
をfalse
に設定すると、オブジェクトは入力信号を受け取りません。ただし、ChannelResponseOutput
プロパティに応じて、オブジェクトは次のものを返します。OFDM チャネル応答とタイミング オフセット (
ChannelResponseOutput
='ofdm-response'
の場合)。 (R2024b 以降)パス ゲインとサンプル時間 (
ChannelResponseOutput
='path-gains'
の場合)。
OutputDataType
プロパティとNumTimeSamples
プロパティを使用して、それぞれチャネル応答出力のデータ型とフェージング プロセス実現の持続時間を設定します。次の図は、チャネルのフィルター処理が無効になっており、オブジェクトが OFDM チャネル応答とタイミング オフセットのみを返す場合の、CDL チャネル モデルの内部アーキテクチャを示しています。 (R2024b 以降)
TR 38.901 固有のパラメーターを構成するには、次のようにします。
遅延プロファイル
DelayProfile
を設定してから、遅延プロファイル固有のパラメーターを構成します。遅延プロファイルに応じて、事前定義された遅延プロファイルまたはカスタム遅延プロファイルのセクションにリストされているプロパティを使用します。アンテナ アレイのセクションにリストされているプロパティを使用して、チャネルのジオメトリを構成します。
モビリティのセクションにリストされているプロパティを使用して、UE のモビリティを構成します。
係数の生成に関して、TR 38.901 固有ではない実装の詳細を構成するには、チャネル制御のセクションにリストされているプロパティを使用します。
TransmitArrayOrientation
プロパティまたは ReceiveArrayOrientation
プロパティを [α; β; γ] に設定した場合、nrCDLChannel
オブジェクトは、連続した 3 つの回転を行って、送信アンテナ アレイまたは受信アンテナ アレイの機械的な向きをそれぞれ更新します。要素 α、β、および γ は、TR 38.901 の Section 7.1.3 で指定されているように、それぞれ方位角、ダウンチルト角、傾斜の回転角 (度) に対応します。最初の回転は、ローカル座標系の既定の向きを基準にします。その後の各回転は、前の回転によって得られた座標系を基準にします。このオブジェクトは、送信アンテナ アレイの向きを設定するか、受信アンテナ アレイの向きを設定するかに関係なく、同じ一連の回転を実行します。
たとえば、次の図は、サイズが [2 2 2 1 1] であるアンテナ アレイを [α; β; γ] に向けるときにオブジェクトが実行する 3 つの連続した回転を示しています。この図は、3 次元直交座標系を使用して、既定の向きと前の座標系に対する各回転後におけるアンテナ アレイの向きを示しています。
既定の向き: [0; 0; 0] — パネルは、 座標系の 平面内にあります。
| 回転 1: [α; 0; 0] — オブジェクトは、アンテナ パネルを 軸周りに α 度回転させます。パネルは 平面と共に回転します。この平面は、変換後の 座標系で 平面になります。ここで、 です。 |
回転 2: [α; β; 0] — オブジェクトは、アンテナ パネルを 軸周りに β 度回転させます。アンテナ パネルは 平面と共に回転します。この平面は、変換後の 座標系で 平面になります。ここで、 です。 | 回転 3: [α; β; γ] — オブジェクトは、アンテナ パネルを 軸周りに γ 度回転させます。アンテナ パネルは 平面と共に回転します。この平面は、変換後の 座標系で 平面になります。ここで、 です。 |
参照
[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.
拡張機能
使用上の注意および制限:
C/C++ コード生成の場合、コンストラクターでの割り当てを含め、これらのプロパティに値を割り当てることができるのは 1 回のみであり、割り当てる値は定数でなければなりません。
MATLAB コード生成における System object (MATLAB Coder)も参照してください。
nrCDLChannel
System object は GPU 配列をサポートします。
nrCDLChannel
関数は GPU 配列入力をサポートしますが、次の使用上の注意および制限があります。
GPU 処理を有効にするには、
ChannelFiltering
プロパティをtrue
に設定し、少なくとも 1 つのgpuArray
(Parallel Computing Toolbox) オブジェクトをデータ入力引数としてオブジェクトを呼び出します。
詳細については、GPU での MATLAB 関数の実行 (Parallel Computing Toolbox)を参照してください。
バージョン履歴
R2018b で導入R2025a 以降、次のプロパティは調整できるようになり、いつでも値を変更できます。以前のリリースでは、これらのプロパティは調整できませんでした。
nrCDLChannel
オブジェクトを使用すると、OFDM チャネル応答とタイミング オフセットをチャネルから直接取得できます。この機能を有効にするには、ChannelResponseOutput
オブジェクト プロパティを 'ofdm-response'
に設定し、入力信号に加えて nrCarrierConfig
オブジェクトを使用してオブジェクトを呼び出します。
nrCDLChannel
オブジェクトに GPU 配列のサポートが追加されました。詳細については、GPU での MATLAB 関数の実行 (Parallel Computing Toolbox)を参照してください。
TR 38.901 の Tables 7.7.1-1 ~ 7.7.1-5 で定義されている事前定義済み遅延プロファイルのいずれかのパラメーターで初期化されたカスタム遅延プロファイルを使用してチャネル モデルを作成できます。対応するオブジェクト作成構文の詳細については、説明のセクションを参照してください。
MaximumDopplerShift
および UTDirectionOfTravel
オブジェクト プロパティを使用して、送信機と受信機の V2X フェージング チャネルを構成できます。クラッターのモビリティを制御するには、MovingScattererProportion
および MaximumScattererSpeed
オブジェクト プロパティを使用します。
TransmitAntennaArray
プロパティのOrientation
フィールドは、将来のリリースで削除される予定です。代わりにTransmitArrayOrientation
プロパティを使用してください。ReceiveAntennaArray
プロパティのOrientation
フィールドは、将来のリリースで削除される予定です。代わりにReceiveArrayOrientation
プロパティを使用してください。
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
- América Latina (Español)
- Canada (English)
- United States (English)
ヨーロッパ
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)