math - 计算径向速度

标签 math lua physics

我正在尝试模拟多普勒频移雷达中的噪声过滤。它应该过滤掉相对于雷达移动速度低于 25 m/s 的物体(接近或远离)。应该有两种避免雷达检测的方法:如果物体以低于 25 m/s 的速度向任何方向移动,或者以任何速度移动但垂直于(或更确切地说,环绕)雷达。在这两种情况下,物体相对于静止雷达的径向速度应低于 25 m/s,从而欺骗雷达将其作为噪声滤除。我知道物体的位置和速度矢量(2D 和 3D)。说到数学,我完全是个白痴,所以我无法理解这个问题。有什么帮助吗?

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

最佳答案

我不懂任何 Lua,但由于这是一个纯数学问题,数学伪代码应该足够了。

r是雷达的位置,x是物体的位置,v是物体的速度矢量(在单位米每秒)。所有这些都是二维或三维向量,具体取决于您是在二维还是三维中工作。

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

要判断物体是否在雷达周围,计算从雷达到物体的矢量,即x-r,并检查它是否垂直于速度矢量;你通过计算 scalar product 来做到这一点,当两个向量垂直时变为零。在实践中,您会使用一个大于零的小阈值来允许两个向量稍微不垂直。

在伪代码中,这变成了:

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

您必须了解如何计算 normsscalar products在 Lua 中(或者,如果失败,请按照链接页面中的描述自行计算)。

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

标量积对于您修改后的问题也很有用。您获得闭合速度为

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

请注意,结果是带符号的——如果物体正向雷达移动,则为正,如果远离雷达,则为负。然后,您将像这样进行噪声过滤检查:

if abs(v_closure)<25
    Ignore object
end

所以从某种意义上说,这个修改后的测试比原来的版本更简单。

关于math - 计算径向速度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14462511/

相关文章:

java - 如何通过Java中的纬度/经度点计算两条相交线之间的角度?

javascript - 是否可以使用 Lua/Javascript 脚本使用新变量扩展 C# 对象?

shell - 在 Lua 中使用 %q 来转义 shell 参数有多好?

javascript - 土星环 - 初始条件

python - 使用python将 Spring 物理学应用于四元数

algorithm - 在 GF(2^M) 中选择一个有界均匀随机值,无需求幂或表格

matlab - 使用 MATLAB 将对数螺旋图像的白色部分转换为散点图

algorithm - 如何计算大小为n、设置了k位且位值发生c次变化的位序列有多少个?

c++ - 如何使用 SWIG 为 C++ std::vector 生成 Lua 迭代器?

python - 边界条件