SAR ADC系列3:ADC动态指标 您所在的位置:网站首页 adc如何走位 SAR ADC系列3:ADC动态指标

SAR ADC系列3:ADC动态指标

2023-04-01 03:53| 来源: 网络整理| 查看: 265

目录

量化误差

 量化噪声功率计算

信噪比SNDR 

 ADC SNDR Matlab计算

动态范围DR (Dynamic Range)

 SFDR(Spurious Free Dynamic Range)

SDR & THD

量化误差

量化步进:1LSB = VFS / 2^N 。满量程VFS:(-0.5LSB ~ 2^N-1)LSB量化误差 = ADC输出 - ADC模拟输入

以N=3为例:VFS = -0.5LSB ~ 7.5LSB                      量化误差范围:[-0.5 , 0.5] LSB

 量化噪声功率计算

假设输入信号为一个斜率足够小的斜坡信号,最大幅度为VFS 如何计算量化噪声的RMS值?       ■  假设输入信号摆幅远大于LSB       ■  假设输入信号不是直流信号       ■  假设信号不限幅

量化噪声:

信噪比SNDR 

 ADC SNDR Matlab计算

■ SNR = 6.02*N + 1.76         N = 8,SNR = 50 dB;         N = 10,SNR = 61.68 dB;         N = 12,SNR =74 dB;         N = 14,SNR = 85.84 dB;         N = 16,SNR = 98 dB;         N = 20,SNR = 122 dB;

        在Demo Codel中,信号周期数M=37为质数,建议读者可以尝试M取偶数,比如M=32,看看DFT效果,并尝试去解释该种现象。 

clear;clc; N = 1024; M = 37; fin = 1e6; fs = N*fin/M; Ts = 1/fs; t = 0:Ts:(N-1)*Ts; LSB = 2/2^10; vin = sin(2*pi*fin*t); vin = round(vin/LSB)*LSB; % vin/LSB四舍五入 figure(1); plot(t,vin); s = fft(vin); s = abs(s) + 1e-6; s_dB = 20*log10(s); s_dB = s_dB - max(s_dB); s_dB = s_dB(1:N/2); figure(2); f = (0:N/2-1)*fs/N; plot(1:N/2,s_dB); % 计算SNR sig_bin = M+1; s = s(1:N/2); s = s.^2; power_sig = s(sig_bin); power_noise = sum(s) - power_sig; snr = 10*log10(power_sig/power_noise)

动态范围DR (Dynamic Range)

ADC能够线性处理的最大信号和最小信号之间的比值。

 DR=\frac{Maximum Signal Power}{Minimum Detectable Signal}\ge SNR_{peak}

 SFDR(Spurious Free Dynamic Range)

信号 和 最大的谐波 的功率之比 取dB 

SDR & THD

THD = 所有的谐波加起来和信号的功率之比,不考虑噪声仅考虑非线性。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有