ToF原理记录

目录

    • 1. ToF是什么?
    • 2. ToF深度测量原理
      • 2.1 脉冲调制法
      • 2.2 连续波调制法

1. ToF是什么?

飞行时间(Time-of-Flight,ToF)基本原理是通过连续发射光脉冲(一般为不可见光)到目标物体上,然后接收从物体反射回来的光脉冲,通过探测光脉冲往返的飞行时间来计算被测物体的距离。其根据调制方法的不同,一般可分为两种:脉冲调制(Pulsed Modulation)和连续波调制(Continuous Wave Modulation)。

2. ToF深度测量原理

2.1 脉冲调制法

在这里插入图片描述

图1.脉冲调制法测距原理图

脉冲调制法一般采用方波脉冲,是通过计时器直接计算脉冲发射和接收的时间差,进而求得距离。这种测量方法简单,响应较快,但是对物理器件性能要求很高,对时间测量精度要求也较高。

在这里插入图片描述

在脉冲调制方案中,一般采用方波调制的照射光源,在数字电路中较容易实现。光探测器的每一个像素都是由一个将入射光转换为电流感光单元组成,连接2个由调解模块控制的开关(图3中的G0和G1)可以把电流导入不同的可以储存电荷的电容(图3中的C1和C2)里根据图2和图3可知,在测距过程中,当激光器发射光脉冲的同时,高频开关调到G1、光敏元件连接C1电容、产生相位A的脉冲窗口,C1电容开始接收电荷,一个光脉冲发射完毕,开关调到G0、光敏元件连接C2电容、产生另一个延迟相位B的脉冲窗口,C2电容开始接收电荷。根据电容C1和C2中各自存储的电荷量就可计算得到目标物体和ToF的距离。记光的速度为 c c c t p t_p tp为光脉冲的持续时间, Q 1 Q_1 Q1表示C1电容收集的电荷量, Q 2 Q_2 Q2表示C2电容收集的电荷量, t d t_d td表示光脉冲从发射、反射到被接收的飞行时间,则距离 d d d的计算如下:
t d = t p × Q 2 Q 1 + Q 2 t_d = t_p\times\frac{Q_2}{Q_1+Q_2} td=tp×Q1+Q2Q2

d = c × t d 2 d = \frac{c\times{t_d}}{2} d=2c×td

在实际场景中由于单个光脉冲的持续时间非常短,所以单帧测量时间内上面所述的发射、接收过程会重复几千次,直到达到曝光时间,将不同电容接收的电荷量进行积分,然后用上面公式的方法计算出脉冲飞行时间,从而得到目标距离

  • 最小可测量距离 d m i n d_{min} dmin:物体距离很近,光脉冲从发射到被反射接收的过程很快,在较早的采样周期内电容C1就收集了所有的电荷,而在延迟的采样周期内电容C2没有收集电荷,即 E 2 = 0 E_2=0 E2=0,代入公式会得到 d m i n = 0 d_{min}=0 dmin=0
  • 最大可测量距离 d m a x d_{max} dmax:物体距离远,较早的采样周期内光脉冲还没发射到接收器处,即电容C2收集了所有电荷,电容C1中根本没有收集到电荷。然后根据公式可得 d m a x = 0.5 × c × t p d_{max}=0.5\times{c}\times{t_p} dmax=0.5×c×tp,因此最大可测量距离是由光脉冲宽度决定的。例如, t p = 50 n s t_p=50ns tp=50ns,代入上式可得到 d m a x = 0.5 × ( 3 × 1 0 8 m / s ) × ( 5 × 1 0 − 8 s ) = 7.5 m d_{max}=0.5\times(3\times10^8m/s)\times(5\times10^{-8}s)=7.5m dmax=0.5×(3×108m/s)×(5×108s)=7.5m

🔔 相位模糊现象

下图中Case 1为正常情况下的脉冲ToF测距场景,但当测量距离较远,光脉冲飞行一个来回的时间超过了两次连续发射脉冲的间隔,传感器在发射第二个光脉冲后才接收到第一个光脉冲的反射波,就会把该反射波错认为是第二个光脉冲的近距离反射波,这时就会出现相位模糊现象,如Case 2。相位模糊现象会限制ToF的有效探测距离。在测量远距离物体时,可以适当降低测量频率、增加两次测量之间的距离、减少测量次数。但是,减少测量次数会同时降低测量精度,相当于是用精度换取有效探测距离。

在这里插入图片描述

这种方法对物理器件性能要求很高,控制开关的时钟精度要求非常高,要产生高精度、高重复性的高频脉冲,照射单元和ToF传感器均需要高速信号的控制,才能实现高精度的深度测量。

2.2 连续波调制法

在连续波调制法中,一般采用连续正弦波调制,通过光源不断发射调制过的红外激光,光束经被测物体表面反射后,有一部分光线按原路径返回并被探测器接收,由于发射、接收信号之间存在相位差,因此可以通过相位差检测技术间接地计算光的飞行时间差。

在这里插入图片描述

图4.连续波调制法测距原理图

与脉冲波调制不同的是,连续波调制法每次测量获取多个样本,每个样本之间相位差为90°,共采4个样本,分别是C1-C4,大部分的ToF都是使用这种方法,即4相法,这样在数字运算中比较容易实现。

在这里插入图片描述

假设发射的信号 s ( t ) s(t) s(t)的振幅是 A e A_e Ae,正弦波调制的频率是 f f f,经过 Δ t \Delta{t} Δt时间延迟之后收到的正弦信号为 r ( t ) r(t) r(t),光信号能量衰减后的振幅为 A r A_r Ar,由环境光、系统内部偏移引起的偏移为 B r B_r Br。连续波深度传感器发送的正弦波信号可以表示为:
s ( t ) = A e ( 1 + s i n ( 2 π f t ) ) s(t)=A_e(1+sin(2\pi{ft})) s(t)=Ae(1+sin(2πft))
信号 s ( t ) s(t) s(t)遇到目标物体会发生反射,有一部分光线沿原路径返回并被传感器所接收,会有一个相位延迟 Δ φ \Delta{\varphi} Δφ,因此反射后的信号可表示为:
r ( t ) = A r ( 1 + s i n ( 2 π f t − Δ φ ) ) + B r r(t)=A_r(1+sin(2\pi{ft}-\Delta{\varphi}))+B_r r(t)=Ar(1+sin(2πftΔφ))+Br
4次采样(C1-C4)时间间隔T/4,即采样时间分别为0,1/4T,1/2T,3/4T。所以4次采样所接收的信号可以表示为:
r i = r ( t ) = A r s i n ( 2 π f t − Δ φ ⏟ i π 2 − Δ φ ) + ( A r + B r ) , i = 0 , 1 , 2 , 3 r_i=r(t)=A_rsin(\underbrace{2\pi{ft}-\Delta{\varphi}}_{\frac{i\pi}{2}-\Delta{\varphi}})+(A_r+B_r),i=0,1,2,3 ri=r(t)=Arsin(2Δφ 2πftΔφ)+(Ar+Br),i=0,1,2,3
从而可以得到下列方程式:
{ r 2 − r 0 = A r s i n ( π − Δ φ ) − A r s i n ( − Δ φ ) = 2 A r s i n Δ φ r 1 − r 3 = A r s i n ( π 2 − Δ φ ) − A r s i n ( 3 π 2 − Δ φ ) = 2 A r c o s Δ φ \begin{cases} r_2-r_0=A_rsin(\pi-\Delta{\varphi})-A_rsin(-\Delta{\varphi})=2A_rsin\Delta{\varphi} \\ r_1-r_3=A_rsin(\frac{\pi}{2}-\Delta{\varphi})-A_rsin(\frac{3\pi}{2}-\Delta{\varphi})=2A_rcos\Delta{\varphi} \end{cases} {r2r0=Arsin(πΔφ)Arsin(Δφ)=2ArsinΔφr1r3=Arsin(2πΔφ)Arsin(23πΔφ)=2ArcosΔφ
从而计算出 Δ φ \Delta{\varphi} Δφ的值:
Δ φ = a r c t a n ( r 2 − r 0 r 1 − r 3 ) = a r c t a n ( Q 2 − Q 1 Q 3 − Q 4 ) \Delta{\varphi}=arctan\left(\frac{r_2-r_0}{r_1-r_3}\right)=arctan\left(\frac{Q_2-Q_1}{Q_3-Q_4}\right) Δφ=arctan(r1r3r2r0)=arctan(Q3Q4Q2Q1)
可以看出,电荷量 Q 3 − Q 4 Q_3-Q_4 Q3Q4 Q 2 − Q 1 Q_2-Q_1 Q2Q1可以抵消由测量器件或者环境光而引起的固定偏差,这二者的比值则可以消除距离测量中增益常量的影响,比如系统中的放大或衰减、或者反射的强度。由此也能计算得到测量距离:
d = c × Δ t 2 = c × Δ φ 4 π f d=\frac{c\times\Delta{t}}{2}=\frac{c\times{\Delta{\varphi}}}{4\pi{f}} d=2c×Δt=4πfc×Δφ
信号衰减后的振幅 A r A_r Ar和信号强度偏移 B r B_r Br可得:
{ A r = ( Q 3 − Q 4 ) 2 + ( Q 2 − Q 1 ) 2 2 B r = Q 1 + Q 2 + Q 3 + Q 4 4 − A r \begin{cases} A_r=\frac{\sqrt{(Q_3-Q_4)^2+(Q_2-Q_1)^2}}{2} \\ B_r=\frac{Q_1+Q_2+Q_3+Q_4}{4}-A_r \end{cases} {Ar=2(Q3Q4)2+(Q2Q1)2 Br=4Q1+Q2+Q3+Q4Ar

反射波振幅 A r A_r Ar与偏移 B r B_r Br会影响到深度测量精度,深度值方差可由下式进行估计:
σ = c 4 2 π f × A r + B r c d × A r \sigma=\frac{c}{4\sqrt{2}\pi{f}}\times{\frac{\sqrt{A_r+B_r}}{c_d\times{A_r}}} σ=42 πfc×cd×ArAr+Br
调制常量为 c d c_d cd,其表示ToF传感器分离和收集光电信号的好坏程度。由该方差公式可知,大幅度 A r A_r Ar、高调制频率 f f f和高的调制对比度(即低的 B r B_r Br,调制对比度指调制信号的最大振幅和最小振幅之间的比率, B r B_r Br可以影响调制对比度,环境光会增加背景噪声,从而降低调制对比度;系统内部偏移也会导致信号的失真,降低调制对比度,因此ToF系统需要适当的信号处理和校准来抵消这些影响)可以增加测量精度。此外,在高频的情况下,由于芯片硅半导体的特性,会导致调制对比度衰减。连续波调制的测量是基于相位的,每 2 π 2\pi 2π重复一次,距离会产生锯齿(相位模糊现象),而产生锯齿的距离被称为模糊距离,可用下面公式表示:
d a m b = c 2 f d_{amb}=\frac{c}{2f} damb=2fc
所以最大的有效观测距离就是 d a m b d_{amb} damb,若需要增加有效观测距离,和脉冲调制法一样的,需要减小调制的频率,同样这样会导致测量精度下降。但是,连续波ToF可以利用双频解决相位模糊现象,利用两个不同频率的测量数据去求解相位模糊度,从而恢复正确深度值。借助双频测量可以同时实现高精度测量和高有效探测距离

相对于脉冲波调制方案,连续波调制法要求更低而测量精度更高,因而大多数采用连续波调制法。


以上资料来自ToF与立体视觉技术相结合的三维重建方法研究_知网

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/704844.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

《大道平渊》· 拾叁 —— 失眠?忍不住乱想?不如反其道而行之!

《平渊》 拾叁 "睡觉的时候就是要胡思乱想" 声明:以下内容针对非失眠症人群,如果失眠不是偶尔发生,而是长期存在,以下内容和你无关,请尽早治疗,遵循医嘱。 失眠的本质是什么?心理因素…

刚实习的大学生如何避免招聘骗局?

大学生在求职过程中,常常成为招聘骗局的受害者。为了避免这种情况,大学生需要提高警惕,采取一系列措施来防范招聘骗局。以下是一些建议: 首先,大学生应当保持警惕,不轻信招聘信息。在求职时,务…

6.8日志系统

当做大型项目的时候,出了bug可能需要借助于日志检查,小项目一般是打断点。 服务器是一直在运行的,不能停止,可以借助于日志检查错误。 日志分为两种:业务级别的日志(供用户分析业务过程)&…

pioneer电源维修PM33213BP-10P-1-6PH-H

开关电源出现不启振的时候,我们通常需要查看开关频率是否正确、保护电路是否断路、电压反馈电路、电流反馈电路又没问题,开关管是否击穿等。 电源维修实践中,有许多开关电源采用UC38系列8脚PWM组件,大多数电源不能工作都是因为电…

基于单片机的多功能智能小车设计

第一章 绪论 1.1 课题背景和意义 随着计算机、微电子、信息技术的快速发展,智能化技术的发展速度越来越快,智能化与人们生活的联系也越来越紧密,智能化是未来社会发展的必然趋势。智能小车实际上就是一个可以自由移动的智能机器人,比较适合在人们无法工作的地方工作,也可…

JVM产生FullGC的原因有哪些?

JVM产生FullGC的原因有哪些? 在Java虚拟机(JVM)中,垃圾回收(Garbage Collection,简称GC)是一个非常重要的机制。GC的目的是自动管理内存,回收不再使用的对象,防止内存泄…

python数据分析-房价数据集聚类分析

一、研究背景和意义 随着房地产市场的快速发展,房价数据成为了人们关注的焦点。了解房价的分布特征、影响因素以及不同区域之间的差异对于购房者、房地产开发商、政府部门等都具有重要的意义。通过对房价数据的聚类分析,可以深入了解房价的内在结构和规…

Android低代码开发 - 直接创建一个下拉刷新列表界面

看了我Android低代码开发 - 让IDE帮你写代码这篇文章的小伙伴,大概都对Dora全家桶开发框架有基本的认识了吧。本篇文章将会讲解如何使用dora-studio-plugin快捷创建一个下拉刷新列表界面。 效果演示 这样直接通过图形界面的方式就创建好了下拉刷新上拉加载空态界面…

如何高效管理和监控 Elasticsearch 别名及索引?

0、引言 在 Elasticsearch 项目中,管理和监控索引是开发者的一项重要任务。 尤其是当我们需要在项目的管理部分展示索引和别名的统计信息时,了解如何有效地列出这些别名和索引显得尤为重要。 本篇博客将介绍几种在 Elasticsearch 中列出别名和索引的方法…

用表头设置控制表格内列的排序和显示隐藏

项目背景 : react ant 需求 : 点击表头设置弹窗 , 拖拽可控制外部表格列的排序 , 开关可控制外部表格列的显示和隐藏 实现效果如下 :注意 : 1. 拖拽效果参考了ant-table中的拖拽效果(这块代码放最后) 2. 后台反了json格式(用is_show控制显示和隐藏 , 我给他传…

【应用案例】如何解决无人驾驶车辆的动力转向问题

埃尔朗根-纽伦堡大学名称为高能赛车运动队(High-Octane Motorsports e.V.)的学生方程式车队都设计、构建和制造具有创新意义且独特的赛车。然后,他们将参加三种不同类别的大学生方程式比赛;该项赛事中的参赛队伍来自于世界各地。 电动、无人驾驶和燃油车…

17.路由配置与页面创建

路由配置与页面创建 官网:https://router.vuejs.org/zh/ Vue Router 和 组合式 API | Vue Router (vuejs.org) 1. 修改index.ts import { RouteRecordRaw, createRouter, createWebHistory } from "vue-router"; import Layout from /layout/Index.vueco…

python长方形周长面积 2024年3月青少年编程电子学会python编程等级考试二级真题解析

目录 python长方形周长面积 一、题目要求 1、编程实现 2、输入输出 二、算法分析 三、程序代码 四、程序说明 五、运行结果 六、考点分析 七、 推荐资料 1、蓝桥杯比赛 2、考级资料 3、其它资料 python长方形周长面积 2024年3月 python编程等级考试级编程题 一、…

linux系统宝塔服务器temp文件夹里总是被上传病毒php脚本

目录 简介 上传过程 修复上传漏洞 tmp文件夹总是被上传病毒文件如下图: 简介 服务器时不时的会发送短信说你服务器有病毒, 找到了这个tmp文件, 删除了之后又有了。 确实是有很多人就这么无聊, 每天都攻击你的服务器。 找了很久的原因, 网上也提供了一大堆方法,…

天锐绿盾 | 无感知加密软件、透明加密系统、数据防泄漏软件

摘要:文件加密软件,包含禁止非授权的文件泄密和抄袭复制解决方案即使被复制泄密都是自动加密无法阅读,透明加密,反复制软件,内网监控,文件加密,网络安全方案,透明文件加密,加密文件,图纸加密,知识产权保护,加密数据; 通过绿盾信息安全管理软件,系统在不改…

2024/06/13--代码随想录算法2/17| 62.不同路径、63. 不同路径 II、343. 整数拆分 (可跳过)、96.不同的二叉搜索树 (可跳过)

62.不同路径 力扣链接 动态规划5步曲 确定dp数组(dp table)以及下标的含义: dp[i][j] :表示从(0 ,0)出发,到(i, j) 有dp[i][j]条不同的路径。确定递推公式,dp[i][j] d…

Java——递归

一、递归介绍 1、什么是递归 递归在Java编程中是指一个方法调用自身的编程技巧。 public static void foo() {//...foo();//方法调用自身//...} 2、递归用于什么场景 递归是一种常见的算法设计方法,特别适用于解决那些可以分解为相似子问题的问题。常见的递归问…

诺派克ROPEX控制器维修RES-5008 RES-5006

德国希尔科诺派克ROPEX热封控制器维修型号包括:RES-401,RES-402,RES-403,RES-406,RES-407,RES-408,RES-409,RES-420,RES-440,RES-5008,RES-5006&a…

阿里三面:Redis大key怎么处理?

阿里三面:Redis大key怎么处理? 一、什么是大key? 首先大key不是key很大而是key对应的value值很大,一般而言如果String类型值大于10KB,Hash,Set,Zset,List类型的元素的个数大于5000个都可以称之…

18. 《C语言》——【Nice2016年校招笔试题引发的思考】

亲爱的读者,大家好!我是一名正在学习编程的高校生。在这个博客里,我将和大家一起探讨编程技巧、分享实用工具,并交流学习心得。希望通过我的博客,你能学到有用的知识,提高自己的技能,成为一名优…