このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
channelDelay
説明
[
は、チャネル インパルス応答のピークを検出してチャネルのタイミング遅延を計算します。この関数は、チャネル パス ゲイン配列とパス フィルターのインパルス応答行列からインパルス応答を再構成します。この関数は、チャネルのタイミング遅延 (サンプル単位) とチャネル インパルス応答の振幅を返します。詳細については、チャネル遅延と振幅の計算を参照してください。delay
,mag
] = channelDelay(pathGains
,pathFilters
)
例
2 行 2 列の MIMO チャネルのタイミング遅延の計算
2 行 2 列の MIMO チャネルを構成します。オブジェクト関数 info
を使用してパス フィルターを取得します。
chan = comm.MIMOChannel('SampleRate',1000,'PathDelays',[0 1.5e-3], ... 'AveragePathGains',[1 0.8],'RandomStream','mt19937ar with seed', ... 'Seed',10,'PathGainsOutputPort',true); chanInfo = info(chan); pathFilters = chanInfo.ChannelFilterCoefficients;
チャネルを通してインパルスを渡し、パス ゲインを計算します。
[~,pathGains] = chan(ones(1,2));
取得したパス フィルターと計算したパス ゲインを指定して、チャネルのタイミング遅延を計算します。
delay = channelDelay(pathGains,pathFilters)
delay = 6
レイリー チャネルの相対タイミング遅延の表示
時間の経過に沿ってレイリー チャネルの相対タイミング遅延を計算および表示します。
3 つのパスで構成され、インパルス応答の可視化を有効にしたcomm.RayleighChannel
System object™ を作成します。
chan = comm.RayleighChannel; chan.SampleRate = 1e3; chan.PathDelays = [0 5.3e-3 10.1e-3]; chan.AveragePathGains = [0.1 1 0.5]; chan.PathGainsOutputPort = true; chan.RandomStream = 'mt19937ar with seed'; chan.Seed = 1; chan.Visualization = 'Impulse response'; chan.MaximumDopplerShift = 1;
オブジェクト関数 info
を使用してレイリー チャネル パス フィルターを取得します。ループ内で、レイリー チャネルを通じてすべて 1 の静的信号を渡します。関数 channelDelay
では、チャネルを通じて各パスからのチャネル パス ゲイン配列および (関数 info
で返される) パス フィルター係数 chanInfo.ChannelFilterCoefficients
を使用して、相対チャネル タイミング遅延が計算されます。インパルス応答はそれぞれの反復で異なります。最後の反復のインパルス応答を次に示します。delay
ベクトルは、それぞれの反復に対して計算された相対チャネル タイミング遅延を示しています。
chanInfo = info(chan); numIter = 12; delay = zeros(1,numIter); for p=1:numIter [~,pg] = chan(ones(1e3,1)); delay(p) = channelDelay(pg,chanInfo.ChannelFilterCoefficients); end
delay
delay = 1×12
12 7 12 2 12 7 12 7 7 7 2 2
入力引数
pathGains
— チャネル パス ゲイン
4 次元配列
チャネル パス ゲイン。Ncs x Np x Nt x Nr 配列として指定します。ここでは、次のとおりです。
Ncs は、チャネル スナップショットの数です。
Np は、パスの数です。
Nt は、送信アンテナの数です。
Nr は、受信アンテナの数です。
pathGains
のいずれかの要素が NaN
の場合、関数は送信機と受信機の間にパスが存在しないと仮定します。
データ型: double
| single
複素数のサポート: あり
pathFilters
— パス フィルターのインパルス応答
行列
パス フィルターのインパルス応答。Np 行 Nh 列の行列として指定します。Np はパスの数で、Nh はインパルス応答のサンプル数です。
データ型: double
| single
複素数のサポート: あり
出力引数
delay
— チャネルのタイミング遅延
整数
チャネルのタイミング遅延 (サンプル単位)。整数として返されます。この値は、pathGains
と pathFilters
の入力から再構成されたチャネル インパルス応答の最初のサンプルに相対する遅延のサンプル数を表します。関数は、複合チャネル インパルス応答のピークを検出してチャネルのタイミング遅延を計算します。詳細については、チャネル遅延と振幅の計算を参照してください。
mag
— チャネル インパルス応答の振幅
行列
各受信アンテナのチャネル インパルス応答の振幅。Nh 行 Nr 列の行列として返されます。Nh はインパルス応答のサンプル数で、Nr は受信アンテナの数です。詳細については、チャネル遅延と振幅の計算を参照してください。
詳細
チャネル遅延と振幅の計算
チャネル遅延とインパルス応答の振幅の計算では、複合チャネル インパルス応答を使用します。
複合チャネル インパルス応答は、パス ゲイン配列で表されるすべてのチャネル スナップショットでインパルス応答の平均を求めることで得られます。入力パス ゲイン配列は、Ncs x Np x Nt x Nr の形式でなければなりません。ここでは、次のとおりです。
Ncs は、チャネル スナップショットの数です。
Np は、パスの数です。
Nt は、送信アンテナの数です。
Nr は、受信アンテナの数です。
単一値として出力されるチャネルのタイミング遅延は、チャネル インパルス応答の最初のサンプルに相対します。関数は、複合チャネル インパルス応答のピークを検出してこの値を計算します。複合チャネル インパルス応答は、すべての送信アンテナおよび受信アンテナのインパルス応答の総和です。
受信インパルス応答の振幅は、Nh 行 Nr 列の行列として出力されます。Nh はインパルス応答のサンプル数で、Nr は受信アンテナの数です。受信インパルス応答の振幅を計算するために、次が行われます。
すべてのチャネル スナップショットでパス ゲインが合計されます。
すべての送信アンテナおよび受信アンテナのチャネル インパルス応答に各パスからの寄与が追加されます。
送信アンテナ パスがチャネル インパルス応答配列に結合され、インパルス応答のサンプルと受信アンテナの行列が残されます。
拡張機能
C/C++ コード生成
MATLAB® Coder™ を使用して C および C++ コードを生成します。
バージョン履歴
R2020a で導入
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)