做过数据采集或者模拟电路的同学很可能知道下面这个关于ADC信噪比的著名公式:# b% z7 o& d; D: q" y6 Y
5jchdnlmgj364018461323.png
1 Y) [& j" W) O0 b/ l: G其中N是ADC的位数,比如对于一个10bit的ADC,N=10,当ADC采集一个满量程的正弦波时,那么信噪比SNR=6.02*10+1.76=61.96dB,那么这个公式是怎么来的呢?! Z' ~! ~! H( N5 X
ADC量化噪声% L5 ?) ]6 }( V% D E! \
下图是理想ADC的量化噪声示意图,从下图可以看到,对于一个线性输入的模拟信号,ADC会产生台阶式的输出,这个输入和输出的误差波形近似于一个峰峰值q=1LSB的锯齿波,它的有效值RMS计算过程见公式(2)(q=1LSB),LSB计算过程见公式(3),其中FS是ADC的输入电压范围,。
# M/ [7 U6 \$ Q9 B
rvjex13oacp64018461423.png
7 [9 a* K: {3 _. P
0 Z2 Y2 t3 @9 a3 K: D
pk3vchq2hvq64018461523.png
8 U) v9 b$ U) \! k
SNR
! _% y1 m9 W( ^* B以前的文章介绍过SNR计算过程,信噪比是信号的有效值(RMS)除以噪声的有效值(RMS),
$ l/ a3 ^9 g3 k+ Y0 x; X
s4t515bi1yk64018461623.png
4 K- s+ s; C% b% P4 ^
: F, [/ J, @8 s对于一个满量程输入的正弦信号见公式(5),根据公式(5)可以求得公式(6),) ~8 Z- e) `5 I' j+ m
masiqhj0vcv64018461723.png
+ B% B# G2 {0 p* ~ I5 u& g: A0 ~
对于满量程ADC而言,其输入范围是0-FS,那么输入的正弦信号的幅度范围就是0-Fs/2,见下图示意图,因此公式(5)中的分母是2
$ _% ^+ }$ u6 X9 u7 T0 W" W
2lud3hcmxgk64018461823.png
p9 q" a* R& ^
ADC信噪比SNR与位数N
6 b# n; n4 j6 W, q2 y那么到目前为止,我们知道了信号的有效值(RMS),即公式(6),也知道了ADC量化噪声的有效值(RMS),即公式(2)。把公式(6)和公式(2)带入公式(4)得到公式(7):# Z3 R' f" m/ s7 B* E5 a6 p: y$ A: b7 C
gl1iwzvzidg64018461923.png
0 B* O6 c" ~ R) _8 a9 i公式(7)不够简化,我们继续化简(高中学的指数运算规则),可以得到公式(8),
, _. k! [( S; `% A" h
r5itp1aar0v64018462023.png
( q, u) c; E6 i' W由此我们就推导出了ADC位数N与信噪比SNR的关系,是不是和公式(1)一模一样?0 `2 r% }7 Q0 ~5 G$ l1 |
多说几句
# ]4 J/ A' ~: I- C: l2 g/ F: P上式的成立条件是信号带宽比较高。
% e3 G5 S; t% \9 h1 _如果信号带宽(或者说频率)很低,低于奈奎斯特采样频率fs/2,那么这会导致信号带宽范围内的噪声减小,进而使得SNR增加。1 D: Z+ o+ G0 a2 e6 U# Z
这就是常说的过采样,详细内容后面后机会在介绍。
0 L$ q k. Q6 x& G$ y" q# Z另一点值得说明的是,在评估噪声时,常用到频谱分析,频谱的本底噪声值与采样点数量有关。
( q8 c$ W) f5 c3 S2 o3 u如果采样点多,那么本底噪声就会低,如果采样点数量减小,那么本底噪声就会增加,这被称为FFT增益。0 ]4 q3 j2 b8 h+ T% g2 U. _+ D. K
因此在噪声分析时,最好要自始至终使用相同数量的采样点进行分析,避免被不正确的评估方法误导。 |