TOF技术原理和静噪对策
本文章是笔者整理的备忘笔记。希望在帮助自己温习避免遗忘的同时,也能帮助其他需要参考的朋友。如有谬误,欢迎大家进行指正。
一、什么是TOF
TOF 是Time of Flight的缩写,它是一种通过利用照射波和反射波之间的时间差来测量到物体的距离的测距方法。使用ToF的距离图像传感器可以通过照射诸如红外光之类的光,来测量每个像素的距离并记录深度信息来获知目标的三维结构,具体如下图1所示:

图1 TOF距离测试框图
二、TOF的使用
在用于智能电话的面部认证中,必须测量三维面部形状,以防止通过扫描照片来回避认证。因此,智能手机越来越多地采用名为ToF的测距方法。除ToF之外,还有其他一些测距方法,例如使用立体相机的方法和照射图案化红外线并观察变形的Structured Light方法,但是ToF具有结构简单、支持广范围距离、分辨率高等特征,因此被认为更适合智能手机。

图2 各种测距方法的适用范围
为了进行长距离的高精度测距,ToF需要照射陡峭的高脉冲,如下图3所示。

图3 ToF脉冲波形与精度之间的关系
在发送侧,通过向VCSEL(垂直谐振器表面发射激光器)施加陡峭且较大的脉冲电流,生成红外线脉冲光,并将此脉冲光照射到测量目标。接收侧接收从测量目标返回的光并将其转换为电信号。

图4 ToF发送接收框图
三、ToF中的噪音问题
发出陡峭的高输出脉冲时,如下图5所示,大电流突然在驱动器电路中流动,并且很可能在电源线上形成大电压尖峰。令人担心的是由此产生的噪声会干扰接收侧,导致ToF传感器的灵敏度降低。
屏蔽层可以防止大部分的噪声发射,但是除此之外,还必须防止噪声通过电源线传播。在此将介绍一种使用EMI滤波器抑制噪声传播的有效方法。

图5 ToF中的噪声干扰模型
四、使用铁氧体磁珠的电源噪声对策
插入铁氧体磁珠可有效地解决此类噪声问题。通过在VCSEL和Laser driver附近插入铁氧体磁珠,可以减小泄漏到电源线侧的尖峰噪声的振幅。此外,通过在发送侧和接收侧之间的GND线中插入铁氧体磁珠,可以防止噪声通过GND传播。如下图6所示:

图6 通过铁氧体磁珠进行的电源线尖峰噪声对策
- 将铁氧体磁珠插入发送侧的电力流入部分,以抑制通过电源线进行的噪声传播。
- 将铁氧体磁珠插入接收侧GND连接部分,以抑制通过GND线进行的噪声传播。
五、建议将铁氧体磁珠用于噪声对策
选择时需要考虑容易引起问题的噪声频率。请根据PCB空间选择最适合的型号并进行一定的降额设计。磁珠选型参考【电子元器件】磁珠常识与选型_耳机咪头电路用什么磁珠过滤-CSDN博客
六、确认插入铁氧体磁珠的效果
确认了是否插入铁氧体磁珠会导致噪声抑制效果发生变化。不仅确认了噪声消除效果,还确认了其对电压和电流波形没有影响。在下图的发送侧电源线①中,确认了纹波噪声的变化,以确认流向电源侧噪声的降低效果;在VCSEL的电源输入部分②中,确认了瞬态响应的变化,以确认其对电压波形是否没有不良影响。还确认了流过VCSEL的电流波形的变化。
图7 噪音对策效果的确认方法
Voltage① → 通过Ripple Noise确认
Voltage② → 通过Transient response确认
Current → 通过Current wave form确认
七、 铁氧体磁珠插入的效果确认——纹波噪声
如下图所示,通过将铁氧体磁珠BLE18PK100SN1插入电源线,可以看到①部分的纹波减少到了大约1/5。确认结果表明,通过插入铁氧体磁珠,纹波噪声大大降低。

图8 通过铁氧体磁珠产生的纹波噪声降低效果
八、铁氧体磁珠插入的效果确认——瞬态响应
插入铁氧体磁珠不能对供给VCSEL的电压产生不良影响。确认在插入铁氧体磁珠之前和之后的瞬态响应时,未发现由于插入铁氧体磁珠而导致波高降低。未发现插入铁氧体磁珠会对电路的动作产生不良影响。

图9 铁氧体磁珠插入对瞬态响应的影响
九、 铁氧体磁珠插入的效果确认——VCSEL的电流波形
确认了流过VCSEL的电流的波形。插入铁氧体磁珠之前和之后的电流波形几乎没有看到差异。
结果是,即使插入铁氧体磁珠也未发现波高降低等不良影响。

图10 铁氧体磁珠插入对VCSEL电流波形的影响
十、 总结
- 陡峭的大脉冲电流流过ToF发送部分,该脉冲电流在电源线中具备产生大纹波噪声的可能性。
- 通过插入铁氧体磁珠,可以降低噪声,而不会对电压、电流波形和瞬态响应产生不良影响。
相关文章:
TOF技术原理和静噪对策
本文章是笔者整理的备忘笔记。希望在帮助自己温习避免遗忘的同时,也能帮助其他需要参考的朋友。如有谬误,欢迎大家进行指正。 一、什么是TOF TOF 是Time of Flight的缩写,它是一种通过利用照射波和反射波之间的时间差来测量到物体的距离的测…...
MongoDB常见的运维工具总结介绍
MongoDB 提供了一些强大的运维工具,帮助管理员进行数据库监控、备份、恢复、性能优化等操作。以下是一些常见的 MongoDB 运维工具及其功能介绍: 1. MongoDB Atlas 功能:MongoDB Atlas 是 MongoDB 官方的云托管数据库服务,它提供…...
B-树:解锁大数据存储和与快速存储的密码
在我们学习数据结构的过程中,我们会学习到二叉搜索树、二叉平衡树、红黑树。 这些无一例外,是以一个二叉树展开的,那么对于我们寻找其中存在树中的数据,这个也是一个不错的方法。 但是,如若是遇到了非常大的数据容量…...
园区智能化系统实现管理与服务的智能化转型与创新进阶
内容概要 园区智能化系统的出现,标志着管理与服务向智能化转型的重要一步。这一系统不仅仅是一个技术解决方案,更是一个全面提升园区运营效率与安全性的独特工具。通过集成大数据分析、物联网和人工智能,园区智能化系统能够为各类园区如工业…...
【Java异步编程】CompletableFuture实现:异步任务的串行执行
文章目录 一. thenApply():转换计算结果1. 一个线程中执行或多个线程中执行2. 使用场景说明 二. thenRun():执行无返回值的操作1. 语法说明2. 使用场景说明 三. thenAccept():消费计算结果1. 语法说明a. 前后任务是否在一个线程中执行b. 要点…...
工业相机如何获得更好的图像色彩
如何获得更好的图像色彩 大部分的工业自动化检测中对物体的色彩信息并不敏感,因此会使用黑白的相机,但是在显微镜成像、颜色分类识别等领域,相机的色彩还原就显得格外重要,在调节相机色彩方面的参数时,有以下几个方面需…...
Python获取能唯一确定一棵给定的树的最少数量的拓扑序列
称一个 1 1 1~ n n n的排列 { p } { p 1 , p 2 , ⋯ , p n } \{p\}\{p_1,p_2,\cdots,p_n\} {p}{p1,p2,⋯,pn}是一棵n个点、点编号为 1 1 1至 n n n的树 T T T的拓扑序列,当且仅对于任意 1 ≤ i < n 1\leq i<n 1≤i<n,恰好存在唯一的 j &…...
PyTorch中的movedim、transpose与permute
在PyTorch中,movedim、transpose 和 permute这三个操作都可以用来重新排列张量(tensor)的维度,它们功能相似却又有所不同。 movedim 🔗 torch.movedim 用途:将张量的一个或多个维度移动到新的位置。参数&…...
C#面试常考随笔7:什么是匿名⽅法?还有Lambda表达式?
匿名方法本质上是一种没有显式名称的方法,它可以作为参数传递给需要委托类型的方法,常用于事件处理、回调函数等场景,能够让代码更加简洁和紧凑。 使用场景 事件处理:在处理事件时,不需要为每个事件处理程序单独定义…...
四、jQuery笔记
(一)jQuery概述 jQuery本身是js的一个轻量级的库,封装了一个对象jQuery,jquery的所有语法都在jQuery对象中 浏览器不认识jquery,只渲染html、css和js代码,需要先导入jQuery文件,官网下载即可 jQuery中文说明文档:https://hemin.cn/jq/ (二)jQuery要点 1、jQuery对象 …...
SQL进阶实战技巧:如何构建用户行为转移概率矩阵,深入洞察会话内活动流转?
目录 1 场景描述 1.1 用户行为转移概率矩阵概念 1.2 用户行为转移概率矩阵构建方法 (1) 数据收集...
TCP/IP 协议:互联网通信的基石
TCP/IP 协议:互联网通信的基石 引言 TCP/IP协议,全称为传输控制协议/互联网协议,是互联网上应用最为广泛的通信协议。它定义了数据如何在网络上传输,是构建现代互联网的基础。本文将深入探讨TCP/IP协议的原理、结构、应用以及其在互联网通信中的重要性。 TCP/IP 协议概述…...
第25节课:前端缓存策略—提升网页性能与用户体验
目录 前端缓存的重要性HTTP缓存HTTP缓存的基本原理常见的HTTP缓存头Cache-ControlExpiresETagLast-Modified HTTP缓存的类型强缓存协商缓存 服务端渲染与SSR服务端渲染(SSR)简介SSR的优势SSR的挑战实践:使用SSR框架构建Web应用Next.js安装Nex…...
完美世界C++游戏开发面试题及参考答案
堆栈数据结构有什么区别,举例说明 栈(Stack)和堆(Heap)是两种不同的数据结构,它们在多个方面存在显著区别: 存储方式 栈:栈是一种后进先出(LIFO)的数据结构,它的存储空间是连续的。栈由系统自动分配和释放,用于存储函数调用时的局部变量、函数参数、返回地址等信息…...
LabVIEW无人机航线控制系统
介绍了一种无人机航线控制系统,该系统利用LabVIEW软件与MPU6050九轴传感器相结合,实现无人机飞行高度、速度、俯仰角和滚动角的实时监控。系统通过虚拟仪器技术,有效实现了数据的采集、处理及回放,极大提高了无人机航线的控制精度…...
AtCoder Beginner Contest 391(ABCDE)
A - Lucky Direction 翻译: 给你一个字符串 D,代表八个方向(北、东、西、南、东北、西北、东南、西南)之一。方向与其代表字符串之间的对应关系如下。 北: N东: E西: W南: S东…...
MINIRAG: TOWARDS EXTREMELY SIMPLE RETRIEVAL-AUGMENTED GENERATION论文翻译
感谢阅读 注意不含评估以后的翻译原论文地址标题以及摘要介绍部分MiniRAG 框架2.1 HETEROGENEOUS GRAPH INDEXING WITH SMALL LANGUAGE MODELS2.2 LIGHTWEIGHT GRAPH-BASED KNOWLEDGE RETRIEVAL2.2.1 QUERY SEMANTIC MAPPING2.2.2 TOPOLOGY-ENHANCED GRAPH RETRIEVAL 注意不含评…...
HTB:LinkVortex[WriteUP]
目录 连接至HTB服务器并启动靶机 信息收集 使用rustscan对靶机TCP端口进行开放扫描 使用nmap对靶机TCP开放端口进行脚本、服务扫描 使用nmap对靶机TCP开放端口进行漏洞、系统扫描 使用nmap对靶机常用UDP端口进行开放扫描 使用gobuster对靶机进行路径FUZZ 使用ffuf堆靶机…...
3D图形学与可视化大屏:什么是材质属性,有什么作用?
一、颜色属性 漫反射颜色 漫反射颜色决定了物体表面对入射光进行漫反射后的颜色。当光线照射到物体表面时,一部分光被均匀地向各个方向散射,形成漫反射。漫反射颜色的选择会直接影响物体在光照下的外观。例如,一个红色的漫反射颜色会使物体在…...
什么是门控循环单元?
一、概念 门控循环单元(Gated Recurrent Unit,GRU)是一种改进的循环神经网络(RNN),由Cho等人在2014年提出。GRU是LSTM的简化版本,通过减少门的数量和简化结构,保留了LSTM的长时间依赖…...
基于微信小程序的酒店管理系统设计与实现(源码+数据库+文档)
酒店管理小程序目录 目录 基于微信小程序的酒店管理系统设计与实现 一、前言 二、系统功能设计 三、系统实现 1、管理员模块的实现 (1) 用户信息管理 (2) 酒店管理员管理 (3) 房间信息管理 2、小程序序会员模块的实现 (1)系统首页 ÿ…...
Python-基于PyQt5,pdf2docx,pathlib的PDF转Word工具
前言:日常生活中,我们常常会跟WPS Office打交道。作表格,写报告,写PPT......可以说,我们的生活已经离不开WPS Office了。与此同时,我们在这个过程中也会遇到各种各样的技术阻碍,例如部分软件的PDF转Word需要收取额外费用等。那么,可不可以自己开发一个小工具来实现PDF转…...
Java-数据结构-优先级队列(堆)
一、优先级队列 ① 什么是优先级队列? 在此之前,我们已经学习过了"队列"的相关知识,我们知道"队列"是一种"先进先出"的数据结构,我们还学习过"栈",是"后进先出"的…...
爬虫基础(四)线程 和 进程 及相关知识点
目录 一、线程和进程 (1)进程 (2)线程 (3)区别 二、串行、并发、并行 (1)串行 (2)并行 (3)并发 三、爬虫中的线程和进程 &am…...
C语言初阶力扣刷题——349. 两个数组的交集【难度:简单】
1. 题目描述 力扣在线OJ题目 给定两个数组,编写一个函数来计算它们的交集。 示例: 输入:nums1 [1,2,2,1], nums2 [2,2] 输出:[2] 输入:nums1 [4,9,5], nums2 [9,4,9,8,4] 输出:[9,4] 2. 思路 直接暴力…...
Tailwind CSS - Tailwind CSS 引入(安装、初始化、配置、引入、构建、使用 Tailwind CSS)
一、Tailwind CSS 概述 Tailwind CSS 是一个功能优先的 CSS 框架,它提供了大量的实用类(utility classes),允许开发者通过组合这些类来快速构建用户界面 Tailwind CSS 与传统的 CSS 框架不同(例如,Bootstr…...
Sqoop导入MySQL中含有回车换行符的数据
个人博客地址:Sqoop导入MySQL中含有回车换行符的数据 MySQL中的数据如下图: 检查HDFS上的目标文件内容可以看出,回车换行符位置的数据被截断了,导致数据列错位。 Sqoop提供了配置参数,在导入时丢弃掉数据的分隔符&…...
LightM-UNet(2024 CVPR)
论文标题LightM-UNet: Mamba Assists in Lightweight UNet for Medical Image Segmentation论文作者Weibin Liao, Yinghao Zhu, Xinyuan Wang, Chengwei Pan, Yasha Wang and Liantao Ma发表日期2024年01月01日GB引用> Weibin Liao, Yinghao Zhu, Xinyuan Wang, et al. Ligh…...
stm32硬件实现与w25qxx通信
使用的型号为stm32f103c8t6与w25q64。 STM32CubeMX配置与引脚衔接 根据stm32f103c8t6引脚手册,采用B12-B15四个引脚与W25Q64连接,实现SPI通信。 W25Q64SCK(CLK)PB13MOSI(DI)PB15MISO(DO)PB14CS(…...
FPGA 使用 CLOCK_DEDICATED_ROUTE 约束
使用 CLOCK_DEDICATED_ROUTE 约束 CLOCK_DEDICATED_ROUTE 约束通常在从一个时钟区域中的时钟缓存驱动到另一个时钟区域中的 MMCM 或 PLL 时使 用。默认情况下, CLOCK_DEDICATED_ROUTE 约束设置为 TRUE ,并且缓存 /MMCM 或 PLL 对必须布局在相同…...
