无杂散动态范围(Spurious Free Dynamic range ,SFDR) 是衡量A/D和D/A数据转换器(ADC/DAC)的指标,表示在杂散分量干扰基本信号或导致基本信号失真之前可用的动态范围。 SFDR定义: 正弦波信号(载波)均方根 (RMS)值与从0 Hz到二分之一数据转换器采样速率(Fs/2)范围内测得的输出峰值杂散信号均方根值之比。用公式表示如下: 数据转换器的SFDR 常受输入信号的二次或三次谐波限制,但通过精心设计滤波器和优化频率分配,一般可避免二次谐波(HD2)和/或三次谐波(HD3),从而大幅提高SFDR。 dBc和dBFS: 细心的你可能注意到上图中出现了两种单位:dBc和dBFS。其实,SFDR通常以dBc(相对于载波频率幅度)或dBFS(相对于数据转换器的满量程范围)表示。 当要比较两款数据转换器的SFDR时,需要给定基准电平及其工作和信号条件。我们来对比一下AD9625和AD9680的SFDR,打开它们的官方DataSheet,如下图。其中红色框中给出SFDR时都给出了对应的条件。 通常,SFDR是在预先定义的窗口或奈奎斯特频率内观测的。例如下图,观测窗口选择中间的白色部分,其SFDR将大很多,这是因为整个Fs/2内的最大杂散分量并没有落入定义的观测窗口。 可以看出,限制SFDR性能的是最恶劣二次谐波或三次谐波,但如果使用正确信道滤波并采用理想采样时钟和良好频率分配,可以轻松地滤除这样的带外谐波。 函数sfdr(x,fs) Matlab中有函数sfdr可以直接使用,具体你可以在Matlab中的帮助文档中输入sfdr查看。下面是利用该函数计算的SFDR,程序很简单,仅供参考。 %% 测量SFDR Fs = 200e6; % 采样率 dt = 1/Fs; T = 1e-5; F0 = 10e6; F2 = 20e6; % 假设二次谐波 F3 = 30e6; % 假设三次谐波 SNR = 60; % 信噪比 % 产生信号、杂散以及噪声 t = 0:dt:T-dt; st = cos(2*pi*F0*t)+0.001*cos(2*pi*F2*t)+0.002*cos(2*pi*F3*t); st = awgn(st,SNR); 给信号加上噪声 % Matlab函数测量SFDR sfdr(st,Fs) |
|
来自: wanglh5555 > 《待分类》