用于激光雷达的 APD,SPAD 和 SiPM 分析
1. 术语及定义
1.1 激光雷达,Light Detection And Range, LiDAR
发射激光光束,并接收回波以获取目标三维和/或速度信息的系统;
1.2 机械旋转激光雷达,Mechanical Rotary LiDAR
通过电机带动激光收发阵列进行整体同步旋转,从而实现对空间垂直视场角方向、360°视场范围的扫描的激光雷达;
测距能力在垂直视场角方向、360° 视场范围内保持一致;
1.3 半固态激光雷达,Hybrid Solid-state LiDAR
采用微振镜,即 MEMS(比如速腾的 M1),或者转镜方式(比如禾赛 AT128),激光收发单元不再进行机械运动,适用于实现部分视场角探测的激光雷达;
注:也可以不采用上述扫描方式,收发单元采用共轭电磁微振动原理(赛瞳的 MMT 扫描方式)实现扫描;
1.4 固态激光雷达,Solid-state LiDAR
无机械运动部件,适用于实现部分视场角探测的激光雷达,扫描方式比如 OPA,Flash,FMCW 等;
1.5 点云,Point cloud
以离散,不规则方式分布在三维空间中的点的集合;
通常点云信息中含有,位置(xyz)、反射率、时间戳;
1.6 噪点,Noise point
实际位置没有真实目标,但是点云中出现的点;
1.7 拖点,Mixed pixel point
一个激光束在前后交叠两物体上引起的边缘之间的假点;
1.8 探测概率,Probability of Detection, POD
实际回波与理论回波的比值,也称为检出率;
1.9 帧率,Frame frequency
LiDAR 对同一个目标点探测的频率,常见的比如 10Hz,20Hz;
1.10 盲区, Blind range
能够稳定输出满足精度要求的点云,最小探测距离
1.11 最大探测距离,Max detection distance
相对于最小探测距离,有回点的最大探测距离
1.12 视场角,Field Of View,FOV
点云覆盖区域相对坐标原点的最大张角,分为水平方向和垂直方向;
比如水平视场角,HFOV,120°,垂直视场角,VFOV,90°;
1.13 角分辨率,Angle Resolution
激光雷达最小的可以分辨物体间的夹角;
1.14 精度,Precision
相同条件下,对被测物体反复测量,测量值之间的一致程度;
基于测量平均值,用各测量值的标准差来表示,用 σ 表示;
比如 5 cm(1σ);
1.15 准度,Accuracy
测量值的均值和真值之间的误差,用 μ 表示;
比如 ± 5 cm;
1.16 反射率,Reflectivity
物体反射的辐射能量占总辐射能量的百分比;
比如 10%,90%;
1.17 可接受发射,Accessible Emission,AE
在某个位置使用孔径光阑,计算出阿里要求确定辐射量;
1.18 可接受发射极限,Accessible Emission Limit,AEL
参考 60825 规范中,对于一特定类别,允许的最大可接受发射;
1.19 最大允许照射量,Max Permissible Exposure,MPE
正常情况下人体受到激光照射不会产生不良后果的激光辐射水平;
1.20 表观光源,Apparent Source
对于一个给定的视网膜危险评估位置,形成最小可能的视网膜图像的真实或虚拟对象;
1.21 表观光源对向角,Angular subtense of the apparent source
从空间中某点,观察表观光源所张的对向角,用 α 表示,单位是弧度;
1.22 最小对向角,Min Angular Subtense,αmin
表观光源的对向角的值,αmin;
若光源对向角>αmin ,称之为扩展光源;
若光源对向角 ≤ αmin ,称之为小光源;
若光源对向角 < αmin ,其 MPE 和 AEL 不依赖于光源尺寸;
αmin = 1.5 mrad;
1.23 最大对向角,Max Angular Subtense,αmax
激光光束对向角的值,αmax;
若光源对向角 > αmax ,其 MPE 和 AEL 不依赖于光源尺寸;
αmax 在 5 mrad ~ 100 mrad 之间变化;
1.24 接收角,Angle of Acceptance,γ
检测器响应光辐射的平面角,用 γ 表示,单位是弧度;
接收角角度可以通过置于探测器前的孔径或者光学元件来进行控制;
1.25 孔径光阑,Aperture Stop
用来限制测量辐射的区域的开孔;
1.26 连续波,CW
激光器以连续输出方式运行,且连续时间 ≥ 0.25 s;
1.27 漫反射,Diffuse reflection
借由一个表面或是介质,向多个方向散射以改变辐射光束的空间分布;
一个完美的漫反射器,可以清楚入射方向和显现的辐射之间的所有关联;
2. 前言
2.1 电磁波波段
根据电磁波的频率可以分为:无线电波,微波,红外线,可见光,紫外线,X 射线和伽马射线;
可见光和红外线比无线电波和微波有着更短的波长,但是比 X 射线和伽马射线波长长;
光速 = 波长 x 频率;
比如一个 10 GHz 的微波雷达,可以计算出它的波长是 3 cm,称之为 X 波段雷达;
一个 1 GHz 雷达,那么它的波长为 30 cm,称之为 L 波段雷达;
常见的车载激光雷达波段在 905 nm 或者 1550 nm,目前主流的还是 905 nm,1550 nm 成本上要贵很多,但是对于人眼更安全,测距能力也更远,刚上市的蔚来 ET7 所搭载的,就是图达通的 1550 nm 激光雷达;
从 Velodyne 给的这张对比图可以看出,对于雨雪天气,905 nm 波长要好于 1550 nm 波长的;
2.2 激光雷达成像系统
一个典型的 LiDAR 成像系统,如下图所示,激光发射器发射激光,打到物体目标,反射回来,探测器接收到回波信号,从而计算出距离和速度等信息;
激光发射器:边发射激光器(EEL),腔发射激光器(VSCEL)等,主流供应商一般是 欧司朗 OSARM,滨松 HAMAMATSU;
探测器:硅雪崩光电二极管(Si APD),单光子雪崩二极管(SPAD),硅光电倍增管(SiPM)等,主流供应商一般是 SONY,HAMAMATSU;
扫描方式:传统的机械式(电机带动激光器进行旋转),半固态的比如 MEMS 振镜方式,转镜,MMT 电磁共轭微振动等,纯固态的比如 FMCW,OPA 等;
3. 成像方法
3.1 三角测量法,Triangulation
三角测量法利用三角法来提取 3D 空间信息,在同一个场景,已知两个摄像头的距离 d,通过两张二维图像来进行距离信息的提取从而构成三维图像;
利用立体视差算法来处理图像并计算目标的距离, 人眼就是通过这样的方式来获取深度信息,两个摄像头类比人的两个眼睛;
立体视觉的优势在于它以简单的被动方式,实现了高分辨率和全范围图像的同时采集,使用传统的相机就可以了;
然而,这种方法需要解决所谓的对应问题(点对的识别,它们是场景中同一点的投影),所以算法成本很高,并且帧率有限;
此外,立体视觉算法鲁棒性比较差,事实上,如果附近的物体覆盖了两幅图像之一中的远处物体,它就会失败,无法测量更远的距离,并且三维图像会丢失信息;
最大满量程 (FSR) 取决于两个相机之间的基线,基线越大,范围越长,感应范围也越远。
所以目前基于立体视觉成像的相机,工作距离为 3 - 5 m 左右,并不能看到很远的地方;
3.2 结构光注入,Projection with structured light
不同于三角测量法,结构光注入需要一个主动发光源,它向场景中的物体照射预定模式的光(通常是水平或垂直线或点,如下图所示):
在接收端,获取 2D 图像,然后分析接受回来的光,是如何被目标进行修改的,然后试图重构 3D 距离和形状;
通过工作原理我们就可以知道,这项技术可以达到十分精确的精度,亚毫米级别的分辨率,但是处理速度会很慢,因为算法过于复杂,不能提供实时的解析;
除此之外,为了提高深度信息的准确性,对于单个场景,甚至要选取多个模式进行多次扫描;
相机也需要进行移动来获取更多场景的信息,但是这也降低了测量的速度,所以结构光法牺牲了速度,来换取精度;
FSR 也在几米范围内,并不能看到很远,所以也限制了它的用途;
一个典型的例子,就是微软的 Kinect v1 游戏机,利用的就是结构光注入来获取 3D 图像,支持 3~5 m 的范围,5 mm 的精度;
3.4 ToF,时飞法
ToF(Time-of-flight,时飞法) 通过测量一束光穿过介质,到达目标,然后返回到检测器的时间;
这项技术不仅广泛用于激光雷达,也用于生物成像中;
和立体成像,结构光注入成像不同,ToF-LiDAR 不需要复杂的重构算法,所以可以用于实时场景;
除此之外,对于大视场角的场景,ToF 技术是最适合的而且可以保证厘米级别的精度;
TOF 分为 dToF 和 iToF,前者使用时间分辨探测器和电子设备(脉冲激光雷达)直接测量,后者通过相位分辨测量(用于连续波,即 CW-LiDAR)间接估计;
3.4.1 直接时飞法,Direct time-of-flight,dToF
脉冲激光雷达,利用 dTOF 方式,测量激光束发出,穿过介质,到达目标,返回到检测器的时间;
通过飞行的时间,就可以轻松的计算出距离信息;
该技术需要短(通常 <1 ns)激光脉冲,高带宽探测器,具有亚纳秒分辨率和时间抖动的定时电子设备;
脉冲激光雷达中,电子设备的分辨率直接影响到深度信息的分辨率;
FSR 的距离仅受限于发光的功率,目标的反射率和定时电子设备;
出于这样的原因,脉冲激光雷达在某些长距场景下得到广泛应用;
使用低功率的激光器,但是为了能够达到,对于低反射率目标长距离检测性能,单光子检测器 + 光子计时器(比如 time-to-digital converter, TDC)+ 光子计数器(比如数字门控计数器)成为必须;
返回的不再是模拟信息(比如光电流,或是光电子电荷包),而是数字信号(比如至少检测到一个光子时的一个逻辑的上升沿);
对于单光子,进行重复的 TOF 测量,这种方式称之为 TCSPC(time-correlated single-photon couting, 时间相关单光子计数法),能够非常微弱和快速(ps 级别)光信号进行重建;
如下图所示,脉冲激光雷达系统使用 TDC 来记录激光脉冲到达时间戳(下图中 a),或者使用门检测器,来测量一个短的 gate window 内的信号强度(下图中 b);
对于非常微弱的信号,这两种检测方式都可用,对于单个光子,重复测量多次,来构建获取数据(飞行时间或者强度)的直方图;
每次测量,查看场景中的单个点或整个场景,这取决于光学器件以及是否使用单像素探测器或多像素成像器,不过无论如何,通常每个像素都会累积一个直方图;
下图中的 c 和 d 可以看到直方图累加的效果,直方图质心的计算给出了平均 ToF,关于目标距离和形状的信息也可以从反射信号的直方图中提取;
TDC 方式对于 FSR 距离内所有返回的光子都很敏感,门控检测方式通过选择窗口(即 gate window),只计算部分返回的光子,所以会减少背景光的干扰;
另一方面,TDC 方式大大降低了测量的实际检测效率,无论什么情况下,逐行扫描都需要很长的测量时间,并且其结果很难支持实时应用和远距离测量;
而且 TDC 方式会被 TDC 转换器的最大数目,每个激光束的存储可用性和单光子探测器的 dead-time(比如准备进行下一次转换和检测需要的时间)所限制;
因此与 100% 检测效率,无 dead-time,多触发 TDC 元件的理想情况相比,实际的脉冲激光雷达系统还是存在很大的性能限制;
3.4.2 AMCW 连续波调幅
对于 连续波激光雷达(Continuous-wave, CW-LiDAR),没有采用发射高能量激光束,而是使用调幅(AMCW)或者调频(FMCW)光信号;
AMCW-LiDAR 使用所谓的 非直接时飞法(indrect-TOF, iTOF),依赖于对发射的调幅光源,和收到的背向散射回波信号进行对比;
激发信号可以是正弦调幅光,或来自激光器或 LED 的光脉冲(脉冲宽度为数百纳秒);
使用正弦调制方式,回波信号相对于发射信号发生相移,其量与源调制频率 f 和物体距离成正比;
从相位偏移 ΔΦ 中,可以计算出距离:
D = c·ΔΦ/4πf
通常相位偏移 ΔΦ,通过空间中四个等距点 C0 C1 C2 C3 采样正弦回波信号强度,然后计算出相位偏移:
ΔΦ = arctg((C3-C1)/(C0-C2))
在脉冲调制方法中,激光源发射持续时间 Tp 为几百纳秒(通常与所需的 FSR 成正比)的光脉冲,并且后向散射光在三个时间窗口内积分,宽度相同但时间延迟;
- 第一个积分整个信号(背景光加回波脉冲)
- 第二个积分相同的背景光,但只有一部分回波脉冲
- 第三个时间窗口只对背景光进行积分,然后从前两次测量中减去
两个结果强度之间的比率(乘以 2π)得到相位偏移 ΔΦ;
通过这样的方式,测量方式不会依赖于背景光,光源功率和目标反射率,与之相对比, AMCW-LiDAR 的分辨率和这些因素很相关;
最终,距离通过以下的表达式计算出来:
D = 0.5 · Tp · (1 - ΔΦ/2π)
通常 FSR 被调制周期限制:比如 100 ns 的脉冲或者 10 MHz 的调制最多可以支持 15 m 的探测距离;
尽管如此,基于多个调制频率或线性 chirp 调制的方法已被实施,以扩展明确的测量范围;
3.4.3 FMCW 连续波调频
对于调频 FMCW-LiDAR,激光频率(比如激光的波长)被调制;
通常,调制由线性啁啾信号 chirp 和一小部分激光束组成,用作回波信号的外差解调的本地振荡器,如下图所示:
调制的带宽往往比 linearly-chirped AMCW-LiDAR 要宽,所以会有更好的深度信息分辨率;
检测需要借助外差探测(也称为相干探测)方式,很弱的输入信号与一些非线性装置中的强的“本地振荡”的波混合在一起,混合光在被滤除掉原始信号和局域振荡频率后被探测到;
使用低带宽的器件和更具性价比的检测器,可以达到的精度要比 dTOF 更好;
FMCW-LiDAR 的另一个优势是它可以直接测量出目标速度,通过多普勒位移;
但是最大的局限性是 FMCW 要求激光的长相干长度,因为它会影响到本地振荡器相对于反向散射波的稳定性,从而引起相位噪声;
如果被测量的距离小于激光相干长度,那么拍频的频率峰值就会变得尖锐而狭窄,反之峰值会变宽幅度会减小;
激光的相干长度限制了 FMCW-LiDAR 的探测距离,然而最近也有一些激光雷达公司的 FMCW-LiDAR 可以达到 300 m 的探测距离;
4. 扫描方式
TOF 的激光雷达通过单光点,面激光束或者平面发光方式;
前两者需要分别通过一维或二维扫描覆盖整个场景,而后者在 Flash-LiDAR 中使用,不需要扫描元件,类似于相机的曝光一样;
4.1 单点扫描
单点照明通常也使用单像素检测器(下图中 a),因此,同轴光学系统(下图中 f )是首选,以避免任何对准和视差问题;
请注意,这样的单个像素可能由一组(例如阵列)检测器组成,所有检测器都充当整体检测器(不可能在活动区域内提供更多空间信息),例如在硅电倍增管中;
图 b 中,使用 2D 阵列检测器(阵列有效面积大于激光光点),通过简单的非同轴光学装置将照明光点照射在目标上,并测量穿过 2D 检测器的回波信号;
由于检测器不仅会收到回波信号,也会收到环境中背景光的影响,从而信噪比低,效果并不好;
4.2 面照明
利用面照明,可与线性探测器阵列结合使用,围绕其轴机械旋转以加快扫描速度,或使用同轴光学系统(上图 c),一个典型的例子就是这种机械旋转式的激光雷达;
同样在这种情况下,可以只扫描面照明,同时保持固定的二维阵列探测器对整个场景进行成像,或一次仅激活一行(上图中 d,也就是所谓的 64 线,128 线之类);
4.3 Flash
Flash LiDAR,每次直接扫描整个平面;
同时使用凝视相机,其中每个像素对场景的一个特定点进行成像,并测量相应的距离;
“Flash” 这个名字强调了以非常高的帧率,采集图像的可能性,理想情况下也是在单次激光拍摄中,因为不需要扫描;
Flash 的优势是显而易见的,不需要进行拼接,分辨率也高;
劣势也是显而易见的,覆盖足够宽的 FOV 所需的激光脉冲能量通常非常高,如果人类在很短的距离内穿过 FOV,通常会远远超过人眼安全限制,所以目前基于 Flash 的激光雷达还并不安全和成熟;
对于低反的物体,基于 Flash 的 LiDAR 看的范围也不远;
4.4 微振镜,Micro Electro-Mechanical System,MEMS
当我们需要进行扫描的时候,波束控制可以通过光机械部件(比如转镜和棱镜),或者电机械部件来移动(比如电机),又或者 MEMS (Micro electro-mechanical systems),和 OPA(solid-state optical phase arrays);
MEMS 和 OPA 为机电扫描提供了更紧凑、更轻便的替代方案,因此扫描速度也更快,例如通过使用谐振镜;
MEMS 技术目前比 OPA 更加成熟,所以在现在的激光雷达扫描系统里面是首选,国内的比如速腾的 M1 就是 MEMS;
4.5 转镜
从前面介绍的面照明那块,我们可以看到传统的机械式,采用 360° 机械旋转的方式,来控制激光束的发射方向;
这样的机械式设计,整个收发装置都要进行旋转,很难去过车规认证,上不了车;
所以通过转镜的方式来控制出光方向,使得发射接收模组并不需要进行旋转,为半固态;
发光机制的选择往往需要在很多性能之间进行权衡,比如激光能量,重复频率,人眼安全,检测器结构,测量速度和系统复杂性;
相比于扫描技术,Flash 激光雷达直接对整个平面进行曝光,自然需要更高的发射激光能量,而且检测器也要有能力处理足够的返回信号;
出于人眼安全考虑,这种泛光照明方式会更好(如果没有人离激光雷达器太近),因为即使总发射功率很高,它也会分布在更广的区域,因此单位面积的功率可能低于单点远距离照明;
Flash-LiDAR 的光学结构更加简单,但是代价就是需要大像素数量的 2D 检测器;
事实上,像素的数目制约了给定 FOV 的角分辨率,反之亦然,给定角分辨率,像素数目制约了 FOV;
扫描方式影响到了获取速度和帧率:尤其是 2D 扫描方式,非常的慢,对于实时获取和高速物体很难扫描;
然而,Flash-LiDAR 也可以不是单次曝光,而是可以通过更多次的曝光和图像采集,来收集足够的信号,因为总脉冲能量分布在宽 FOV ,而且返回信号(最重要的是来自远处物体) 可能非常非常微弱;
接下来我们会关注于利用面照明的 1D 线性扫描和泛光照明的 Flash-LiDAR;
5. 脉冲激光雷达需求和挑战
激光雷达的性能指标往往关注 FSR,精度,FOV,角分辨率和处理速度,除此之外,户外情况下对于强背景光干扰的处理,人眼安全和激光雷达之间的抗干扰;
就 FSR 来言,激光雷达系统分为
- 短距(几米范围,比如 AR 游戏)
- 中距(几十米,比如工业自动化中)
- 长距(几百米甚至到几百公里,比如自动驾驶和卫星探测)
长距可以通过脉冲激光雷达技术,与高功率激光器、具有单光子灵敏度的探测器,和具有足够 FSR 的定时电子设备 (TDC) 相结合来实现;
脉冲激光雷达中,测量精度受 TDC 分辨率(即 LSB)和门窗之间的最小可行延迟偏移的强烈影响,因此 FSR 与精度相互制衡;
除此之外,可以通过获取更多到达时间,然后再重复多次测量中计算出均值来提高精度;
FOV 和角分辨率取决于扫描速度和扫描数目,对于 Flash-LiDAR,取决于像素数目;
获取速度,对于实时应用来说一个十分重要的因素,也与 FOV 和角分辨率有关;
事实上在扫描系统中,FOV 和角分辨率越好,处理速度就越慢;
Flash-LiDAR 中也有类似的性能权衡,因为给定激光源的功率,更大的 FOV 和更多的像素数目会导致,每个像素的光子更少,从而需要进行更多次的重复测量;
对于高帧率的脉冲激光雷达,尽可能多的光子需要被检测到,然后打上时间戳,因此获取速度也影响着整体的检测效率;
动态范围 / Dynamic range, DR 对于检测系统来说是一个很大的挑战,尤其是在强背景光下(例如,室外有太阳光照),和距离非常不同,且反射率和角度变化极大的不同目标时;
除此之外,背景抑制 / Background Rejection(比如如何在返回的信号中过滤掉背景光)对于高性能激光雷达来说,是一个关键因素;
6. 脉冲激光雷达探测技术
6.1 通用的探测器
1. 电荷耦合元件(Charge-coupled devices, CCDs)
- 电子倍增 CCDs(Electron-multiplying CCDs, EM-CCDs)
- 增强 CCDs(Intensified-CCDs,I-CCDs)
2. 雪崩光电二极管(Avalanche photodiodes,APDs)
3. 单光子雪崩二极管(Single photon avalanche diodes, SPADs)
4. 硅光电二极管(Silicon photomultipliers, SiPMs)
- Analog SiPM, a-SiPM
- Digital SiPM, d-SiPM
雪崩光电二极管 APD 目前比较成熟,也是目前激光雷达主流的探测器选择,以 Hamamatsu 的这一款 L11854 举例:
对于探测器端接收到的功率,Pdet = E·A·1/L2·R·P ,比如低反长距的物体,取 E = 0.1, A = φ 3 cm, L = 100 m, R = 10%;
所以 Pdet = 10-9 ·P;
例如:10 W 峰值功率的 905 nm 激光器,激光脉宽为 5 ns,带入可以计算出:
- 0.5 A / W 灵敏度时,近 100 个计数;
- 0.1 A / W 灵敏度时,近 20 个计数;
也就是对于 10% 反射率的物体,在 100 m 距离,只有几十个光子;
根据下图可以看出,APD 最小探测的光子量级在 103,所以对于这种长距低反的情况,只有几十个光子,所以需要有高增益的探测器,也就是 SPAD 和 SiPM;
SPAD 区别于 APD,是单光子探测器,每次至多检测一个光子,而且每次光子检测之后,需要几个纳秒的死区时间来准备下一次检测,从而将最大计数率限制为大约 100 MHz;
SPAD 的工作模式:
- 工作电压 > 击穿电压,光子入射,出发雪崩,开始探测
- 淬火,使得工作电压 < 击穿电压,抑制雪崩,电路停止工作
- 复位,将工作电压拉回到大于击穿电压状态,重复步骤 1
SiPM 由许多微单元的并联组成,每个微单元由一个 SPAD 及其前端电路组成;
所以 SiPM 是光子数分辨探测器,即它们提供有关同时检测到多少光子的信息,因此它们可以达到比单个 SPAD 更高的计数率,与微单元(即 SPAD)的数量成正比:
例如,具有 100 个 SPAD 的 SiPM 可以达到,比单个 SPAD 高大约 100 倍的计数率;
下图是 ON 给出的对比材料,SPAD 和 基于 12 个 SPAD 的 SiPM,SPAD 只有 0/1,但是组合之后的 SiPM 就可以对多个光子进行统计了:
SPAD 的输出波形,单幅值,1/0,无法分辨回波强度:
MPPC(多个 SPAD)输出波形,多幅值,回波强度可以分辨:
SPAD 阵列由许多独立的像素点构成,每个里面都有一个 SPAD,它的前端电路和一个处理电子元器件(比如计数器或者 TDC),用来对检测到的光子进行计数,或者记录检测到光子的到达时间戳;
因此 SPAD 阵列中图像的分辨率和 SPAD 的数目有关;
类似的,SiPM 阵列是由很多个 SiPM 构成,每个 pixel 都会提供空间信息,所以成像的空间分辨率是由 SiPM 的数目决定的,而不是微单元的数目;
和 SPAD 阵列相比,SiPM 阵列空间分辨率更低;
下图中比较了几种不同探测器技术,就时间分辨率,敏感度和 pixel 数目;
- 时间分辨率 / Timing resolution 在测量光子到达时间的时候很重要
- 敏感度 / Sensitivity 对于长距测量中有用尤其是对于低反射率物体
- pixel 数目 影响 FOV,角分辨率和测量速度
就时间分辨率而言,上图中水平坐标,我们将探测器分为:
- 无计时能力(光子在相对较长的采集时间内积累,大约为几十微秒)
- 时间门控探测器(光子仅在明确定义的短时间窗口内累积,几纳秒)
- 时间戳检测器(与 TDC 结合以直接对光子的到达时间进行时间戳记录)
就敏感度而言,上图中竖直坐标,我们将探测器分为:
- 许多输入光子(最少能检测几百个光子)
- 几个光子(最少能检测几个光子)
- 单个光子(最少能对单个光子进行检测)
像素数目在上图中用不同的颜色表示:
- 单 pixel 探测器(红色,APD)
- 数十或数百 pixel(黄色和橘色)
- 更大规模的(绿色)
之前我们提到过,脉冲激光雷达利用 TOF,借助 TDC 记录光子的到达时间 (时间戳方式),或者在一个窗口内进行计数(时间窗方式);
前一种方法在大多数应用中都很方便,因为检测器在整个 FSR 期间都处于活动状态;
而后者效率较低,因为到达窗口外的所有光子都会丢失,因此必须增加测量时间,以获得足够的信号和直方图统计质量;
因此对于脉冲激光雷达而言,首选具有时间门控和时间戳功能的探测器,例如 APD,SPAD 和 SiPM;
其中,只有 SPAD 和 SiPM 具有单光子敏感性;
大规模的 APD 阵列设计很重要,由于 APD 需要专业技术很高,大像素间距,快速模拟前端和高电压操作;
SPAD 和 SiPM 阵列是很多 SPAD 并联起来,所以相对来说工艺要求更简单;
单光子敏感度对于长距离测量十分重要,事实上到达探测器的光子数目,取决于距离平方的倒数,以及光学参数(源功率和发散度、物镜 f 值和透镜衰减),目标反射率和探测器几何形状(填充因子和像素面积);
比如这样一个系统:
- 800 mW 功率的激光源
- 200 m 距离
- 2 度发散角
- 2.8 f-number
- 10% 透镜衰减
- 90% 目标反射率
- 80% 探测器填充因子
- 20 µm 像素间距
可以计算出像素光子率仅为 1µs 一个光子;
应用于 SPAD 的 3D 堆叠集成的最新技术,可以使得间距小于 10 µm,最低低至 2.2 µm 以及大量像素(数百千像素至百万像素)的 SPAD 成像器得以开发,而在效率、噪声和时序抖动方面,也不会降低 SPAD 性能;
每一个 SPAD 连接着一个独立的传感(也有可能是处理)器件,作为 SPAD 阵列中的一个像素;
也可以多个 SPAD 放在一起,使用公用的处理器件(比如一个 TDC),来构成 SiPM 阵列中的一个像素;
换句话说,SPAD 阵列中每个像素,只有一个 SPAD(因此可以提高激光雷达的角分辨率),而 SiPM 阵列每个像素(定义为提供空间信息的最小独立单元)有着多个 SPAD,因此角分辨率更差;
与 SPAD 阵列相比,SiPM 阵列能够检测同一像素内的重合光子(具有单个光子和多个光子的探测能力),因此可以用于单次曝光激光雷达;
许多时候 SPAD 和 SiPM 阵列的分类很模糊,实际应用的时候采用两种方式的优势综合;
总的来说,SPAD 和 SiPM 阵列对于脉冲激光雷达来说是最适合的,这得益于它们优秀的时间分辨率,高敏感度和相对来说更大规模的像素;
由于装配复杂性和生产成本随着 3D 堆叠的引入而增加,因此在制造前,对这些探测器进行精确的设备和电气模拟,对于节省开发时间和金钱并获得预期性能至关重要,出于这样的原因考虑,不仅有基于 TCAD 的 SPAD 模拟器, 和对于 SPAD & SiPM 的精确模型,而且还开发了基于 SPAD 的 LiDAR 系统的特定模拟器;
一个典型的 SPAD 探测系统:
7. 激光雷达中常见的 SPAD 和 SiPM 探测器
近些年来,许多公司(比如丰田,ST 半导体,索尼,松下,ON 半导体, Ford-Argo)都在开发激光雷达所需要的 SPAD 和 SiPM 阵列;
2013 年丰田公司在日本对外发布了,用于脉冲激光雷达的 SPAD 传感器,基于 32 个宏像素的线性阵列,每个宏像素包括 12 个用于光子符合检测的 SPAD, 和还包括用于 TOF 处理的片上数字信号处理器 (DSP) ;丰田还在为 LiDAR 开发性能优化的 SPAD 探测器,特别是具有增强的红色探测效率;
ST 半导体在法国开发了一种高性能 3D 堆叠技术,具有用于 SPAD 的 背照式(Back-side illuminated, BSI) 顶层,连接到与前端传感和数字处理的,一个高压 40 nm 的 CMOS 底层;
收购 SensL 之后,安森美半导体为激光雷达开发研发 SiPM 和 SPAD 阵列;第三代激光雷达成像系统基于 1x16 模拟 SiPM 阵列,适用于有阳光的户外场景,支持到 40 m 的 FSR;安森美半导体首款 SPAD 阵列(400 x 100 像素)“Pandion”,针对于大视场角的激光雷达设计;
日本松下向外界发布了目前最大的 SPAD 阵列(1200 x 900 像素),适用于高达 250 m,10 cm 分辨率的长距离激光雷达,混合 dTOF 和 iTOF 架构;模拟像素基于使用 BSI CMOS 图像传感器 (CIS) 技术制造的垂直 APD (VAPD),由于垂直电流和模拟前端,与标准 SPAD 相比,提供更小的像素尺寸 (6 µm);
最近日本索尼发布了一个基于 189 x 600 像素 SPAD 阵列(基于 3D 堆叠技术,其中包括用于 SPAD 的 90 nm BSI 层和用于数字逻辑的 40 nm CMOS 层)的完整 MEMs 激光雷达系统;索尼这款 LiDAR 系统,面向汽车应用,具有 300 m FSR 和用于太阳背景抑制的微像素逻辑;
Princeton Lightwave 公司开发了一种用于 1550 nm 波长激光雷达的 InGaAs / InP SPAD 阵列,32 x 32 像素,通过热电冷却来进行冷却,以较低探测器噪声;
下图中总结了用于 LiDAR 的商用硅 SPAD 探测器的最新趋势:可以看出,SPAD 阵列的像素数量不断增加,而 a-SiPM 阵列的像素数量要少得多;
由于 InGaAs/InP 技术远不如硅成熟,所以没有进行对比;
8. 脉冲激光雷达使用的 SPAD 和 SiPM 探测器
在本节中,我们会分析了一些 SPAD 和 SiPM 阵列,它们提供了一些有趣的特性来解决脉冲激光雷达的主要挑战;
下表中列出了一些探测器的主要性能,就工艺制程,像素个数,每个像素的 SPAD 个数,光子探测概率(Photon Detection Probability, PDP),填充因子(fill-factor, FF),TDC 分辨率(LSB)和范围(FSR);
8.1 SPAD 激光雷达探测器架构
"2013 Niclass" 数字 SiPM 阵列,共有 32 个像素,每个像素有 12 个 SPAD,是第一款专门为激光雷达设计优化的探测器;
事实上,在每个像素中实现了 全数字符合探测电路(fully digital conincidece detection circuit),以在 4 ns / 8 ns 可调符合窗口中,同步检测到至少两个光子;
“2017 Perenzoni” SiPM 阵列包括 64 x 64 个像素,每个像素有 8 个 SPAD;
第一个光子到达的时间,会被像素内的 TDC 记录下时间戳,可用于高分辨率和中等范围(250 ps LSB 和 6.4 µs FSR),或者高度计模式(分辨率降低但范围扩大到 10 ns LSB 和 327 µs FSR);
通过对时间窗内的 SPAD 探测次数进行计数,并判断是否超过某个阈值,来验证 TDC 转换;
可以提供时间窗内探测到的光子数目信息(计数信息)和第一个光子到达时间(时间信息);
"2018 Ximenes" 探测器是由两个 8 x 16 SPAD 模块构成,除 SPAD 之外,每个模块有一个选择树,一个 TDC,一个算术逻辑单元(ALU)和每个像素一个字的存储单元;
选择树在 8 x 16 SPAD 中选择第一个脉冲,然后存下触发 SPAD 的地址,TDC 转换第一个脉冲的到达时间,然后 ALU 将新的 TDC 数据老的合在一起,老的数据就是触发 SPAD 对应地址拿到的数据;
最后,新的值覆盖正确地址的内存,每次探测的死区时间为 2.4 ns;
"2018 Beer" 192 x 2 线性阵列中,每个像素包括四个 SPAD,当重合检测超过自动可调阈值时,这些SPAD 会组合在一起以生成事件信号;
为了调节触发时间的频率,可以通过调节符合窗口的持续时间(从 1.5 ns 到 16 ns),符合阈值(从 1 到 4),激活 SPAD 的数目(从 1 到 4,但是要比符合阈值高,要不然不可能达到阈值);
通过调节这三个参数,针对于不同的背景和信号强度,可以有 11 种不同的符合情况;
"2019 Zhang" 有 256 x 144 SPAD 阵列的特点是 TDC 共享和逐像素直方图;
每个半列(即126 个像素)共享 6 个 地址锁存 TDC (Address-latching-TDC, ALTDC),它们以菊花链形式连接并一次激活一次(每个半列中每个周期的时间戳高达 5 个光子);
部分直方图(Partial histogram, PH)被保存,然后每个像素进行,PH 包含一个简化的直方图,分布的峰值周围只有 16 个区间,这是在初步峰值检测阶段检测到的;
后者是一个 3 阶段步骤,在此期间仅考虑整个 TDC 位的一部分(从最高有效位 (MSB) 开始,一直到 LSB),并在每个步骤中细化峰值检测;
在此过程结束时,选择了一个 16-bin 直方图窗口,并且在以下采集期间仅考虑该窗口内的事件以构建 PH;
"2019 Hutchings" SPAD 阵列,可以工作在光子计数模式(256 x 256 分辨率),或者光子计时模式,将 4 × 4 的 SPAD 组连接到同一处理单元(具有降低的 64 × 64 分辨率);
探测器可以在这两种模式之间快速的切换,来适用于高分辨率图像和 3D 地图应用;
在光子计时模式,探测器可以工作在分辨率为 38 ps 的 单次高时间分辨率模式(single-hit high temporal resolution mode),或者是分辨率在 560 ps 的 多事件直方图模式(multi-event histogramming mode);
对于后者,即多事件直方图模式,一个直方图记录了属于同一组的 16 个 SPAD 中,超过可调整的重合检测阈值的事件;
对于 "2020 Seo",即 "A 36-Channel SPAD-Integrated Scanning LiDAR Sensor with Multi-Event Histogramming TDC and Embedded Interference Filter" 这篇论文中介绍的, 用于线扫的 36 个通道 SiPM 阵列(每个像素有四个 SPAD);
每个像素有两个直方图 TDC(hTDC)如下图所示:
- 一个具有移位寄存器架构的 5 位粗 TDC,用于通过相应累加器中的电流注入,构建模拟粗直方图和;
- 一个基于 延迟锁定环 (delay-locaked loop, DLL) 的 6 位精细 TDC,用于提供精细直方图;
两种 hTDC 都是多激发的(即可以在同一激光周期内被多次触发)以实现高吞吐量;
采用多相机的激光雷达系统,基于两个激光二极管,发射两个连续脉冲,脉冲之间的延迟代表着系统的 ID 标识符;
当同一像素中 SPAD 之间的重合事件被探测到,粗直方图的计数被累加,然后通过累计到每个 bin 中的电压,和参考电压进行比较来将其数字化;
干扰过滤的专用逻辑,检测于设备 ID 对应延迟的两个峰值,并选择启动精细 TDC 时间窗口,来构建精细直方图;
"A 256 × 128 3D-Stacked (45nm) SPAD FLASH LiDAR with 7-Level Coincidence Detection and Progressive Gating for 100m Range and 10klux Background Light" 论文中提到的 "2021 Padmanabhan" 由 256 x 128 个像素构成,分组为 16 × 16 SPAD cluster,但仍然保留原始全成像分辨率(256 × 128);
每个像素 cluster 有一个 TDC 用来给第一个光子记录时间戳,而只有在可调整(从 500 ps 到 2.2 ns)重合窗口内触发 cluster 内的其他像素时,转换才有效;
有七个级别来验证测量的重合次数,并且在符合窗口内检测到的光子数量,与 TDC 转换和第一触发像素地址一起存储在存储器中,并被读取出;
当大致知道目标深度时,可以启用渐进式门控以进一步时间过滤传入信号;
"2021 Kumagai"(论文 "Automotive LiDAR performance verification in fog and rain") 中提到,183 x 600 SPAD 可以由 3 x 3 或者 4 x 4 的 SPAD 构成,重合探测电路可以实现背景抑制,TDC 转换的到达时间累计成 TOF 直方图,最终通过 有限脉冲响应 (Finite Impulse Response, FIR) 滤波器检测直方图的峰值;
8.2 最大范围和精度,Precision
最大范围主要由 TDC FSR 定义,测量精度由 TDC 分辨率决定(比如 LSB)和激光带宽;
对于超出最大范围的物体,为了避免距离模糊,TDC 不应该重新折叠,或者光子探测必须通过检测器门控,在一个比 TDC FSR 更短的时间窗口内启动;
TDC FSR 仅限制于图像深度范围而不是最大目标距离,实际上可以适当延迟激光触发(通常是 TDC 启动信号),以便于在 TDC 范围内拟合目标距离;
对于许多脉冲激光雷达系统,到达时间直方图的质心被用来计算 TOF,来避免被 TDC 量化误差所引起的精度问题;
事实上精度提升了 √N(N 是直方图峰值的个数);
为了减少数据传输,直方图直接在芯片上计算,比如 Hutchings 由于 on-chip 直方图计算 FSR 减少到了 9 ns;
探测精度和探测最大距离两个性能指标相互权衡,比如以 Perenzoni 为例,TDC 可以在两种模式下运行:
- 一种通过使用粗计数器与精细计数器相结合来实现高分辨率和短距离
- 一种通过将两个计数器级联到一起,来实现低分辨率和长距离,具有更长位深度的独特粗计数器
8.3 FOV 和角分辨率
FOV 和角分辨率取决于像素的数目;
现代 3D 堆叠技术支持制造相对于平面技术,具有更高像素数目的 SPAD 阵列,在同一芯片中达到数百个 kilo-pixels;
通过将 2D 高分辨率图(每个 256 × 256 SPAD 独立工作)和 3D 低分辨率图(SPAD 组合在宏像素中,每个具有 4 × 4 检测器)相结合,图像分辨率可以得到提高;
由于 2D 和 3D 信息不能同时获得(因为一些硬件资源是共享的),探测器工作在混合模式,即交错处理 2D 和 3D 帧;
参考这篇论文 "Long-range depth imaging using a single-photon detector array and non-local data fusion";
150 m 距离,基于 SPAD 的时间门控图像传感的实验装置如下:
接下来就是将 2D 信息和 3D 信息进行融合:
a) 是深度信息,b) 将来自 SPAD 的强度信息覆盖到深度信息之上, c) 将来自 RGB 相机的强度信息覆盖到深度信息之上;
FOV 和角分辨率可以通过扫描技术进一步提高;
"A 100-m Range 10-Frame/s 340 x 96-Pixel Time-of-Flight Depth Sensor in 0.18 µm CMOS" 中使用了 32 像素线性阵列,加上一个三面多边体转镜(以 600 rpm 进行旋转),来达到一个 340 x 96 像素分辨率和 170° x 4.5° 的 FOV,如下图所示:
"A Modular, Direct Time-of-Flight Depth Sensor n 45/65-nm 3-D-Stacked CMOS Technology" 通过使用 8 × 32 SPAD 阵列的双轴激光扫描仪,可以得到 256 × 256 图像分辨率;
由于所需的 FOV 和角分辨率在很大程度上取决于应用,比如有时高分辨率相机的数据会在后处理中组合,以实现更好的信号(即更好的质心精度或更长的范围)和更好的角分辨率;
事实上,既需要使用空间分辨相机进行 3D 成像,也需要使用激光在单个点准直进行单点高度测量;
8.4 测量速度和背景抑制
对于实时任务来说,测量速度十分重要;Flash 激光雷达不需要扫描是最理想的也是最快的方式;
高的获取速度需要:
- 高的 光子探测效率(photon detection efficiency, PDE = PDP x FF)来探测尽可能多的信号(注意 Flash LiDAR 中每个像素的能量是很低的)
- 探测器的死区时间要小,来达到高计数率
- 高 TDC 转换率从而不浪费光子
一般情形下瓶颈在于 TDC(在大多数 SPAD 阵列中,只能对于第一个光子打时间戳);
使探测器或 TDC 饱和,会导致光子“堆积”失真,即无法通过 TCSPC 重建真实的返回信号形状,因为首先到达的光子掩盖了随后的光子,这种情况在强背景光,比如太阳光情况下容易出现;
事实上,即使在检测到激光返回光子之前,单独的背景光子就可以使探测器或 TDC 饱和,尤其是在接近 FSR 端时;
为了解决背景光的影响,通常的做法是计算到达时间直方图;作为在时间上均匀分布的背景光,它会产生平坦的本底噪声;
因此,质心计算中只考虑由激光脉冲引起的主峰,背景光会自动被过滤掉;
在对直方图进行累加时,将 TDC 测量的时间戳用作直方图存储内存中 bin 的地址,而内存地址的内容(直方图深度)表示该地址被命中的次数;
由于大型 SPAD 阵列的芯片面积限制,每像素完整直方图计算变得不可行;
对于一个 15 位的 TDC,10 位直方图深度,128 x 128 像素,需要的内存是 215 x 10 x 1282 = 5.4 Gb,对应于基于 90 nm 工艺 1 cm x 1 cm 大小的芯片面积;
因此基于部分直方图的解决方案被提出来;
通过限制直方图来构建部分直方图,窗口仅到分布峰值(这是在初步阶段检测到的)周围的 16 bins;
直方图峰值之外都会在芯片内部计算部分直方图的时候被丢弃,但是可以单独的读取,以便在后处理中进行重构完整直方图;
比如之前 "Seo" 这篇论文中提到,部分直方图是通过 5 位粗直方图进行峰值检测,和 6 位细直方图进行精细分辨率的组合获得的;
在这种情况下,计算两个独立的直方图,将时间戳值分为两部分:
- 粗直方图 (CH) 仅考虑 TDC 提供的所有时间戳的 MSB,用于找到分布的峰值;
- 精细直方图 (FH) 仅考虑以峰值为中心的时间戳的 LSB,它用于实现精细的深度分辨率;
当饱和出现的时候,堆积会失真,从而不能累加得到正确的直方图;
比如 “A 30-frames/s, 252x144 SPAD Flash LiDAR with 1728 Dual-Clock 48.8-ps TDCs, and Pixel-Wise Integrated Histogramming” 仅适用于非常低的光子速率,因为只有在同一半列中的其他像素都没有被同时触发时,才能正确检测到被触发的 SPAD 的地址;
大多数位 LiDAR 设计的 SPAD 和 SiPM 阵列都有着一些特别的功能来减少背景光和光子累加影响;
所有上述架构的一个限制是,coincidence threshold 是先验固定的,而且十分关键,因为值太低会导致背景抑制效果差,而值太高会大大降低事件检测,也会丢失信号事件;
8.5 人眼安全
人眼安全限制了最大激光能量,强烈依赖于激光波长;激光辐射会在放大后灼伤视网膜或灼伤眼睛表面,从而损害眼睛;
眼睛在将光线聚焦在视网膜上时具有显着的放大倍率,因此光线进入眼睛并聚焦在视网膜上的损伤阈值远低于灼伤眼睛表面的损伤阈值;
波长大于 1400 nm 的激光更友好(1550 nm 相对于 905 nm 更加安全),因为眼睛中的液体会吸收这些区域的波长,从而防止光线聚焦在视网膜上;
虽然仍然会有灼伤到眼睛表面,但不会因聚焦光线而导致辐照度大幅增加; 为了更好的眼睛安全,激光雷达很少在 0.4 毫米以下工作,但它们通常在 1.5 毫米或更长的范围内工作;
激光雷达系统必须是人眼安全的,给定光束尺寸,脉冲持续时间和波长,激光必须有一个安全的最大能量;
不同波长的 Max permissibale exposure, MPE(单位 J/cm2)由下图给出:
扫描式的激光只在一个很短的时间内照射到眼睛,Flash-LiDAR 的照射时间要更长一点;
但是由于照射时间都很短,所以就算激光功率很高,但是不会超过人眼安全阈值;
目前主流的车载激光雷达选择 905 nm 或者 1550 nm,可以看到 1550 nm 的 MPE 要更高一点;
从上图中可以看到 MPE 峰值也在 1600 nm 左右出现,更接近于 1550 nm;
通常会统计十秒内,人眼吸收的能量总和,然后和上图比较;