ADC 分辨率、LSB、电压计算器
从分辨率和参考电压计算LSB电压、量子化误差、动态范围、代码↔电压转换、ENOB、过采样
使用方法
- 选择设备预设(Arduino / ESP32 / STM32 / 16bit)或输入分辨率(bit)和参考电压Vref
- 选择LSB约定(2^N标准 / 2^N−1端点)
- 显示1LSB电压、代码数、量子化误差、动态范围、理想SNR
- 输入代码或电压,另一方会双向计算
- 在分辨率比较表中,可以比较同一Vref下各位深度的LSB
- 输入SINAD时会得到ENOB(有效分辨率),输入额外位时会得到过采样所需倍数
适用场景
- 想知道从分辨率和参考电压中1LSB是多少mV/µV时
- 想将ADC读数(代码)转换为电压,或将电压转换为代码时
- 确认Arduino的analogRead转电压时应该用1024还是1023相除时
- 想从数据表的SINAD求有效分辨率(ENOB)时
- 想知道过采样时增加多少位需要多少倍样本时
常见问题
analogRead转电压时应该用1024还是1023相除? ▼
两者都使用。1024(=2^N)忠实于ADC的传输函数,每个代码代表宽度为Vref/1024的箱(读数1023为4.9951V,不会正好是5V)。1023(=2^N−1)线性映射0~Vref,读数1023正好是5V。最精确的是用1024相除并加上+0.5LSB的偏移。本工具的约定切换可以确认两种结果。
LSB、量子化误差、动态范围的关系是什么? ▼
1 LSB = Vref ÷ 2^N 是每个代码的电压,量子化误差是±0.5 LSB。动态范围是6.02·N dB(满量程÷1LSB的比值),理想SNR是满量程正弦波时的6.02·N + 1.76 dB。增加1bit的N时,LSB减半,动态范围改善约6dB。LSB随Vref和约定变化,但动态范围/SNR仅由N决定。
过采样可以将分辨率提高到什么程度? ▼
要将分辨率提高w位,需要对4^w倍的样本进行求和,然后用2^w相除(抽取)。例如将12bit转换为14bit相当需要4^2 = 16倍的样本。但前提是输入有1LSB以上的随机噪声(必要时加抖动),如果噪声太小就没有效果。有效分辨率 = N + w,有效LSB = Vref ÷ 2^(N+w)。
相关工具
JSON格式化与验证器
JSON格式化、压缩、验证
JSON→电子表格转换
将JSON数据转换为类似Excel的网格,选择单元格范围进行复制
Base64编码/解码
文本和文件的Base64转换
URL编码/解码
URL编码转换
正则表达式测试器
正则表达式的实时测试和匹配
文本差异查看器
对比显示文本差异
进制转换
在二进制、八进制、十进制、十六进制等任意基数之间转换数值
位操作模拟器
按位进行运算并通过视觉方式模拟
SLA 可用率计算器
从 SLA 可用率计算停机时间
IP地址/子网计算器
计算IPv4和IPv6子网、网络地址和主机范围
Cron 时间线
将crontab执行计划以时间线、日历和甘特图形式可视化
布隆过滤器 模拟器
可视化模拟布隆过滤器的工作原理并计算最优参数
systemd 计时器生成器
通过 GUI 交互式生成 systemd 的 .timer / .service 单元文件
UART 波特率计算器
根据时钟和目标波特率计算分周比、误差和寄存器值
PWM定时器配置计算器
从时钟和预分频器·计数器值计算和反算PWM频率·占空比·分辨率与寄存器设置值(PSC/ARR/CCR)
定时器中断周期·时钟分频计算器
根据时钟和分频器·计数值计算中断周期·频率。从目标周期反推最优PSC/ARR