ADC 性能仿真:如何从 FFT 计算 SINAD?

信息处理 fft 噪音
2021-12-22 07:12:49

在处理这个问题时,我开始怀疑我最初的定义

SINAD=10log10(pfi(pi)p0pf)dB

是正确的。在这个等式中,是频率处的 FFT bin 的功率,是包含信号频率的频率 bin 的功率,是 DC 分量。上的和累加所有频率分量,然后去除 DC 分量和信号频率pxxpffp0ip0pf

更具体地说,我不确定我从维基百科描述部分i(pi)

(a)原始调制音频信号的功率,即来自调制射频载波的功率与(b)剩余音频功率,即去除原始调制音频信号后剩余的噪声加失真功率之比。使用此定义,SINAD 级别可能小于 1。

与等式相比,“原始调制音频信号”处于频率,这在 FFT 的项中得到说明。我从以下论文中得到fpfp0

“了解 SINAD、ENOB、SNR、THD、THD + N 和 SFDR”文档中,它说

信噪比和失真(SINAD,或 S/(N + D) 是 rms 信号幅度与所有其他频谱分量(包括谐波)的和方根 (rss) 平均值之比,但不包括直流

看着这些定义,我可以想到 SINAD 的另一种可能的定义,即

SINAD=10log10(pfi(pi2)p0pf)dB

它使用 FFT 结果的噪声和失真箱的 RSS(和方根)。但是,该文件中的“平均值”究竟是什么意思?

3个回答

如果 SINAD 可以仅从期望值和方差确定,则可以确定 SINAD 如何转换。方差被保留,而期望值增长为,其中 N 是采样集大小。假设噪声 + 失真具有方差σ2μNσ2

因此,SINAD 值将被确定为

SINAD=Psignal+Pnoise+PdistortionPnoise+Pdistortion=N|μ|2+σ2σ2=NSNR+1

如果需要,我可以更详细地解释这一点。

该文件中的“平均值”究竟是什么意思?

在时域中,SINAD 被计算为信号的 RMS 值与噪声 + 失真的 RMS 值的比率,因此我相信 AD 文档中的平均值是指 RMS 测量中的平均值。在频域中进行计算隐藏了均值运算,因为 DFT 系数的大小已经被调节为与时域 RMS 值成比例。RMS 值作为平方相加,然后对结果取平方根以获得复合 RMS 值。RSS 实现了必要的算术运算。

查看您的 ADC 数据表,大多数情况下它们提供了一个公式,甚至解释了如何计算它。

我的说:

SINAD 是基波功率 (PS) 与所有其他频谱分量功率的比值,包括噪声 (PN) 和失真 (PD),但不包括直流。

因此公式为:

10log10(PSPN+PD)