目录
超宽带接收机设计中的ADC参数分析
1. ADC的指标
1.1 无杂散动态范围(Spurious Free Dynamic Range, SFDR)
SFDR是用来表征ADC的可用动态范围的,这是由于ADC本身的非线性导致了谐波或者杂散对输入信号进行了干扰,因此使用该指标来对其进行衡量。用公式表示SFDR的定义为:
S
F
D
R
(
d
b
c
)
=
20
l
o
g
(
F
u
n
d
a
m
e
n
t
a
l
A
m
p
l
i
t
u
d
e
(
R
M
S
)
L
a
g
e
s
t
S
p
u
r
A
m
p
l
i
t
u
d
e
(
R
M
S
)
)
SFDR_{(dbc)}=20log\left(\frac{Fundamental\ Amplitude(RMS)}{Lagest\ Spur\ Amplitude(RMS)}\right)
SFDR(dbc)=20log(Lagest Spur Amplitude(RMS)Fundamental Amplitude(RMS))
1.2 信噪比(Signal-to-Noise Ratio)
信噪比 (SNR) 是一般用来量化ADC内噪声的参数。它是输入信号功率与噪声功率的比值,一般使用dB 作为单位。类似地,SNR 也能使用信号幅度和噪声幅度的 RMS 值衡量,用公式表示为:
S
F
D
R
(
d
B
c
)
=
P
o
w
e
r
s
i
g
n
a
l
P
o
w
e
r
n
o
i
s
e
SFDR(dBc)=\frac{Power_{signal}}{Power_{noise}}
SFDR(dBc)=PowernoisePowersignal
在满刻度正弦波输入条件下,ADC的理论最高 SNR 从量化噪声推导而得。在奈奎斯特带宽上,信噪比和理想ADC位数之间的关系如下:
S
N
R
d
B
=
6.02
N
+
1.76
SNR_{{dB}} = 6.02N + 1.76
SNRdB=6.02N+1.76
由于采样抖动,信噪比在较高频率下一般会劣化。噪声来自于三个源头:
- 量化噪声
- ADC 热噪声
- 抖动或采样不确定噪声(采样时钟抖动)
上述三个源头中,采样时钟抖动带来的影响使得ADC对采样时钟的jitter指标也提出了要求,且该抖动的影响在高速ADC中更为明显。
1.3 信噪失真比(Signal-to-(Noise+Distortion) Ratio, SNDR)
信噪失真比(也称为 SINAD)指输入正弦波时,RMS 信号功率与 总噪声功率和输出端(不含 DC)的所有其他频率分量功率加上所有其他谐波分量功率的 RMS 和的比值。
SNDR 是用于衡量数据转换器的动态性能的关键参数之一,因为 SNDR 包含奈奎斯特带宽上的所有噪声和杂散。SNDR 说明的是输入信号的质量;SNDR 越大,输入功率中的噪声和杂散比率越小。SNDR 的定义用公式表示为:
S
N
D
R
=
10
log
10
(
P
s
i
g
n
a
l
P
n
o
i
s
e
+
P
d
i
s
t
o
r
t
i
o
n
)
SNDR = 10\log10\left(\frac{P_{signal}}{P_{noise}+P_{distortion}}\right)
SNDR=10log10(Pnoise+PdistortionPsignal)
1.4 有效位数(Effective Number Of Bits, ENOB)
有效位数 (ENOB) 是用于衡量ADC相对于输入信号在奈奎斯特带宽上的转换质量(以位宽为单位)的参数。ENOB 假定ADC是拥有理论上完美性能的转换器。完美的ADC绝对不发生失真,因此唯一产生的噪声是量化噪声,所以SNDR=SNR(dBFS) = 6.02N + 1.76。因此,ENOB也是指定SNDR 的另一种表达方式。
ENOB(N)
=
SNDR
d
B
F
S
−
1.76
6.02
\textrm{ENOB(N)} = \frac{\textrm{SNDR}_{dBFS}-1.76}{6.02}
ENOB(N)=6.02SNDRdBFS−1.76
ADC数据手册中会给出ENOB的值,我们一般会认为使用ENOB值即代表了该ADC的满量程SNDR。
2. UWB接收机对ADC的要求
我们以802.15.4z标准中的HRP-UWB物理层为例来讲解该接收机对ADC的需求。该协议的物理层带宽为499.2MHz,考虑奈奎斯特采样定理,其ADC的采样频率可以设置为带宽的2倍,即998.4MHz。
2.1 ENOB
由于UWB是一个扩频系统,且对ADC的ENOB指标可以适当降低,假定ENOB=3,则其SNR为:
SNR
q
u
a
n
t
=
6.02
×
N
+
1.76
=
19.82
d
B
\textrm{SNR}_{quant} =6.02 \times N + 1.76=19.82dB
SNRquant=6.02×N+1.76=19.82dB
2.2 Jitter
时钟抖动对SNR的影响,我们定义为
S
N
R
j
i
t
t
e
r
SNR_{jitter}
SNRjitter,忽略孔径抖动,其计算公式如下:
SNR
j
i
t
t
e
r
=
−
20
log
10
(
2
π
×
f
i
n
×
T
j
i
t
t
e
r
)
\textrm{SNR}_{jitter} = -20\log10\left(2 \pi \times f_{in} \times T_{jitter}\right)
SNRjitter=−20log10(2π×fin×Tjitter)
其中,
f
i
n
f_{in}
fin为输入信号频率,
T
j
i
t
t
e
r
T_{jitter}
Tjitter为采样时钟的抖动。
如果热噪声的影响全部放入ENOB中,则ADC的完整信噪比可由下式给出:
SNR
A
D
C
=
−
20
log
10
1
0
−
SNR
q
u
a
n
t
10
+
1
0
−
SNR
j
i
t
t
e
r
10
\textrm{SNR}_{ADC} = -20\log10\sqrt{10^{-\frac{\textrm{SNR}_{quant}}{10}}+10^{-\frac{\textrm{SNR}_{jitter}}{10}}}
SNRADC=−20log1010−10SNRquant+10−10SNRjitter
考虑输入信号频率的最大值为500MHz,对ADC的信噪比画图,可以得到下图,其中横轴为jitter值,纵轴为SNR。由图中可知,在10ps以内的jitter,对SNR的影响相对较小。
N = 3; % ENOB
fin = 500e6;
jitter = [1e-12:1e-12:50e-12]; % 1ps
snr_quant = 6.02 * N + 1.76;
snr_thermal = 1000; % just ignore it as we don't know NSD
snr_jitter = -20 * log10(2*pi*fin*jitter);
% snr_adc = -20 * log10(sqrt(power(10, -snr_quant/10) + power(10, -snr_thermal/10) + power(10, -snr_jitter/10)));
snr_adc = -10 * log10(power(10, -snr_quant/10) + power(10, -snr_thermal/10) + power(10, -snr_jitter/10));
plot(jitter, snr_adc);
参考文献
[1] Understanding Key Parameters for RF-Sampling Data Converters, WP509, Xilinx, (wp509-rfsampling-data-converters.pdf • 查看器 • AMD 自适应计算文档门户 (xilinx.com))