3

ドップラー シフト レーダーでノイズ フィルタリングをシミュレートしようとしています。レーダーに対して 25 m/s 未満で移動するオブジェクト (接近または遠ざかる) を除外する必要があります。レーダーによる検出を回避するには、次の 2 つの方法があります。対象物が任意の方向に移動しているが、速度は 25 m/s 未満である場合、または任意の速度で移動しているが、レーダーに対して垂直 (または旋回) している場合。どちらの場合も、静止レーダーに対する物体の半径方向速度は 25 m/s 未満である必要があり、レーダーをだましてノイズとして除去させます。オブジェクトの位置と速度ベクトル (2D および 3D) を知っています。私は数学に関しては完全な馬鹿なので、これを理解することはできません. 何か助けてください。

編集:不適切な形式の質問。レーダーに対する真の放射状速度を取得し、25 m/s より速く移動しているが、レーダーへの放射状速度が 25 m/s 未満になるような相対的な方向にあるオブジェクトをフィルター処理したいと考えています。1 つの例として、30 m/s で移動し、レーダーに垂直な 45 度で移動するオブジェクトは除外されますが、オブジェクトが 300 m/s で移動している場合は除外されません。

4

2 に答える 2

5

Luaはわかりませんが、これは純粋に数学的な質問なので、数学的な擬似コードで十分です。

rレーダーxの位置、オブジェクトの位置、オブジェクトの速度ベクトルv(メートル/秒単位)とします。これらはすべて、2次元または3次元で作業しているかどうかに応じて、2次元または3次元のベクトルです。

速度条件は非常に簡単です。速度ベクトルのノルムvを取得して、25 m/sのしきい値と比較するだけです。

オブジェクトがレーダーを周回しているかどうかを確認するには、レーダーからオブジェクトまでのベクトルを計算し、x-rそれが速度ベクトルに垂直であるかどうかを確認します。これを行うには、2つのベクトルが垂直になるとゼロになるスカラー積を計算します。実際には、ゼロより大きい小さなしきい値を使用して、2つのベクトルをわずかに非垂直にすることができます。

pseduo-codeでは、これは次のようになります。

if v.norm()<25 or v.scalar_product(x-r)<0.05
    Ignore object
end

Luaでノルムスカラー積を計算する方法を見つける必要があります(または、それが失敗した場合は、リンクされたページで説明されているように自分で計算します)。

編集した質問への回答(閉鎖速度)

スカラー積は、変更された質問にも役立ちます。閉鎖速度は次のように取得します。

v_closure = v.scalar_product(r-x)/norm(r-x)

結果は符号付きであることに注意してください。オブジェクトがレーダーに向かって移動している場合は正、レーダーから離れている場合は負になります。次に、次のようにノイズフィルタリングチェックを行います。

if abs(v_closure)<25
    Ignore object
end

したがって、ある意味で、この変更されたテストは元のバージョンよりもさらに単純です。

于 2013-01-22T16:01:38.457 に答える