comm.WINNER2Channel
WINNER II フェージング チャネルによる入力信号のフィルター処理
必要なダウンロード: comm.WINNER2Channel を使用するには、最初に WINNER II Channel Model for Communications Toolbox アドオンをダウンロードします。
説明
comm.WINNER2Channel
System object™ は、WINNER II フェージング チャネルによる入力信号をフィルター処理します。オブジェクトは、WINNER II チャネル モデル[1]によって定義され提供される基本モデルを利用します。
WINNER II フェージング チャネルを通して入力信号をフィルター処理するには、次のようにします。
comm.WINNER2Channel
オブジェクトを作成し、そのプロパティを設定します。関数と同様に、引数を指定してオブジェクトを呼び出します。
System object の機能の詳細については、System object とは を参照してください。
作成
構文
説明
は、WINNER II フェージング チャネル System object を作成し、単一または複数のリンクをモデル化します。winchannel
= comm.WINNER2Channelwinchannel
は、WINNER II 空間チャネル モデル (SCM) を使用して、チャネル係数を生成します。また、各リンクのフェージング チャネルを通じて、実数または複素数の入力信号のフィルター処理も行います。
は、名前と値の引数を 1 つ以上使用してプロパティを指定します。たとえば、winchannel
= comm.WINNER2Channel(Name,Value
)'NormalizeChannelOutputs','false'
は、チャネル出力を正規化しないよう指定します。
は、winchannel
= comm.WINNER2Channel(cfgModel
)ModelConfig
プロパティを cfgModel
に設定します。
は、winchannel
= comm.WINNER2Channel(cfgModel
,cfgLayout
)LayoutConfig
プロパティを cfgLayout
に設定します。
プロパティ
特に指定がない限り、プロパティは "調整不可能" です。つまり、オブジェクトの呼び出し後に値を変更することはできません。オブジェクトは呼び出すとロックされ、ロックを解除するには関数 release
を使用します。
プロパティが "調整可能" の場合、その値をいつでも変更できます。
プロパティ値の変更の詳細については、System object を使用した MATLAB でのシステム設計を参照してください。
ModelConfig
— WINNER II モデル パラメーターの構成
winner2.wimparset
(既定値) | 構造体
WINNER II モデルのパラメーターの構成。構造体として指定します。関数 winner2.wimparset
を使用して既定のモデル コンフィギュレーションの構造体を作成することも、手動で作成することもできます。Winner II チャネル モデルのパラメーターの構成には、以下のフィールドが含まれます。
NumTimeSamples
— 時間サンプルの数
100
(既定値) | スカラー
時間サンプルの数。スカラーとして指定します。
メモ
入力信号 (NS) 内のサンプル数が NumTimeSamples
と一致しなかった場合、NumTimeSamples
は NS と一致するように更新されます。
データ型: double
FixedPdpUsed
— 特定のシナリオに対して事前定義されたパス遅延とパワーを使用するオプション
'no'
(既定値) | 'yes'
特定のシナリオに対して事前定義されたパス遅延とパワーを使用するオプション。'no'
または 'yes'
として指定します。
FixedAnglesUsed
— 特定のシナリオに対して事前定義されたパスの AoD と AoA を使用するオプション
'no'
(既定値) | 'yes'
特定のシナリオに対して事前定義されたパスの発射角 (AoD) と到来角 (AoA) を使用するオプション。'no'
または 'yes'
として指定します。
IntraClusterDsUsed
— リンクごとの最も強力な 2 つのクラスターをそれぞれ 3 つのサブクラスターに分割するオプション
'yes'
(既定値) | 'no'
リンクごとの最も強力な 2 つのクラスターをそれぞれ 3 つのサブクラスターに分割するオプション。'yes'
または 'no'
として指定します。
PolarisedArrays
— 偏波共用アレイを使用するオプション
'yes'
(既定値) | 'no'
偏波共用アレイを使用するオプション。'yes'
または 'no'
として指定します。
UseManualPropCondition
— 手動で定義された伝播条件を使用するオプション
'yes'
(既定値) | 'no'
手動で定義された伝播条件を使用するオプション。'yes'
または 'no'
として指定します。PropagConditionVector
フィールドの手動で定義された伝播条件 (LOS または NLOS) の使用を強制するには、このフィールドを 'yes'
に設定します。事前定義した LOS 確率から伝播条件を引き出すには、このフィールドを 'no'
に設定します。
CenterFrequency
— 搬送周波数
5.25e9
(既定値) | スカラー
搬送周波数 (Hz)。スカラーで指定します。
データ型: double
UniformTimeSampling
— 等間隔時間サンプリングを強制するオプション
'no'
(既定値) | 'yes'
等間隔時間サンプリングを強制するオプション。'no'
または 'yes'
として指定します。
SampleDensity
— 半波長あたりの時間サンプルの数
2e6
(既定値) | スカラー
半波長あたりの時間サンプルの数。スカラーとして指定します。
データ型: double
DelaySamplingInterval
— サンプリング間隔
5e-9
(既定値) | スカラー
サンプリング間隔。入力信号のサンプル時間を秒単位で示すスカラーとして指定します。DelaySamplingInterval
は、パス遅延を丸めるサンプリング グリッドを定義します。
0
秒の値は、パス遅延が丸められていないことを示しています。チャネルのフィルター処理を実行すると、オブジェクトはDelaySamplingInterval
を0
に設定して元のパス遅延を取得します。DelaySamplingInterval
の非ゼロの値はすべて無視されます。具体的には、DelaySamplingInterval
値の倍数に丸められておらず非ゼロの値のパスが遅延します。
データ型: double
ShadowingModelUsed
— シャドウ フェージングを使用するオプション
'no'
(既定値) | 'yes'
シャドウ フェージングを使用するオプション。'no'
または 'yes'
として指定します。
PathLossModelUsed
— パス損失モデルを使用するオプション
'no'
(既定値) | 'yes'
パス損失モデルを使用するオプション。'no'
または 'yes'
として指定します。
PathLossModel
— パス損失モデル
'pathloss'
(既定値) | 文字ベクトル
パス損失モデル。有効な関数名を表す文字ベクトルとして指定します。パス損失モデルは、WINNER II チャネルアドオンの内部関数 pathloss
を使用してパス損失をモデル化します。
依存関係
このプロパティを有効にするには、PathLossModelUsed
フィールドを 'yes'
に設定します。
データ型: char
PathLossOption
— 壁の材料
'CR_light'
(既定値) | 'CR_heavy'
| 'RR_light'
| 'RR_heavy'
壁の材料。'CR_light'
、'CR_heavy'
、'RR_light'
、または 'RR_heavy'
として指定します。このフィールドは、A1 シナリオの NLOS パス損失計算用の壁の材料を示します。
依存関係
このプロパティを有効にするには、PathLossModelUsed
フィールドを 'yes'
に設定します。
データ型: char
RandomSeed
— 乱数発生器のシード
[]
(既定値) | スカラー
乱数発生器のシード。スカラーまたは空のかっことして指定します。空のかっこ []
は、グローバル乱数ストリームの使用を示します。
データ型: double
データ型: struct
LayoutConfig
— WINNER II レイアウト パラメーターの構成
winner2.layoutparset
(既定値) | 構造体
WINNER II レイアウト パラメーターの構成。構造体として指定します。関数 winner2.layoutparset
を使用して既定のレイアウト構成の構造体を作成することも、手動で作成することもできます。Winner II チャネル レイアウトのパラメーターの構成には、以下のフィールドが含まれます。
Stations
— アクティブな局
構造体の行ベクトル (既定値)
アクティブな局。アクティブな局のアンテナ アレイを表す構造体の行ベクトルとして指定します。Stations
は arrays
入力から作成されます。行の順序によって、最初に基地局 (BS) セクター、次に移動局 (MS) が指定されます。BS セクターと MS の位置は、ランダムに割り当てられます。BS セクターには速度はありません。各 MS には、ランダムに割り当てられた方向で約 1.42 m/s の速度があります。
データ型: struct
NofSect
— セクター数
ベクトル (既定値)
セクター数。各 BS 内のセクター数を表すベクトルとして指定します。
データ型: double
Pairing
— BS と MS のペアリング
2 行 NL 列の行列 (既定値)
BS と MS のペアリング。2 行 NL 列の行列として指定します。NL はモデル化するリンクの数を指定します。BS と MS の行の順序については、Stations
フィールドを参照してください。
データ型: double
ScenarioVector
— 空間のシナリオ
1
(既定値) | 1 行 NL 列のベクトル | スカラー
空間のシナリオ。シナリオ番号の 1 行 NL 列のベクトルとして指定します。既定は 1
で、これはシナリオ A1 を指定します。
このシナリオ番号は {1
=A1, 2
=A2, 3
=B1, 4
=B2, 5
=B3, 6
=B4, 10
=C1, 11
=C2, 12
=C3, 13
=C4, 14
=D1, 15
=D2a} としてマッピングします。
詳細については、『WINNER II Channel Models[1]』の第 2.3 節を参照してください。
PropagConditionVector
— 伝播条件
1
(既定値) | 1 行 NL 列のベクトル | スカラー
伝播条件。1 行 NL 列のベクトルとして指定します。リンクごとに、LOS を 1
、NLOS を 0
として指定します。
データ型: double
StreetWidth
— 道幅
20
(既定値) | 1 行 NL 列のベクトル | スカラー
道幅。道の平均幅 (メートル) を指定する同一の値の 1 行 NL 列のベクトルとして指定します。B1 シナリオと B2 シナリオのパス損失モデルには StreetWidth
を使用します。シナリオ番号のマッピングについては、ScenarioVector
フィールドを参照してください。
依存関係
このプロパティを有効にするには、PathLossModelUsed
フィールドを 'yes'
に設定します。
データ型: double
Dist1
— BS から最後の LOS 点までの距離
NaN
(既定値) | 1 行 NL 列のベクトル
BS から最後の LOS 点までの距離。1 行 NL 列のベクトルとして指定します。B1 シナリオと B2 シナリオのパス損失モデルには Dist1
フィールドを使用します。NaN
の既定値は、距離がパス損失関数でランダムに決定されることを示します。シナリオ番号のマッピングについては、ScenarioVector
フィールドを参照してください。
詳細については、『WINNER II Channel Models[1]』の図 4-3 を参照してください。
依存関係
このプロパティを有効にするには、PathLossModelUsed
フィールドを 'yes'
に設定します。
データ型: double
NumFloors
— 階数
1
(既定値) | 1 行 NL 列のベクトル | スカラー
屋内の BS または MS が配置されている階数。1 行 NL 列のベクトルとして指定します。NumFloors
フィールドは、A2 シナリオと B4 シナリオのパス損失モデルにのみ使用します。シナリオ番号のマッピングについては、ScenarioVector
フィールドを参照してください。
依存関係
このプロパティを有効にするには、PathLossModelUsed
フィールドを 'yes'
に設定します。
データ型: double
NumPenetratedFloors
— 透過する階数
0
(既定値) | 1 行 NL 列のベクトル | スカラー
BS と MS の間の透過する階数。1 行 NL 列のベクトルとして指定します。A1 シナリオの NLOS パス損失モデルには NumPenetratedFloors
フィールドを使用します。シナリオ番号のマッピングについては、ScenarioVector
フィールドを参照してください。
詳細については、『WINNER II Channel Models[1]』の表 4-4 を参照してください。
依存関係
このプロパティを有効にするには、PathLossModelUsed
フィールドを 'yes'
に設定します。
データ型: double
データ型: struct
NormalizeChannelOutputs
— チャネル出力を正規化するオプション
'true'
(既定値) | 'false'
チャネル出力を正規化するオプション。'true'
または 'false'
として指定します。各リンクの MS で受信アンテナの数によってチャネル出力を正規化するには、このプロパティを 'true'
に設定します。
詳細については、チャネル パワーを参照してください。
データ型: char
| string
使用法
説明
入力引数
insignal
— 入力信号
NL 行 1 列の cell 配列 | NS 行 NT 列の行列
入力信号。NL 行 1 列の cell 配列または NS 行 NT 列の行列として指定します。NL は、winchannel
オブジェクトの LayoutConfig
プロパティで指定されるリンク数です。insignal
引数の i 番目の要素は、NS 行 NT(i) 列のデータ型 double
の行列でなければなりません。
NS は生成されるサンプルの数です。これは
insignal
引数のすべての要素で同じ値でなければなりません。NT は、
winchannel
オブジェクトのLayoutConfig
プロパティで指定される i 番目のリンクの BS の送信アンテナの数です。
出力引数
outsignal
— 出力信号
NL 行 1 列の cell 配列 (既定値)
出力信号。NL 行 1 列の cell 配列として返されます。チャネルにリンクが 1 つしかない場合、またはすべてのリンクに同じ数の送信アンテナがある場合、insignal
引数は NS 行 NT 列の行列でなければならず、outsignal
引数の i 番目の要素は NS 行 NR(i) 列の行列です。NR(i) は、winchannel
オブジェクトの LayoutConfig
プロパティで指定される i 番目のリンクの MS の受信アンテナの数です。
pathgains
— チャネル パス ゲイン
NL 行 1 列の cell 配列 (既定値)
チャネル パス ゲイン。NL 行 1 列の cell 配列として返されます。
pathgains
引数の i 番目の要素は、データ型 double
の複素数値から成る NR(i)×NT(i)×NP(i)×NS の配列です。NP(i) は、winchannel
オブジェクトの LayoutConfig
プロパティで指定される i 番目のリンクのパスの数です。
NR、NT、および NP はリンク固有です。NS はすべてのリンクに対して同じです。
オブジェクト関数
オブジェクト関数を使用するには、System object を最初の入力引数として指定します。たとえば、obj
という名前の System object のシステム リソースを解放するには、次の構文を使用します。
release(obj)
メモ
オブジェクト関数 reset
を使用するとき、オブジェクトの ModelConfig.RandomSeed
プロパティが空の場合、reset
はフィルターのみをリセットします。それ以外の場合、reset
はフィルターをリセットし、乱数ストリームを ModelConfig
.RandomSeed
フィールドの値に再初期化します。
例
2 つの移動局をもつ WINNER II チャネルのシミュレーション
1 つの BS に 2 つの MS が接続されたシステムをシミュレートします。一方の MS は BS から 8 メートル離れており、もう一方は BS から 20 メートル離れています。2 つのリンクを通してインパルス信号を送信します。MS での受信信号のスペクトルは周波数選択性を示します。
再現できるように乱数発生器のシードを指定します。
rng(100);
フレーム長とサンプル レートを初期化します。
frmLen = 1024;
winner II チャネル レイアウトのパラメーターを構成します。
BSAA = winner2.AntennaArray("UCA",8,0.02); % UCA-8 antenna array for BS MSAA1 = winner2.AntennaArray("ULA",2,0.01); % ULA-2 antenna array for MS MSAA2 = winner2.AntennaArray("ULA",4,0.005); % ULA-4 antenna array for MS MSIdx = [2 3]; BSIdx = {1}; NL = 2; maxRange = 100; rndSeed = 101; cfgLayout = winner2.layoutparset(MSIdx,BSIdx,NL, ... [BSAA,MSAA1,MSAA2],maxRange,rndSeed);
BS と MS の位置を調整します。
cfgLayout.Stations(1).Pos(1:2) = [10, 10]; cfgLayout.Stations(2).Pos(1:2) = [18, 10]; % 8 meters away from BS cfgLayout.Stations(3).Pos(1:2) = [22, 26]; % 20 meters away from BS
両方のリンクに NLOS を指定します。
cfgLayout.Pairing = [1 1; 2 3]; cfgLayout.PropagConditionVector = [0 0];
winner II チャネル モデルのパラメーターを構成します。
cfgModel = winner2.wimparset; cfgModel.NumTimeSamples = frmLen; % Frame length cfgModel.IntraClusterDsUsed = "no"; % No cluster splitting cfgModel.SampleDensity = 2e5; % For lower sample rate cfgModel.PathLossModelUsed = "yes"; % Turn on path loss cfgModel.ShadowingModelUsed = "yes"; % Turn on shadowing
WINNER II フェージング チャネル System object を作成します。
winChannel = comm.WINNER2Channel(cfgModel,cfgLayout);
システム情報を取得します。
chanInfo = info(winChannel)
chanInfo = struct with fields:
NumLinks: 2
NumBSElements: [8 8]
NumMSElements: [2 4]
NumPaths: [16 16]
SampleRate: [1.0000e+07 1.0000e+07]
ChannelFilterDelay: [7 7]
NumSamplesProcessed: 0
送信機の数とシステムのサンプル レートを取得します。
numTx = chanInfo.NumBSElements(1); Rs = chanInfo.SampleRate(1);
スペクトル アナライザー System object を作成します。
sa = spectrumAnalyzer( ... SampleRate=Rs, ... YLimits=[-170, -100], ... ShowLegend=true, ... ChannelNames=["MS 1 (8 meters away)","MS 2 (20 meters away)"]);
2 つのリンクを通してインパルス信号を渡し、2 つの MS における受信信号のスペクトルを表示します。
for i = 1:10 x = [ones(1,numTx); zeros(frmLen-1,numTx)]; y = winChannel(x); sa([y{1}(:,1),y{2}(:,1)]); end release(sa)
詳細
WINNER II サンプリング レート
チャネル係数の生成とチャネルのフィルター処理を実行するための信号サンプルレート (RS) は、移動局の速度 (VMS)、半波長の距離、およびサンプル密度を使用してリンクごとに計算されます。各リンクのサンプル レートは、オブジェクト関数 info の出力のフィールドとして取得できます。
RS = VMS / (C / Fcenter / 2 / NSD)
MS の速度 VMS は、次のようになります。
ModelConfig
.UniformTimeSampling
フィールドを'no'
に設定した場合、VMS はLayoutConfig.Stations(i).Velocity
フィールドから導出された、対応するリンクの MS の速度です。ModelConfig
.UniformTimeSampling
フィールドを'yes'
に設定した場合、VMS はすべてのリンクの MS の最高速度です。
C は光の速さ (
2.99792458e8
m/s) です。Fcenter は
ModelConfig
.CenterFrequency
フィールドです。NSD は
ModelConfig
.SampleDensity
フィールドです。
チャネル パワー
以下の条件が comm.WINNER2Channel
System object のチャネル パワーに適用されます。
パス損失とシャドウイングがオフの場合、パス ゲインは正規化されます。具体的には、
ModelConfig
.ShadowingModelUsed
フィールドとModelConfig
.PathLossModelUsed
フィールドを'no'
に設定すると、パス ゲインが正規化されます。NormalizeChannelOutputs
プロパティを'true'
に設定した場合、チャネルの平均ゲインが 0 dB になります。
参照
[1] Kyosti, Pekka, Juha Meinila, et al. WINNER II Channel Models. D1.1.2 V1.2. IST-4–027756 WINNER II, September 2007.
バージョン履歴
R2016b で導入
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- 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)