メインコンテンツ

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

ClutterGenerator

R2026a

クラッター ジェネレーター オブジェクト

R2022a 以降

説明

ClutterGenerator オブジェクトは、radarScenario 内のセンサーのレーダー クラッターを制御および管理するクラッター プロパティとクラッター領域を指定します。センサーの種類には、radarDataGenerator オブジェクトと radarTransceiver オブジェクトが含まれます。

作成

clutterGenerator オブジェクト関数を使用して、クラッター ジェネレーターを作成します。次に、getClutterGenerator オブジェクト関数を使用して、レーダー シナリオ用のクラッター ジェネレーターと、シナリオ内のレーダーに関する情報を取得します。ClutterRegion オブジェクト関数を使用して、クラッター領域を作成します。

プロパティ

すべて展開する

クラッター分布を制御する手法。'Uniform' または 'RangeDopplerCells' として指定します。

  • ScattererDistribution プロパティが 'Uniform' に設定されている場合、Resolution プロパティを使用して、ランダムに生成されたクラッター散乱体の公称間隔を決定します。

  • ScattererDistribution プロパティが 'RangeDopplerCells' に設定されている場合、レンジ-ドップラー分解能セルごとにちょうど 1 つのクラッター散乱体が使用されます。このオプションは、radarTransceiver レーダー モデルでのみ利用可能です。radarTransceiver の NumRepetitions プロパティを使用して、ドップラー ビンの数を指定します。このオプションでは、高さマップされていないサーフェス (地形やスペクトル モデルが関連付けられていない surface オブジェクト) のみを指定できます。このモードを使用すると、パフォーマンスが向上します。

データ型: char | st

クラッター パッチの公称解像度。正のスカラーとして指定します。公称解像度の値は、クラッター関心領域において、そのレーダー システムが達成すると想定される最も細かい地上解像度です。単位はメートルです。

依存関係

このプロパティを有効にするには、ScattererDistribution プロパティを 'Uniform' に設定します。

データ型: double

クラッター生成のレンジ制限。正のスカラーとして指定します。このプロパティは、クラッターが生成される最大地表範囲を指定します。クラッター領域が無限の場合、クラッターの生成はこのレンジに限定されます。単位はメートルです。

データ型: double

クラッター領域としてのビーム フットプリントの使用を有効にする。true または false として指定します。true の場合、メインローブ内のクラッターが自動的に含まれます。カスタム領域を作成するには、ClutterGenerator の ClutterRegion オブジェクト関数を使用します。

true の場合、ClutterRegion などの静的領域に加えて、ビーム フットプリントがクラッター生成に自動的に使用されます。その際、レーダー ビームとシナリオ表面の交差範囲においてクラッターが生成されます。

  • radarTransceiver が送信アンテナ センサーとして phased.ULA を使用する場合、扇形のビームが想定され、アレイ軸に垂直な平面内で 3 dB ビーム幅が測定されます。他のアレイ タイプを使用する場合は、円錐ビーム形状が想定され、方位角方向と仰角方向の両方で 3 dB ビーム幅が測定されます。

  • radarDataGenerator を使用する場合、EffectiveFieldOfView プロパティによって、方位角方向と仰角方向のビーム幅が決まります。

いずれの場合も、ビーム フットプリントをクラッター生成に使用するためには、ビーム幅が厳密に 180° 未満でなければなりません。

データ型: logical

クラッター生成時の表面自己オクルージョンを有効にする。true または false として指定します。表面自己オクルージョンは、シャドウイングと呼ばれます。

データ型: logical

この プロパティ は読み取り専用です。

生成されたシナリオの領域。RingClutterRegion として返されます。クラッター領域は複数存在する可能性があります。

この プロパティ は読み取り専用です。

クラッターが生成されるレーダー センサー。radarDataGenerator または radarTransceiver オブジェクトとして返されます。レーダー センサーは複数存在する可能性があります。

乱数発生に使用されるシードのソース。'Auto' または 'Property' として指定します。'Auto' の場合、グローバル乱数発生器が使用されます。'Property' の場合、Seed プロパティで指定されたシード値と共にローカル乱数発生器が使用されます。

データ型: char | string

乱数発生に使用されるシード値。スカラーとして指定します。シード値はこの乱数発生器に対してローカルです。

依存関係

このプロパティを有効にするには、SeedSource プロパティを 'Property' に設定します。

データ型: double

オブジェクト関数

findClutterSampleIndicesClutter sample indices
getClutterGeneratorObtain clutter generator belonging to a radar
ringClutterRegionリング クラッター領域

例

すべて折りたたむ

2 つのクラッター領域をもつ表面からクラッターを生成します。まず、radarDataGenerator を作成します。レーダー周波数 1 GHz、レンジ分解能 100 メートル、パルス繰り返し周波数 (PRF) 5 kHz、およびパルス数 128 を使用します。ビームは対称で、方位角と仰角の両側のビーム幅は 4 度とします。

fc = 1e9;
rangeRes = 100;
prf = 5e3;
numPulses = 128;
beamwidth = 4;

PRF とパルス数を使用して、公称ドップラー分解能とレンジレート分解能を計算します。レーダーは、コヒーレント処理間隔 (CPI) ごとに 1 回更新されます。

dopRes = prf/numPulses;
lambda = freq2wavelen(fc);
rangeRateRes = dop2speed(dopRes,lambda)/2;
cpiTime = numPulses/prf;

rdr = radarDataGenerator(1,'No scanning','UpdateRate',1/cpiTime, ...
    'DetectionMode','Monostatic','TargetReportFormat','Detections', ...
    'DetectionCoordinates','Scenario', ...
    'HasINS',true,'HasElevation',true,'HasFalseAlarms',false, ...
    'HasNoise',false,'HasRangeRate',true, ...
    'HasRangeAmbiguities',true,'HasRangeRateAmbiguities',true, ...
    'CenterFrequency',fc,'FieldOfView',beamwidth, ...
    'AzimuthResolution',beamwidth,'ElevationResolution', ...
    beamwidth,'RangeResolution', ...
    rangeRes,'RangeRateResolution',rangeRateRes, ...
    'ReferenceRange',20e3,'ReferenceRCS',0, ...
    'DetectionProbability',0.9);

radarScenario オブジェクトを使用してシナリオを作成し、シーン内のセンサーから更新間隔が導出されるように更新頻度をゼロに設定します。

scenario = radarScenario('UpdateRate',0,'IsEarthCentered',false);

次に、シナリオの表面を作成します。平地に適したガンマ値をもつ、定数ガンマ反射率モデルを選択します。このガンマ値は、surfacegamma 関数を使用して求めることができます。この値を使用して surfaceReflectivityLand オブジェクトを作成し、the RadarReflectivity プロパティを使用して LandSurface に追加します。

gammaDB = surfacegamma('Flatland');
refl = surfaceReflectivityLand('Model','ConstantGamma', ...
    'Gamma',gammaDB);
landSurface(scenario,'RadarReflectivity',refl);

シナリオに 2 つのクラッター領域を追加します。clutterGenerator オブジェクト関数を使用してクラッター ジェネレーターを作成し、レーダーのクラッター生成を有効にします。Resolution プロパティは、クラッター パッチの公称間隔を定義します。レンジ ゲートごとに複数のクラッター パッチを取得するために、これをレンジ分解能の 1/5 に設定します。レンジ制限を 20km に設定します。UseBeam は、アンテナ パターンのメインローブに対してクラッター生成を自動的に実行するかどうかを示します。

cluttergen = clutterGenerator(scenario,rdr,'Resolution', ...
    rangeRes/5,'RangeLimit',20e3,'UseBeam',true);
rgn1 = ringClutterRegion(cluttergen,1000,10000,30,45);
rgn2 = ringClutterRegion(cluttergen,1000,10000,30,105);

getClutterGenerator 関数は、シナリオに属する 2 つのリング状のクラッター領域を表示します。

getClutterGenerator(scenario,rdr)
ans = 
  ClutterGenerator with properties:

    ScattererDistribution: "Uniform"
               Resolution: 20
                  Regions: [1×2 radar.scenario.RingClutterRegion]
                  UseBeam: 1
             UseShadowing: 1
               RangeLimit: 20000
                    Radar: [1×1 radarDataGenerator]
               SeedSource: "Auto"

バージョン履歴

R2022a で導入