计算径向速度。
2013-1-23 13:16:3
收藏:0
阅读:149
评论:2
我正在尝试模拟多普勒雷达中的噪声过滤。它应该过滤相对于雷达移动速度低于25 m/s(向前或向后移动)的物体。有两种方法可以避免雷达检测:如果物体向任何方向移动但速度低于25 m/s或者物体垂直于(或者说是绕圈)雷达运动,两种情况下,物体的径向速度相对于静止的雷达应该低于25 m/s,这样就可以愚弄雷达将其过滤为噪音。我知道物体的位置和速度矢量(2D和3D)。当涉及到数学时,我完全是个笨蛋,因此无法理解。请帮帮我?
编辑:问题有误。我想获取相对于雷达的真实径向速度,并过滤掉移动速度大于25 m/s但相对速度朝向雷达的情况。一个例子可能是一个以30 m/s速度向45度垂直于雷达移动的物体会被过滤掉,但如果这个物体以300 m/s的速度移动就不会被过滤。
点赞
用户88888888
伟大的答案,马丁,不过另外一个可能简化的方法,考虑到你必须计算 cos(theta),是否可以简化为
v_closure = norm(v)Cos(Theta)
其中Theta是(r-x)和v之间的角度。
2013-06-19 14:33:17
评论区的留言会收到邮件通知哦~
推荐文章
- 如何将两个不同的lua文件合成一个 东西有点长 大佬请耐心看完 我是小白研究几天了都没搞定
- 如何在roblox studio中1:1导入真实世界的地形?
- 求解,lua_resume的第二次调用继续执行协程问题。
- 【上海普陀区】内向猫网络招募【Skynet游戏框架Lua后端程序员】
- SF爱好求教:如何用lua实现游戏内调用数据库函数实现账号密码注册?
- Lua实现网站后台开发
- LUA错误显式返回,社区常见的规约是怎么样的
- lua5.3下载库失败
- 请问如何实现文本框内容和某个网页搜索框内容连接,并把网页输出来的结果反馈到另外一个文本框上
- lua lanes多线程使用
- 一个kv数据库
- openresty 有没有比较轻量的 docker 镜像
- 想问一下,有大佬用过luacurl吗
- 在Lua执行过程中使用Load函数出现问题
- 为什么 neovim 里没有显示一些特殊字符?
- Lua比较两个表的值(不考虑键的顺序)
- 有个lua简单的项目,外包,有意者加微信 liuheng600456详谈,最好在成都
- 如何在 Visual Studio 2022 中运行 Lua 代码?
- addEventListener 返回 nil Lua
- Lua中获取用户配置主目录的跨平台方法
我不懂 Lua,但既然这是一个纯数学问题,数学伪代码应该就足够了。
设
r为雷达的位置,x为物体的位置,v为物体的速度向量(以米每秒为单位)。所有这些向量都是二维或三维的,取决于你是在二维还是三维中工作。速度条件非常容易:只需取速度向量
v的 范数,并将其与 25 米/秒的阈值进行比较即可。要找出物体是否围绕雷达旋转,请计算从雷达到物体的向量,即
x-r,并检查它是否垂直于速度向量;你可以通过计算 数量积 来完成这一点,当两个向量垂直时,数量积为零。在实践中,您可以使用大于零的小阈值,以允许这两个向量略微不垂直。在伪代码中,它变成了:
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因此,在某种程度上,这个修改后的测试甚至比原始版本更简单。