计算径向速度

Rag*_*rDa 3 math lua physics

我试图在多普勒频移雷达中模拟噪声滤波.它应该过滤掉相对于雷达低于25米/秒的物体(接近或移开).应该有两种避免雷达探测的方法:如果物体在任何方向上移动但速度低于25米/秒,或以任何速度移动但垂直于(或更确切地说,盘旋)雷达.在这两种情况下,物体相对于固定雷达的径向速度应低于25 m/s,因此愚弄雷达将其滤除为噪声.我知道物体位置和速度矢量(2D和3D).谈到数学,我是一个完全白痴,所以我无法理解这一点.有什么帮助吗?

编辑:形成错误的问题.我想获得相对于雷达的真实径向速度和过滤速度超过25 m/s的物体,但是相对航向会使雷达的径向速度小于25 m/s.一个例子可能是以30米/秒的速度移动并且垂直于雷达45度的物体将被滤除,但如果物体以300米/秒的速度移动则不会被过滤掉.

Mar*_*n B 5

我不知道任何Lua,但由于这是一个纯粹的数学问题,数学伪代码应该足够了.

r是雷达的位置,x是该对象的位置,并且v是该对象的速度矢量(在每秒米为单位).所有这些都是二维或三维向量,取决于您是在二维还是三维工作.

速度条件非常简单:只需取速度矢量的范数,v并将其与25 m/s的阈值进行比较.

为了确定物体是否在环绕雷达,计算从雷达到物体的矢量,即x-r检测它是否垂直于速度矢量; 你通过计算标量积来做到这一点,当两个向量垂直时,标量积变为零.在实践中,您将使用大于零的小阈值以允许两个矢量略微不垂直.

在pseduo代码中,这变为:

if v.norm()<25 or v.scalar_product(x-r)<0.05
    Ignore object
end
Run Code Online (Sandbox Code Playgroud)

您将不得不了解如何在Lua中计算规范标量产品(或者,如果没有,请按链接页面中的描述自行计算).

回答编辑的问题(关闭速度)

标量产品也可以用于修改后的问题.你得到闭合速度为

v_closure = v.scalar_product(r-x)/norm(r-x)
Run Code Online (Sandbox Code Playgroud)

请注意,结果是有符号的 - 如果物体朝向雷达移动则为正,如果物体远离它则为负.然后你会像这样进行噪音过滤检查:

if abs(v_closure)<25
    Ignore object
end
Run Code Online (Sandbox Code Playgroud)

所以在某种意义上,这个修改过的测试甚至比原始版本更简单.