メインコンテンツ

rangeangle

説明

関数 rangeangle は、送信点または一連の送信点から基準点までの信号の伝播パス長とパス方向を決定します。この関数は、"自由空間" モデルと "2 波" モデルの 2 つの伝播モデルをサポートしています。"自由空間" モデルは、送信点から基準点までの単一の見通し内パスです。"2 波" マルチパス モデルは 2 つのパスを生成します。最初のパスは自由空間パスに従います。2 番目のパスは、z = 0 の境界平面からの反射パスです。パス方向は、基準点のグローバル座標系または基準点のローカル座標系のいずれかに対して定義されます。基準点での距離と角度は、信号がパスに沿って移動する方向に依存しません。

[rng,ang] = rangeangle(pos) は、送信点または一連の送信点 pos からグローバル座標系の原点までの信号パスの伝播パス長 rng と方向角 ang を返します。方向角は、原点でのグローバル座標軸に対する方位角と仰角です。信号は、送信点から原点までの見通し内パスに従います。見通し内パスは、点間の幾何学的直線に対応します。

[rng,ang] = rangeangle(pos,refpos) は、基準点または一連の基準点 refpos も指定します。ここでは、rng には、送信点から基準点までの伝播パス長が含まれています。方向角は、基準点でのグローバル座標軸に対する方位角と仰角です。複数の点と複数の基準点を指定できます。

[rng,ang] = rangeangle(pos,refpos,refaxes) は、基準点でのローカル座標系の座標軸 refaxes も指定します。方向角は、refpos を中心とするローカル座標軸に対する方位角と仰角です。

[rng,ang] = rangeangle(___,model) は伝播モデルも指定します。model"freespace" に設定すると、信号は送信点から受信点までの見通し内パスに沿って伝播します。model"two-ray" に設定すると、信号は送信点から受信点までの 2 つのパスに沿って伝播します。最初のパスは見通し内パスです。2 番目のパスは反射パスです。この場合、関数は、各送信点と対応する基準点に対して 2 つのパスの距離と角度を返します。

すべて折りたたむ

原点から (1000,2000,50) メートルの位置にあるターゲットの範囲と角度を計算します。

TargetLoc = [1000;2000;50];
[tgtrng,tgtang] = rangeangle(TargetLoc)
tgtrng = 
2.2366e+03
tgtang = 2×1

   63.4349
    1.2810

(100,100,10) メートルのローカル原点に対する (1000,2000,50) メートルの位置にあるターゲットの範囲と角度を計算します。

TargetLoc = [1000;2000;50];
Origin = [100;100;10];
[tgtrng,tgtang] = rangeangle(TargetLoc,Origin)
tgtrng = 
2.1028e+03
tgtang = 2×1

   64.6538
    1.0900

(100,100,10) メートルのローカル座標系原点に対する (1000,2000,50) メートルの位置にあるターゲットの範囲と角度を計算します。グローバル座標の座標軸に対して z 軸の周りに 45° 回転したローカル座標基準フレームを選択します。

targetpos = [1000;2000;50];
origin = [100;100;10];
refaxes = [1/sqrt(2) -1/sqrt(2) 0; 1/sqrt(2) 1/sqrt(2) 0; 0 0 1];
[tgtrng,tgtang] = rangeangle(targetpos,origin,refaxes)
tgtrng = 
2.1028e+03
tgtang = 2×1

   19.6538
    1.0900

入力引数

すべて折りたたむ

送信点の位置 (メートル単位)。実数値の 3 行 1 列のベクトルまたは実数値の 3 行 N 列の行列として指定します。行列は複数の送信点を表します。列には、[x;y;z] の形式で N 個の点の直交座標が含まれます。

pos が 3 行 N 列の行列の場合、refpos は、N 個の基準位置に対する 3 行 N 列の行列として指定しなければなりません。すべての基準点が同一である場合は、単一の 3 行 1 列のベクトルで refpos を指定できます。

例: [1000;2000;50]

データ型: double

基準点の位置 (メートル単位)。実数値の 3 行 1 列のベクトルまたは実数値の 3 行 N 列の行列として指定します。行列は複数の基準点を表します。列には、[x;y;z] の形式で N 個の点の直交座標が含まれます。

refpos が 3 行 N 列の行列の場合、pos は、N 個の送信位置に対する 3 行 N 列の行列として指定しなければなりません。すべての送信点が同一である場合は、単一の 3 行 1 列のベクトルで pos を指定できます。

位置の単位はメートルです。

例: [100;100;10]

データ型: double

ローカル座標系の座標軸。実数値の 3 行 3 列の行列または 3 x 3 x N の配列として指定します。配列の場合、各ページは各基準点でのローカル座標系の座標軸に対応します。refaxes の列は、直交座標でのローカル座標系の座標軸の方向を指定します。N は、pos または refpos の次元が 1 より大きい場合、それらの列数に一致しなければなりません。

例: rotz(45)

データ型: double

伝播モデル。"freespace" または "two-ray" として指定します。"freespace" を選択すると、自由空間伝播モデルが呼び出されます。"two-ray" を選択すると、2 波伝播モデルが呼び出されます。

データ型: char | string

出力引数

すべて折りたたむ

伝播範囲 (メートル単位)。実数値の 1 行 N 列のベクトルまたは実数値の 1 行 2N 列のベクトルとして返されます。

  • model"freespace" に設定した場合、rng のサイズは 1 行 N 列になります。伝播範囲は、pos で定義された位置から refpos で定義された対応する基準位置までの直接パスの長さです。

  • model"two-ray" に設定した場合、rng には、直接パスと反射パスの範囲が含まれます。rng の列は、送信点と基準点の同じペアに対する見通し内パスと反射パスをそれぞれ 1 つおきに表します。

方位角と仰角 (度単位)。2 行 N 列の行列または 2 行 2N 列の行列として返されます。各列は、[azimuth;elevation] の形式で方向角を表します。

  • model"freespace" に設定した場合、ang は 2 行 N 列の行列となり、送信点から基準点までのパスの角度を表します。

  • model"two-ray" に設定した場合、ang は 2 行 2N 列の行列になります。ang の列は、見通し内パスと反射パスをそれぞれ 1 つおきに表します。

詳細

すべて折りたたむ

拡張機能

すべて展開する

バージョン履歴

R2019b で導入