何谓无杂散动态范围 (Spurious Free Dynamic Range,SFDR)
SFDR 是一款指标,用于衡量 A/D 和 D/A 转换器 (ADC/DAC) 的性能。具体来说,SFDR 表明杂散分量干扰基本信号或导致基本信号失真之前可以使用的动态范围。
SFDR 计算
正弦波信号 (载波) 均方根 (RMS) 值与从 0 Hz 到数据转换器采样速率二分之一 (Fs/2) 范围内测得的输出峰值杂散信号均方根值之比,即为 SFDR。其数学表达如下:
$$SFDR = 20 log_{10} \left(\frac {V_{RMS_{signal}}}{V_{RMS_{spur}}} \right)$$
ADC/DAC 中的 SFDR
数据转换器的 SFDR 通常受输入信号的二次或三次谐波限制。峰值杂散分量可以是谐波关系或非谐波关系。通过精心设计的滤波器和优化频率分配,通常可以避免二次谐波 (HD2) 和/或三次谐波 (HD3),从而显著提高 SFDR。
SFDR 单位
需要注意的是,SFDR 通常以 dBc(相对于载波频率幅度)或 dBFS(相对于数据转换器的满量程范围)表示。
SFDR 比较
在比较不同数据转换器的 SFDR 时,务必指定基准电平以及操作和信号条件。
SFDR 测量
SFDR 通常在预定义窗口或奈奎斯特频率内进行测量。如果测量窗口仅包含信号谐波,那么 SFDR 值会更低;如果测量窗口包含杂散分量,那么 SFDR 值就会更高。
影响 SFDR 的因素
限制 SFDR 性能的主要因素是最高二次谐波或三次谐波,但通过使用适当的信道滤波以及理想的采样时钟和频率分配,可以轻松消除这些带外谐波。
MATLAB 中的 SFDR 计算
MATLAB 中提供了 sfdr 函数,可用于直接计算 SFDR。以下代码仅供参考:
“`
sfdr_value = sfdr(signal, fs, resolution);
“`