メインコンテンツ

arrayfactor

R2026b

センサー アレイのアレイ因子

R2022a 以降

    説明

    af = arrayfactor(pos,ang) は、位置 pos に配置された素子アレイおよび到来方向 ang に対するアレイ因子 af を返します。アレイ因子とアレイ応答については、Element and Array Radiation and Response Patternsを参照してください。

    例

    af = arrayfactor(pos,ang,wts) は、アレイのステアリング重み wts も指定します。

    例

    例

    すべて折りたたむ

    100 MHz で動作するステアリングなしの 8 素子 ULA のアレイ因子を計算します。素子は 0.4 波長の間隔で配置されています。

    freq = 100e6;
    c = physconst('LightSpeed');
    lam = c/freq;
    pos = (0:7)*0.4;
    ang = -90:90;
    af = arrayfactor(pos,ang);
    plot(ang,mag2db(abs(af.')))
    xlabel('Angle (deg)')
    ylabel('Array pattern (dB)')
    ylim([-30 20])
    title('Array Factor of Unsteered Uniform Linear Array')

    Figure contains an axes object. The axes object with title Array Factor of Unsteered Uniform Linear Array, xlabel Angle (deg), ylabel Array pattern (dB) contains an object of type line.

    半波長間隔で配置された 8 素子 ULA のアレイ ビーム パターンを表示します。アレイを -30 度、0 度、30 度に指向させます。

    ULA の素子の位置を設定します。

    pos = (0:7)*0.5;

    ステアリング方向の重みを定義します。

    angsteer = [-30 0 30];
    wsteer = steervec(pos,angsteer);

    すべての角度において、各ステアリング方向に対するアレイ因子を計算します。

    ang = -90:90;
    af = arrayfactor(pos,ang,wsteer);

    各ステアリング方向に対するアレイ因子をプロットします。

    plot(ang,mag2db(abs(af.')))
    xlabel('Angle (deg)')
    ylabel('Beam pattern (dB)')
    ylim([-50 20])
    legend('Steer to -30 deg','Steer to 0 deg','Steer to 30 deg')

    Figure contains an axes object. The axes object with xlabel Angle (deg), ylabel Beam pattern (dB) contains 3 objects of type line. These objects represent Steer to -30 deg, Steer to 0 deg, Steer to 30 deg.

    入力引数

    すべて折りたたむ

    センサー アレイの素子の位置。1 行 N 列のベクトル、2 行 N 列の行列、または 3 行 N 列の行列として指定します。このベクトルまたは行列において、N はアレイの素子の数を表します。pos の各列は、素子の座標を表します。pos は、1 行 N 列のベクトルである場合、ライン アレイのセンサー素子の y 座標を表します。x 座標と z 座標はゼロであると仮定されます。pos は、2 行 N 列の行列である場合、平面アレイのセンサー素子の (y,z) 座標を表します。このアレイは yz 平面内に配置されると仮定されます。x 座標はゼロであると仮定されます。pos が 3 行 N 列の行列である場合、アレイは任意の形状にできます。センサーの位置は、信号の波長を単位とします。

    例: [0,0,0; 0.1,0.4,0.3; 1,1,1]

    データ型: double

    入力信号の到来方向。1 行 M 列のベクトル、または 2 行 M 列の行列として指定します。ここで、M は入力信号の数です。ang が 2 行 M 列の行列である場合、各列は、入力信号の方向を方位角と仰角 [az;el] で指定します。方位角は -180° ~ 180°、仰角は -90° ~ 90° の範囲でなければなりません。方位角は、x 軸と、到来方向ベクトルの xy 平面への投影との間の角度です。x 軸から y 軸に向かって測定する場合に正になります。仰角は、到来方向ベクトルと xy 平面との間の角度です。z 軸に向かって測定する場合に正になります。ang は、1 行 M 列のベクトルである場合、方位角のセットを表し、仰角は 0 と仮定されます。角度の単位は度で指定します。

    例: [45;0]

    データ型: double

    アレイの重み。複素数値の N 行 1 列のベクトル、または複素数値の N 行 L 列の行列として指定します。wts の各列は、アレイの異なる重みセットに対応します。L は重みセットの数です。

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

    出力引数

    すべて折りたたむ

    センサー アレイのアレイ因子。1 行 M 列の複素数値のベクトル、または L 行 M 列の複素数値の行列として返されます。各列には、異なる重みセット wts に対するアレイ因子が格納されます。各行は、ang で指定された角度のいずれかに対応します。

    参照

    [1] Van Trees, Harry L. Detection, Estimation, and Modulation Theory. 4: Optimum Array Processing. Wiley, 2002.

    [2] Johnson, Don H. and D. Dudgeon. Array Signal Processing. Englewood Cliffs, NJ: Prentice Hall, 1993.

    [3] Van Veen, B.D. and K. M. Buckley. “Beamforming: A versatile approach to spatial filtering”

    拡張機能

    すべて展開する

    C/C++ コード生成
    MATLAB® Coder™ を使用して C および C++ コードを生成します。

    バージョン履歴

    R2022a で導入