spad芯片学习总结

一、时间相关单光子计数法TCSPC(Time correlated single photon counting)

1> 如果spad接收用单次发射、峰值检测会怎么样

       首先spad是概率性触发的器件,探测到的概率远小于1,而且不仅接收信号的光子可以触发,环境光噪声一样会被spad接收到,这样就会导致峰值检测的精度不高,信噪比也非常低。

2> 多次发射、概率统计

      为了解决单次发射、峰值检测的信噪比低的问题,采用多次发射、概率统计来精确的获取TOF信息,这样也排除了由于spad接收的概率性触发的问题,下图为TCSPC的工作原理。

图:TCSPC的原理示意图

       可以看出通过8次的发射,可以在直方图上近似表现出发射的波形,每次在发光的这段时间的任一点都是有可能接收到光子的,再通过统计每个点上管子被触发次数,就可以统计出不同时间接收的光强度,进而反应发射的光波形。

3>积分次数

      上面只是示意TCSPC的原理,实际发射的次数可能几十次到几千次,发射次数常用的叫法是积分次数,目前一般单点的spad发射次数设置为几百次到1000次,面阵的spad都只能设置在几十次左右。

4>直方图的坐标代表的意义

      输出的直方图横坐标为时间信息,具体表示的是bin的数量,比如一个单点的spad芯片有1024个bin,量程为15m,TOF时间100ns,那么每个bin的时间就是100ps,这个100ps对应的就是spad芯片内部的TDC的分辨率,N位TDC的bins数量为2^N,1000个bin对应TDC的位数就是10位。

二、spad芯片一般要求发射的脉宽更小

       一般在雷达上减小发射的脉宽是为了减小功耗,增加峰值的功率,提高发射的重频,在APD和SiPM应用时为了提升系统的信噪比都会把发射的峰值功率做的很大,脉宽2~5ns都是可以接受的,但是在spad芯片应用时,一般是发射功率会稍小一点,重频比较高,发射的脉宽更小, 一般都是1ns以内,这样做的目的也是提升接收的信噪比,比如上面说到的1024个bin对应15m的量程,TDC的分辨率为100ps,100ps足够分辨1ns的光脉冲了,所以脉宽在100ps~1ns之间做的越小越能提升信噪比,但是1ns的发射脉宽对SiPM的意义不大,SiPM一般是几百到几千和SPAD组合起来的,输出的是模拟信号,波形的上升时间一般为1ns左右,下降30ns左右,这样根本不能分辨1ns还是2ns的信号,所以对SiPM来说减小脉宽不能对信噪比有所提升,但是减小脉宽对spad来说可以有信噪比的提升。

 图:spad接收不同脉宽发射时

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

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

相关文章

使用 Ploomber、Arima、Python 和 Slurm 进行时间序列预测

推荐:使用 NSDT场景编辑器助你快速搭建可二次编辑的3D应用场景 简短的笔记本说明 笔记本由 8 个任务组成,如下图所示。它包括建模的大多数基本步骤 - 获取数据清理、拟合、超参数调优、验证和可视化。作为捷径,我拿起笔记本并使用Soorgeon工具…

colab释放GPU显存

不用其他博客说的安装包,然后查看进程,kill,本文介绍一种简单的方法。 点击运行过代码的ipynb页面右上角的下三角,然后点击展开菜单栏中的View resources 随后会展开一个侧边栏,点击 manage sessions 3. 在页面中央会…

(四)Doceke安装MySQL镜像+Docker启动MySQL容器

Doceke安装MySQL镜像/Docker启动MySQL容器 一、doceke安装MySQL镜像 切换到root用户,su root 。 1、启动Docker 启动:sudo systemctl start docker 停止:systemctl stop docker 重启:systemctl restart docker 查看docker运行…

NineData通过AWS FTR认证,打造安全可靠的数据管理平台

近日,NineData 作为新一代的云原生智能数据管理平台,成功通过了 AWS(Amazon Web Service)的 FTR 认证。NineData 在 FTR 认证过程中表现出色,成功通过了各项严格的测试和评估,在数据安全管理、技术应用、流…

嵌入式设备应用开发(qt界面开发)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 linux界面开发有很多的方案可以选。比如说lvgl、minigui、ftk之类的。但是,这么多年来,一直屹立不倒的还是qt。相比较其他几种方案,qt支持多个平台,这里面就包括了linux平台。此…

【网络基础】数据链路层

【网络基础】数据链路层 文章目录 【网络基础】数据链路层1、对比网络层2、以太网2.1 基本概念2.2 类似技术2.3 以太网帧 3、MAC地址对比IP地址 4、MTU4.1 对IP协议影响4.2 对UDP协议影响4.3 对TCP协议影响4.4 地址、MTU查看 5、ARP协议5.1 协议作用5.2 协议工作流程5.3 数据报…

unity打造路径编辑与导航系统

Unity是一款非常流行的游戏引擎,它提供了丰富的工具和API,方便开发者快速创建游戏。其中,路径编辑与导航系统是游戏开发中非常重要的一部分,可以帮助玩家更好地探索游戏世界,提升游戏体验。本文将详细介绍如何在Unity中…

华为OD-整数对最小和

题目描述 给定两个整数数组array1、array2,数组元素按升序排列。假设从array1、array2中分别取出一个元素可构成一对元素,现在需要取出k对元素,并对取出的所有元素求和,计算和的最小值 代码实现 # coding:utf-8 class Solution:…

探索人工智能 | 模型训练 使用算法和数据对机器学习模型进行参数调整和优化

前言 模型训练是指使用算法和数据对机器学习模型进行参数调整和优化的过程。模型训练一般包含以下步骤:数据收集、数据预处理、模型选择、模型训练、模型评估、超参数调优、模型部署、持续优化。 文章目录 前言数据收集数据预处理模型选择模型训练模型评估超参数调…

第7步---MySQL的视图操作和

第7步---MySQL的视图操作 虚拟表。保存的只是视图的定义。不存放真实的数据,数据还是在原先的表中。 好处是方便和简化代码以及安全。 1.视图创建 数据准备 -- 创建表的测试数据 create table dept(deptno int primary key,dname varchar(20),loc varchar(20) ); …

微信小程序 游戏水平评估系统的设计与实现_pzbe0

近年来,随着互联网的蓬勃发展,游戏公司对信息的管理提出了更高的要求。传统的管理方式已无法满足现代人们的需求。为了迎合时代需求,优化管理效率,各种各样的管理系统应运而生,随着各行业的不断发展,使命召…

Python 学习笔记——代码基础

目录 Python基础知识 变量 赋值 数据类型 print用法 print格式化输出 运算符 if-else 数据结构 元组 in运算符 列表 切片 [ : ] 追加 append() 插入 insert() 删除 pop() 字典 循环 for循环 for循环应用——遍历 for循环应用——累加…

11. Vuepress2.x 关闭夜间模式

修改 docs/.vuepress/config.ts 配置文件 设置 themeConfig.darkMode属性详见 官网 module.exports {host: localhost, // ipport: 8099, //端口号title: 我的技术站, // 设置网站标题description: 描述:我的技术站,base: /, //默认路径head: [// 设置 favor.ico&a…

无需公网IP——搭建web站点

文章目录 概述使用 Raspberry Pi Imager 安装 Raspberry Pi OS设置 Apache Web 服务器测试 web 站点安装静态样例站点将web站点发布到公网安装 Cpolar内网穿透cpolar进行token认证生成cpolar随机域名网址生成cpolar二级子域名将参数保存到cpolar配置文件中测试修改后配置文件配…

每天一道leetcode:1192. 查找集群内的关键连接(图论困难tarjan算法)

今日份题目: 力扣数据中心有 n 台服务器,分别按从 0 到 n-1 的方式进行了编号。它们之间以 服务器到服务器 的形式相互连接组成了一个内部集群,连接是无向的。用 connections 表示集群网络,connections[i] [a, b] 表示服务器 a …

Minio知识点+linux下安装+面试总结

一 Minio简介 MinIO 是一个基于Apache License v2.0开源协议的对象存储服务。它兼容亚马逊S3云存储服务接口,非常适合于存储大容量非结构化的数据,例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等,而一个对象文件可以是任意大小&…

【后端】Core框架版本和发布时间以及.net 6.0启动文件的结构

2023年,第35周,第1篇文章。给自己一个目标,然后坚持总会有收货,不信你试试! .NET Core 是一个跨平台的开源框架,用于构建现代化的应用程序。它在不同版本中有一些重要的区别和发布时间 目录 一、Core版本和…

【C++习题集】-- 堆

(用于复习) 目录 树概念及结构 名词概念 二叉树概念及结构 特殊的二叉树 满二叉树 完全二叉树 运算性质 二叉树存储结构 顺序存储 链式存储 堆 - 顺序存储 堆的性质 堆的实现 堆的应用 堆排序 直接建堆法 树概念及结构 概念&#xff1a…

unity 之 Input.GetMouseButtonDown 的使用

文章目录 Input.GetMouseButtonDown Input.GetMouseButtonDown 当涉及到处理鼠标输入的时候,Input.GetMouseButtonDown 是一个常用的函数。它可以用来检测鼠标按键是否在特定帧被按下。下面我会详细介绍这个函数,并举两个例子说明如何使用它。 函数签名…

功能性需求与非功能性需求的区别

如果你曾经负责过软件项目开展的全过程,就会知道需求定义在项目后期的重要性。清晰、明确的需求定义不仅有助于有效地管理客户期望,也有助于指导项目的顺利开展。 在项目前期阶段,如果需求定义不清晰,就会导致项目范围和成果定义…