艾里斑大小与像元尺寸的匹配问题

2023-05-16

写给自己看的学习记录:

光具有波粒二象性,由此衍生出了几何光学与衍射光学。在光学设计软件中,最常用的判断标准是查看点列图的RMS半径以及MTF图的曲线,这两者分别代表了两种传播性质的评价方式。

在刚接触光学设计时,我误认为评价标准是,将RMS半径优化到小于像元尺寸的一半即可。认为点列图好了,MTF肯定也好了,其实这是不对的,忽视了艾里斑是最小光斑的衍射理论。

后来才了解到,当点列图小于艾里斑时,RMS半径便不再可靠。用zemax软件优化过程中,主要就是衍射与几何相互对抗的过程,当RMS半径值远大于艾里斑半径时,主要看点列图;当点列图满足要求时,尽量把MTF曲线往衍射极限上优化。

艾里斑半径R=1.22λF,由于λ是设计要求,那么F的选取就很重要,艾里斑过大或者过小都会带来问题,一般来说,让艾里斑半径等于所选探测器的像元尺寸。

具体原因在

薇洛的打火机/衍射极限、MTF与相机分辨率(1)这篇博客里有很详细的介绍。

大致如下:

在空间域中,成像系统的光斑是理想图像与点扩散函数h(t)卷积的结果,而调制传递函数MTF就是系统点扩散函数h(t)经过Fourier变换的结果。

MTF是一个频域的概念,代表不同频率成分对比度的衰减,在光学评价方法中,它的单位是lp/mm,即每毫米/线对,代表每mm范围内,有几个明暗相间的正弦条纹。测试一个光学系统的MTF,就是测试对不同疏密(lp/mm为单位)的条纹的对比度衰减。(lp/mm通常是指像平面上的线对数。)

根据Shannon采样定理,对于频率为f 的信号,我们至少要用2f的频率来采样,才能把它恢复出来。从前面的叙述,我们知道,空间频率一般是用探测器上每毫米线对数来表示的,我们至少需要两个像素来采样它,即两个像素尺寸对应一个线对宽度。这也就是光学设计中奎奈斯特截止频率计算公式的由来,即:

截止频率=1/(2*像元尺寸)

那么回到最初的问题,艾里斑多大才与我们的像元尺寸相匹配,这决定了我们光学设计中F数的选择。

根据瑞利判据,当两个相邻的艾里斑距离为其半径时,这两个艾里斑勉强能够分辨出来。

即一个线对宽度等于艾里斑的半径,在这个频率往上,系统是衍射受限的。哪怕没有任何像差,MTF都很差,细节几乎不可分辨。

即艾里斑直径最大不能超过两个像元尺寸,否则该系统将无意义。

但是在设计中,没必要做的这么极限,另外还要考虑公差对像质的影响。

所以,一般取线对宽度等于艾里斑的直径,即一个像元尺寸等于艾里斑的半径,此时截止频率处衍射极限的MTF值约为0.5,是可以接受的。

 当然艾里斑可以更小,这样截止频率处的MTF值会更高,但是F数太大在光学设计中是件很头疼的事,各种像差带来的影响也很难使MTF接近衍射极限。

毕竟光学设计本身就是一件不断取舍的工作。

所以我们在设计中,常取F数,使得艾里斑半径等于像元尺寸大小即可。

注1:在红外设计中,将点列图优化到艾里斑内并将MTF曲线优化到接近衍射极限即可,不必太关注RMS半径值。

注2:在需求中,F数是有要求的,比如红外常要做到F1.0,反过来即可,即挑选合适的探测器。如果探测器也选定,且像元尺寸很小,那只能BIN了,牺牲分辨率。

注3:原文链接:https://blog.csdn.net/glorydream2015/article/details/44966369

(原文作者的一个例子,懒得打字,直接引用)

对于一个F数为2.8的镜头,假设我们用555nm的黄绿光来成像,像素大小做到多少合适呢?我们取线对宽度等于艾里斑的直径大小作为依据,此时只考虑衍射的话,MTF约有0.5,也还算可以了。一个线对对应两个像素,那么一个像素大小就相当于艾里斑的半径,也就是1.22λF,算出来约为1.9微米。如果固定传感器大小的话,那么它的像素数就是有上限的。到达一个限度,再增加像素数,就会导致像素小于1.9微米,再增加的像素已经提供不了新的信息了。

(批注:即艾里斑半径大于一个像素,像素和像素之间是模糊的,如果BIN的话,其实还是分辨率变少,所以现在市场上的超高像素相机或者手机实在是噱头,以致于只能宣传BIN的好处。)

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

艾里斑大小与像元尺寸的匹配问题 的相关文章

随机推荐

  • C# list根据字段生成排名

    需求分析 xff0c 我们要根据一个变量来生成排名 xff0c 变量数值相同则在同一名 xff0c 名数则跳过 xff0c 比如第一有两个 xff0c 那就不会有第二名 xff0c 直接到第三名 直接上代码 span class token
  • .net 6 web api项目添加日志(Serilog)管理,将日志输出到控制台、文件、数据库

    1 在nuget安装下面几个包 Serilog Serilog AspNetCore 用于日志输出到控制台 Serilog Formatting Compact 用于日志输出到mysql数据库 Serilog Sinks MySQL 用于日
  • GDB调试-新手笔记3

    ldd命令 43 readelf ldd 在制作自己的发行版时经常需要判断某条命令需要哪些共享库文件的支持 xff0c 以确保指定的命令在独立的系统内可以可靠的运行 ldd stack0 可以找到stack0程序使用的共享库 xff0c l
  • Spring源码分析(一)Spring的环境搭建与架构

    目录 一 Spring的基本信息1 1 Spring 概述1 2 架构 二 环境搭建2 1 gradle的安装与配置2 2 Spring源码构建 本图 xff1a 川西旅游中拍摄的 xff08 业余摄影 xff09 官网 xff1a Hom
  • RNA-seq:转录组数据分析处理(上)

    RNA seq xff1a 转录组数据分析处理 xff08 上 xff09 目录 RNA seq xff1a 转录组数据分析处理 xff08 上 xff09 一 流程概括二 准备工作1 fastq测序文件2 注释文件和基因组文件的获取 三
  • STM32串口数据接收 --环形缓冲区

    STM32串口数据接收 环形缓冲区 环形缓冲区简介 在单片机中串口通信是我们使用最频繁的 xff0c 使用串口通信就会用到串口的数据接收与发送 xff0c 环形缓冲区方式接收数据可以更好的保证数据丢帧率第 在通信程序中 xff0c 经常使用
  • Linux下驱动开发

    Linux下驱动开发 1 简介 驱动 xff0c 是指驱动计算机里软件的程序 驱动程序全称设备驱动程序 xff0c 是添加到操作系统中的特殊程序 xff0c 其中包含有关硬件设备的信息 驱动程序是操作系统与硬件连接的桥梁 设备驱动最通俗的解
  • openstack单网卡使用多IP说明、openstack虚拟机IP通网关但同网段IP不互通处理方法

    文章目录 openstack虚拟机IP通网关但同网段IP不互通处理方法问题描述处理方法 Openstack中单网卡使用多ip openstack虚拟机IP通网关但同网段IP不互通处理方法 问题描述 云平台的防火墙虚拟机部署再我们云平台上 x
  • Collections.singletonList使用方法

    方法注释 应用 xff1a 这个方法主要用于只有一个元素的优化 xff0c 减少内存分配 xff0c 无需分配额外的内存 xff0c 可以从SingletonList内部类看得出来 由于只有一个element 因此可以做到内存分配最小化 x
  • 如何修改电脑的MAC地址(手把手更改)

    打开控制面板 xff0c 显示如下 xff0c 然后点击 网络和Internet xff08 windows 43 r xff0c 然后输入control xff0c 按下回车 xff0c 即可打开控制面板 xff09 点击完 网络和Int
  • evo的快速安装Ubuntu 18.04

    由于一键安装成功后打开轨迹后报错 xff1a ERROR evo module evo main traj crashed no logfile written disabled 不会解决 xff0c 索性直接用源码安装方式 xff1a 如
  • 基于 SpringBoot + Vue 的音乐网站系统(源代码+数据库+思路文档)

    一 系统介绍 本项目分为管理员与普通用户两种角色 管理员角色包含以下功能 xff1a 后台对用户 歌曲 歌手 歌单信息的管理 用户角色包含以下功能 xff1a 音乐播放用户登录注册用户信息编辑 头像修改歌单打分歌单 歌曲评论歌单列表 歌手列
  • Linux下PS1设置

    PS1简介 PS1命令是linux系统中的一个全局变量 xff0c 用于定义用户命令行的字符显示 学名为 xff1a 默认提示符 盲猜Power Shell 1 PS1变量 span class token comment shell查看变
  • Linux内存管理

    Linux中的程序都是在进程中执行的 xff0c 而每个进程都有自己的虚拟地址空间 xff0c 进程中的内存操作 xff0c 比如访问 xff0c 插入数据都是在这块虚拟地址空间上操作的 虚拟地址空间 虚拟地址空间是一个进程所使用的虚拟内存
  • Maven库打包解决方案:No plugin found for prefix ‘install’ in the current project and in the plgin groups

    问题描述 我的外部本地包 xff0c 需要打包到我的maven库里 然后报错如下 No plugin found for prefix install in the current project and in the plgin grou
  • Ant Design Blazor表格高度自适应

    Ant Design Blazor表格高度自适应 一 先导入js 在 Host cshtml导入js lt component type 61 34 typeof App 34 render mode 61 34 ServerPrerend
  • Gson临时文件被删除造成的stackOverflowError

    错误内容 今天使用Gson序列化的时候出现了stackOverflowError的错误 xff0c 内容如下 xff1a at span class token class name span class token namespace c
  • tcpdump命令参数说明和使用实例、linux解析公网地址会卡顿一下解决方法

    文章目录 tcpdumptcpdump的参数选项基本返回值查看基本用法抓取指定网络接口的所有流量抓取指定网络接口指定主机地址 IP 域名 的所有流量只取出端口 3333 的联机数据包获取指定协议的数据包 如udp 在网口eth1上抓取源端口
  • Linux系统桌面环境(又称图形界面)有哪些?

    Linux系统有许多不同的图形用户界面 xff08 Graphical User Interface xff0c 简称GUI xff09 xff0c 又称桌面环境 以下几乎涵盖了所有的桌面环境 GNOME xff1a GNOME是Linux
  • 艾里斑大小与像元尺寸的匹配问题

    写给自己看的学习记录 xff1a 光具有波粒二象性 xff0c 由此衍生出了几何光学与衍射光学 在光学设计软件中 xff0c 最常用的判断标准是查看点列图的RMS半径以及MTF图的曲线 xff0c 这两者分别代表了两种传播性质的评价方式 在