简介

在测试和验证分辨率高于 16 位的高精度快速模数转换器(ADC)的交流性能时,需要用到近乎完美的正弦波生成器,该生成器至少支持 0 kHz 至 20 kHz 音频带宽。通常会使用价格高昂的实验室仪器仪表来执行这些评估和特性表征,例如 Audio Precision 提供的音频分析仪 AP27xx 或 APx5xx 系列。大多数情况下,24 位或更高分辨率的现代高速 SAR 和宽带Σ-Δ ADC 都采用单电源和全差分输入,因此要求用于 DUT 的信号源具备准确的直流和交流性能,同时提供全差分输出(180°错相)。同样,这款交流生成器的噪声和失真水平应该远优于这些 ADC 的规格,根据大部分供应商提供的规格,其本底噪声水平远低于 –140 dBc,失真水平低于–120 dBc,输入信号音频率为 1 kHz 或 2 kHz,最高可达 20 kHz。有关适合高分辨率带宽 ADC 的典型测试台的典型测试配置,请参考图 1。最关键的元件就是正弦波生成器(单信号音或多信号音),其中基于软件的直接数字频率合成器(DDS)可以提供完全的灵活性、极高的频率分辨率和时钟同步性能,利用数据采集系统来执行相干取样,以避免泄漏和 FFT 窗口滤波。

 

因为成本只有音频精密分析仪的几分之一,所以能够基于直接数字频率合成(DDFS)原理设计非常精准的正弦波生成器,但需要通过软件在 SHARC 处理器等浮点 DSP 处理器上实现。一个相当快的浮点 DSP 将能满足实时性要求,以及所有算法和处理条件,以达到先进的 SAR ADC 所设置的失真和噪声性能水平。通过利用 SHARC 内核架构的全字数据长度(32 位或 64 位定点格式)来实施 NCO 相位累加,利用专有的 40 位浮点扩展精度来执行正弦近似函数,以及利用数字滤波器来确定频谱形状,量化效应(回转噪声和截断噪声)得到大幅降低,与用于信号重构的数模转换器(DAC)缺点相比,这种效应可以忽略不计。

 

直接数字频率合成

1970 年 4 月,Joseph A. Webb1 提出了数字信号生成器频率合成器的专利申请,其中描述了有关 DDS 生成包括正弦波等各种模拟波形的考虑因素,只需使用数个数字逻辑模块即可实现。之后,Tierney 等人 2 在 1971 年初发表了论文(后来成为大家频繁引用的参考文献),阐述了通过深化 DDS 操作进行正交生成来实现直接数字频率生成,以及采样系统理论相关局限性(字词截断和频率规划)问题。随后出现的实际应用大部分依赖于分立式标准逻辑 IC,例如 TTL 74xx 或 ECL 10K 系列。后来在不到 10 年的时间里,Stanford Telecom、Qualcomm、Plessey 和 ADI 等纷纷推出了完全集成式解决方案,例如 ADI 的 AD9950 和 AD9955。这些逻辑 IC 旨在实现速度、功率和成本之间的最佳平衡,其架构基于查找表(LUT),以确保在有限相位、频率和幅度分辨率下实现相位 - 正弦幅度转换。如今,ADI 公司仍然是 DDS 独立集成电路的最大供应商,可能也是最独特的供应商,而当前的数控振荡器(NCO)往往都集成到 AD9164 或 AD9174 之类 RF DAC 中。虽然这些器件在多 GHz 带宽上具备出色的噪声和线性度性能,但它们都不适合测试中等速度、高分辨率 ADC,例如 LTC2378-20、AD4020 或 AD7768。

 

图 1. 基于 IEEE 1241 标准的典型 ADC(ac)测试设置的处理链。DDFS 能够让整个测量系统完全实现数字化,具备多种优势,包括完全的灵活性和相干取样采集

 

与基于 PLL 的传统频率合成器相比,NCO 和 DDS 的显著优势包括:极高的频率分辨率、快速灵敏性,以及可轻松生成完美正交的正弦 / 余弦波形。此外,还提供宽带宽范围和高直流精度。其工作原理受数字信号处理和采样系统理论,数字特性支持对输出信号的相位、频率和幅度实施全数字独立控制。图 2 所示的框图显示传统 DDS 的架构,该 DDS 由三大功能模块组成:


u        N 位相位累加器;
u        相位 - 正弦幅度转换器,由 W 位截取相位输入字表征特性;
u        D 位 DAC 及其相关重构滤波器。

 

相位累加器由简单的 N 位加法器结合寄存器构成,寄存器的内容按照采样时钟 FCLK 的速率,以输入相位增量Δθ(通常也称为频率调谐字,FTW)更新。累加器会定期溢出,在采样或参考时钟 FCLK 和 DDS 输出频率 FOUT 之间像小数分频器一样运行,或像齿轮箱一样运行,分频比为:

 

 

溢出速率为生成的波形提供输出频率,使得:

 

 

其中 0 ≤ FTW ≤ 2N–1。因为分频器的原因,NCO 输出端的参考或采样 fS 时钟相位噪声的影响会降低

 

 

相位累加器寄存器的输出表示生成波形的电流相位。每个分立式累加器输出相位值然后通过相位 - 正弦或相位 - 余弦映射引擎,被转换成幅度正弦或余弦数据或样本。此功能通常利用存储在 LUT(ROM)中的三角函数值完成,有时通过执行正弦近似算法完成,或两者组合方式完成。相位 - 正弦幅度转换器的输出供 DAC 使用,在滤波之前生成量化和采样正弦信号,使信号平稳,并避免频谱混叠。由 DAC 有限分辨率导致的幅度量化设定了本底噪声以及相应的频率合成器信噪比(SNR)的理论限值。此外,DAC 作为混合信号器件,由于其 INL、DNL、压摆率、毛刺和建立时间等特性,展现出一系列直流和交流非线性,这会产生杂散信号音,缩小正弦波生成器的整个动态范围。

 

基于图 2 中架构实现的实际正弦波形生成器,主要是相位 - 幅度转换模块不同,受数字无线电应用这一市场导向影响,该模块通常针对速度和功耗,而不是高精度而优化。实施相位 - 正弦幅度转换器最简单的方法就是使用 ROM,采用一对一映射的方式来存储正弦值。遗憾的是,LUT 的长度与相位累加器的宽度 N 呈指数增长(2N),并且与波表数据字精度 W 呈线性增长。而且,减小累加器的尺寸或截断其输出之间的权衡和取舍会导致频率分辨率降低,并且严重降低 SFDR 的性能。结果表明,相位或幅度量化导致的杂散会降低–6 dB/ 位。实现精细的频率调谐通常需要较大的 N,已有几种技术可用来限制 ROM 的尺寸,同时保持足够的杂散性能。一般会使用简单的压缩方法,利用正弦或余弦函数的四分之一波长对称性将相位幅度范围减小 4 倍。为了进一步缩小范围,实际会使用截断相位累加器输出的方法,不过这会导致产生杂散谐波。尽管如此,这种方法也因精准的频率分辨率要求、存储器尺寸和成本考量而得到了广泛采用。建议采用多种角分解方法,以降低基于 LUT 的方法对存储器的要求。与使用各种分段、线性或多项式内插法的幅度压缩结合,在进行需要正弦和余弦函数的 I/Q 合成时,准确估算正弦函数的第一象限,或按[0, π/4]间隔估算。同样,在没有 ROM LUT 的情况下,只需要按照逐次逼近的方法调用位移和添加操作,即可使用基于角旋转的方法有效生成复杂信号。这种方法以流行的 CORDIC 为代表,当硬件乘法器不可用时,或者出于速度或成本考虑,应最大限度减少实施函数所需的栅级数量时(在 FPGA 或 ASIC 中),此方法通常比其他方法更快。相反,当硬件乘法器可用时(在 DSP 微处理器中总是如此),采用插入方法和完整多项式计算(例如泰勒级数展开、切比雪夫多项式)的表查找要比 CORDIC 更快,尤其是要求高精度时。

 

图 2.NCO 的主要功能部分,以及与完整的直接数字频率合成器的区别,其中包括重构 DAC 和其相关的 AAF。NCO 部分可用于测试或仿真 DAC

 

在软件中实现高精度 NCO

如同著名的惠普分析仪,或者如同应用笔记 AN-1323 中描述的那样,构建与最出色的模拟振荡器具备同等或更出色的失真性能的高精度交流信号振荡器并不容易,即使是针对音频频谱(直流至 20 kHz 范围)。然而,如前所述,利用嵌入式处理器具有的足够运算精度来执行相位计算(ωt)和正弦函数(sin(ωt))近似计算,从而完整实施软件,这显然有助于最大限度减少量化的不利影响、噪声和由此导致的杂散。这意味着图 2 中的所有 NCO 功能模块都会转换成代码行(不是 VHDL!),从而实现一个满足实时约束的软件版本,以确保实现最小的采样速率和所需的频率带宽。

 

对于相位 - 正弦幅度转换引擎,完整的 LUT 方案或任何变化都需要用到太多的存储空间或太多的插值运算来实现完美的正弦一致性。相反,用于计算正弦近似值的多项式方法允许使用成本极低的通用 DSP,在复杂性与精度之间达成了不错的平衡。多项式级数展开也很有吸引力,因为它相对简单,并且能够采用选择的幂级数类型提供充分的灵活性,并且调整算法来实现给定精度。它不需要很大的存储空间(可能不到 100 行 SHARC DSP 汇编代码),只需要几个 RAM 位置来存储多项式系数和变量,因为正弦值只在采样时刻计算。

 

首先,对于正弦近似值函数,显然会选择使用具有适当顺序的泰勒 / 麦克劳林幂级数来满足目标精度。但是,由于幂级数在端点处往往会失效,所以在执行任何多项式求值之前,必须将参数输入范围缩小到更小的区间。如果不缩小参数范围,只能使用非常高阶的多项式来支持在功能域(例如[–π, +π])中实现高精度。所以,需要对初等函数进行一些变换,以获取所需的约化参数,例如 sin(|x|) = sin(f + k × π/2)和 sin(f) = sin(x – k × π/2),其中 0 ≤f<π/2。因此,对于三角函数,要特别注意不要使用减法相消,以免严重降低精度,并导致灾难性后果,特别是在运算精度极差的情况下。在我们的例子中,当相位输入大于或接近π/2 的整数倍数时,会发生这种情况。

 

除了周期性和 modulo-2π重复之外,sin(x)函数的对称性可用于进一步缩小近似值范围。鉴于正弦函数在区间[0, 2π]内,关于点 x = π不对称,所以能够使用以下关系式:

 

 

将范围缩小到[0, π]。采用同样的方式,sin(x)在区间[0, π]内,关于由 x = π/2 定义的线对称,所以:

 

 

x 在区间[0, π/2]以内,这会进一步缩小角输入近似值的范围。通过进一步缩小参数区间(例如[0, π/4])来提高精度并不是有效方法,因为这需要同时估算正弦和余弦函数的值,如常用三角关系所示:sin(a+b) = sin(a) × cos(b) + cos(a) × sin(b),从生成正交信号这一角度,这有其价值。

 

ADI 公司的 ADSP-21000 系列应用手册第 1 卷描述了一个近乎理想的(用于嵌入式系统)正弦近似值函数,该函数基于为第一个 ADI DSP 浮点处理器编写的幂级数优化,即 ADSP-21020,后者基本上属于 SHARC 核。这种 sin(x)的实现方法依赖于 Hart 等人 4 发布、由 Cody 和 Waite5 完善、适用于浮点运算的极大极小逼近多项式,以减少舍入错误和避免出现前面提到的取消。极大极小方法依赖于切比雪夫多项式和雷米兹交换算法来确定所需的最大相对误差的系数。如图 3 中的 MATLAB 所示,与第七阶泰勒多项式 6 相比,设置系数的微小变化可能会明显提高极小极大值的精度。为了实现精度与速度的最佳平衡,这个正弦近似值函数的角输入范围应该缩小到[–π/2 至+π/2]区间内,且软件程序包含一个有效的范围缩减滤波器,约占总“正弦”子程序执行时间的 30%。

 

图 3. 不同于泰勒 - 麦克劳林方法围绕 0 进行定义,极小极大正弦逼近方法在[–π/2 至+π/2]区间内,会最小化和均衡最大相对误差。

 

虽然所有计算都可以使用 32 位定点算法执行,但多年以来,最常见和最方便的数学计算格式是 IEEE 754 浮点标准,特别是在处理长数字时。作为一家 DSP VLSI 芯片制造商,ADI 公司从一开始就率先采用了 IEEE 754-1985 标准。当时还没有单芯片浮点 DSP 处理器,只有简单的浮点乘法器和 ALU 计算 IC,如 ADSP-3212 和 ADSP-3222。这种格式取代了计算机行业的大多数专有格式,成为所有 SHARC DSP 处理器的本机格式,采用单精度 32 位、扩展精度 40 位,以及最近出现的适用于 ADSP-SC589 和 ADSP-SC573 的双重精度 64 位。

 

具备 32 位尾数的 SHARC 40 位扩展单精度浮点格式为这种正弦波生成应用提供了足够的精度(u 2–32),且有助于保持均等,Cody 和 Waite 表示第 15 阶多项式的总体近似精度为 32 位,在[0 至+π/2]输入域内具有均匀分布的误差。为了最大限度减少运算次数并保持精度,最后的调整是对多项式计算执行霍纳法则,这是一种快速求幂的方法,可以求取一个点的多项式值,所以:

 

 

R1 至 R7 是多项式级数的 Cody 和 Waite 系数,只需要进行 8 次乘法和 7 次加法即可计算任何输入参数ε[0, π/2]的正弦函数值。以汇编子程序的形式编写的完整 sin(x)近似代码在 SHARC 处理器上大约执行 22 个核心周期。原有的汇编子程序在更改之后,在获取 40 位多项式浮点系数时执行同步双存储器访问,以减少 6 个周期。

 

图 4. 软件 DDS 简化框图给出了处理单元之间的各种量化步骤的数据运算格式和位置。

 

NCO 64 位相位累加器本身在执行时,就用到了双精度 2 的小数格式的 SHARC 32 位 ALU。提供存储器更新的整个相位累加器执行过程需要 11 个核心周期,因此,每个 NCO 输出样本都在约 33 个核心周期内生成。

 

图 4 中的框图显示了基于软件 DSP 的 NCO 的功能模块实现方案,每级都参考了运算格式精度。此外,进行信号模拟重构以及实现完整的 DDFS 还需要用到一个或两个 DAC 及其模拟抗混叠滤波器电路。处理链的关键元件包括:


u        64 位相位累加器(SHARC ALU 双精度,带溢出);
u        64 位小数定点到 40 位浮点转换模块;
u        范围缩减模块[0 至+ π/2]和象限选择(Cody 和 Waite);
u        正弦逼近算法(Hart),用于相位 - 幅度转换;
u        –1.0 至+1.0 范围内的 sin(x)重构和归一化级;
u        LP FIR 滤波器和 sin(x)/x 补偿(如果必要);
u        以及 40 位浮点至 D 位定点转换和标度函数,以匹配 DAC 数字输入。


可以在 NCO 输出端放置一个可选的数字低通滤波器,以去除可能进入目标频段的杂散和噪声。或者,该滤波器可以提供插值和 / 或逆 sin(x)/x 频率响应补偿,具体由选择用于模拟重构的 DAC 决定。这种低通 FIR 滤波器可以使用 MATLAB Filter Designer 工具设计。例如,假设采样频率为 48 kSPS,带宽为 DC 至 20 kHz,带内纹波为 0.0001 dB,带外衰减为 -150 dB,则可以实施具有 40 位浮点系数的高质量均衡纹波滤波器。它只有 99 个滤波系数,在单指令单数据(SISD)单计算单元模式下,总执行时间将消耗约 120 个 SHARC 核心周期。经过数字滤波后,使用其中一个 DSP 同步串行端口,由 DMA 将计算的样本对发送至 DAC。为了获得更好的速度性能,链接 DMA 操作也可以使用大型乒乓存储器缓冲区来支持块处理操作。例如,块数据大小可以等于 FIR 数据延迟线的长度。

 

为了实现最佳 SFDR,在 NCO 上进行的最后调整

如前所述,NCO 遭受杂散的主要原因是对相位累加器输出的截断,其次是针对通过计算或列表得出的正弦值的幅度量化。相位截断引起的误差通过相位调制(锯齿形)在载波频率附近产生杂散,而正弦幅度量化引起与谐波相关的杂散,不过长期以来一直被认为是随机误差和噪声。如今,在 Henry T. Nicholas 和 H. Samueli 撰写的技术论文 7 中,从数学角度深入阐述了相位累加器的操作。在深入分析的基础上,提出了一种模型,将相位累加器视为分立式相位样本排列生成器,并据此预测频率杂散。无论相位累加器参数(M、N、W)是多少,相序的长度都等于

 

 

(其中 GCD 是最大公约数),如图 4 所示,由频率调谐字 M 最右边的位位置 L 决定。因此,L 的值定义序列类别,这些类别彼此共享自己的相位分量集,但根据

 

 

比率重新排序。这些在时域内生成的截断相位样本序列被用来通过 DFT 确定频率域内各杂散线各自的位置和大小。这些序列还表明,M (FTW)的奇数值显示最低频率杂散的幅度,并建议对相位累加器进行简单的修改以满足这些最低程度的条件(只需在 FTW 中添加 1 LSB)。如此,相位累加器的输出序列必须始终具有相同的 2N 个相位元素,无论相位累加器的 M 值和初始内容是什么。之后,最差的杂散信号音幅度等级降低 3.922 dB,等于 SFDR_min (dBc) = 6.02 × W。由 Nicholas 更改的相位累加器为 NCO 提供了多种优势,首先,它消除了 FTW 最右边的位非常接近 MSB(FMCW 应用中的频率扫描)的情况,其次,它让杂散幅度与频率调谐字 M 无关。这种修改可以通过按采样速率 fS 切换 ALU LSB 来轻松实现,如果 FTW LSB 置位至逻辑 1,则可以仿真与相位累加器相同的行为。相位累加器大小 N = 64 位时,对于所需频率 FOUT 的精度,可以将½ LSB 偏移视为可忽略的误差。

 

图 5.FTW 最右边非零位的位置确定了理论上 SFDR 的最差水平。由 Nicholas 修改的相位累加器解决了采用任何 N 值的问题,并且使 NCO 的 SFDR 最大。

 

采用 32 位输出相位字 W 时,由相位截断导致的最大杂散幅度会限制为–192 dBc!正弦采样值的有限量化也会导致产生另一组频率杂散,该杂散通常被认为是噪声,可采用大家熟知的 SNRq(dB) = 6.02 × D + 1.76 公式进行估算。这必须添加到寄生参数中,因为相位 - 正弦幅度转换算法阶段的近似误差被认为是可以忽略的,但是,必须非常谨慎地选择相位 - 正弦近似算法和计算精度。

 

这些结果表明,从理论水平上,我们的软件正弦 NCO 的线性和噪声都远远超过了测试市场上大多数高精度 ADC 所需的阈值。它仍然需要找到信号链中最后一个、也是最关键的元件:重构 DAC 及其互补模拟抗混叠滤波器和相关的驱动电路,以满足预期的性能水平要求。

 

重构 DAC:关键之处!

首先可能会选择具备出色的非线性误差(INL 和 DNL)规格的高精度 DAC,例如出色的 20 位高精度 DACAD5791。但是它的分辨率只有 20 位,而且其 R-2R 结构不支持实施信号重构,特别是产生非常纯的正弦曲线,这是因为在输入代码转换期间,它存在很大毛刺。传统的 DAC 架构基于二进制加权电流发生器或电阻网络构建,对数字直通和数字开关损伤(例如外部或内部时序摆动),以及数字输入位的其他开关不对称非常敏感,特别是在会导致能量变化的重大转变期间。这就产生了与代码相关的瞬态,从而产生高幅度谐波杂散。

 

在 20 位以上的分辨率下,使用外部超线性快速采样和保持放大器对 DAC 输出去毛刺并无太大帮助,这是因为它在几十 LSB 下会生成自己的瞬态,且会因为重采样产生组延迟非线性。信号重构主要存在于通信应用,通过使用分段架构(混合适用于 MSB 的完全解码部分和适用于最低有效位的二进制加权元件)来解决毛刺问题。遗憾的是,目前还没有超过 16 位精度的商用 DAC。与 NCO 完全可预测的行为不同,DAC 误差难以预测和准确仿真,尤其是当制造商的动态规格很小或者不存在时,但专用于音频应用的 DAC 或 ADC 除外。插值过采样和多位∑-∆ DAC 似乎是唯一的解决方案。这些先进的转换器具有高达 32 位的分辨率、超低失真和高信噪比,是在中低带宽内实施信号重构的最佳选择。为了在音频频谱或稍宽的频段(20 kHz 或 40 kHz 带宽)内实现出色的噪声和失真性能,可以使用 ADI 公司产品系列中杰出的∑-∆ DAC 产品,音频立体声 DACAD1955, 虽然分辨率最高为 24 位,这款 DAC 仍然是市场上非常受欢迎的音频 DAC。

 

这款音频 DAC 于 2004 年推出,基于多位Σ-Δ调制器和过采样技术,配合各种技巧,用于缓解这种转换本身固有的失真和其他问题。8

 

即使目前,AD1955 采用的插值 LP FIR 滤波器仍然是同类出色产品。它具有极高的阻带衰减(≈–120 dB)和极低的带内波纹(≈±0.0001 dB)。它的两个(左侧和右侧通道)DAC 可以以最高 200 kSPS 速度运行,但在 48 kSPS 和 96 kSPS 时实现最佳交流性能,其动态范围以及立体声模式下的 SNR,都支持典型的 EIAJ 标准、A 加权 120 dB 系数。在单声道模式下,两个通道同时异相组合,性能有望提高 3 dB。但是,对于宽带应用,这些规格不太实际,这是因为它们是合成的,带宽范围在 20 Hz 至 20 kHz 之间。带外噪声和杂散不会超过 20 kHz,部分是因为 EIAJ 标准、A 加权滤波器和音频行业规格定义。这种满足特定音频测量要求的带通滤波器模拟人耳的频率响应,与未滤波的测量值相比,性能提高 3 dB。

 

DDFS 硬件演示平台:采用 AD1955 实现正弦波重构

整套 DDFS 使用两个评估板实现,一个支持 DSP 处理器,一个适用于采用 AD1955 DAC 进行模拟信号重构。选择第 2 代 SHARC ADSP-21161N 评估板的原因在于其可用性、易用性,以及适合任何音频应用的精简配置。目前仍在量产的 ADSP-21161N 于不久之前设计,支持工业高端消费电子和专业音频应用,提供高达 110 Mips 和 660 MFlops,或 220 MMACS/s 容量。与最新一代的 SHARC 处理器相比,ADSP-21161N 最大的不同在于它采用较短的 3 级指令管道、一个片内 1 Mb 三端口 RAM,以及数量更少的外设。精准信号音生成器的最后和最关键的级基于 AD1955 评估板,该板必须从软件 NCO 提供的样本中,以完全还原的方式重构模拟信号。这个评估板带有一个抗混叠滤波器(AAF),优化音频带宽来满足 Nyquist 标准,除了常用的 S/PDIF 或 AES-EBU 接收器外,还配有两个串行音频接口,用于支持 PCM/I2S 和 DSD 数字流。PCM/I2S 串行链路连接器用于将 AD1955 DAC 板连接到 ADSP-21161N EVB 的串行端口 1 和 3 连接器(J)。这两个板都可以配置为采用 I2S PCM 或 DSP 模式,以 48 kSPS、96 kSPS 或 192 kSPS 采样速率运行。DSP 串行端口 1 生成左右通道数据、字选择或左 / 右帧同步,以及双频 DAC 的数字输入接口所需的 SCK 位时钟信号。串行端口 3 仅用于生成运行 DAC 内插滤波器和Σ-Δ调制器所需的 DAC 主时钟 MCLK,调制器以比输入采样频率(48 kSPS)快 256 倍(默认)的速度运行。由于所有 DAC 时钟信号都由 DSP 生成,所以使用 Crystek 提供的超低噪声振荡器 CCHD-957 替代了板原有的低成本爱普生时钟振荡器。其相位噪声在 1 kHz 下可能低至–148 dB/Hz,适用于 24.576 MHz 输出频率。

 

在模拟输出端,有源 I/V 转换器必须用于在恒共模电压下(通常为 2.8 V)保持 AD1955 电流差分输出,以最大限度减少失真。像 AD797 这样的超低失真和超低噪声的高精度运算放大器能够满足此需求,还可用于处理模拟信号重构。 由于两个差分输出由 DSP 分别处理,因此选择了具有 AAF 拓扑结构的立体声输出配置,而不是单声道模式。这个 AAF 使用 LTspice XVII 进行仿真,结果如图 6 所示。由于滤波器的最后一部分是无源的,所以应该像最近推出的 ADA4945 那样增加一个有源差分缓冲级。这种具备低噪声、超低失真、快速建立时间特性的全差分放大器是近乎完美的驱动任何高分辨率 SAR 和Σ-Δ ADC 的 DAC 配件。ADA4945 具有相对较大的共模输出电压范围和出色的直流特性,可以提供出色的输出平衡,有助于抑制偶数阶谐波失真产品。

 

EVB 三阶滤波器的–3 dB 截止频率为 76 kHz,在 500 kHz 下仅衰减–31 db。这款低通滤波器具备出色的带内平坦性,但带外衰减必须大幅改善,即使是限于纯粹的重构音频应用。要抑制 DAC 成型噪声和调制器时钟频率 MCLK,就必须满足这一点。根据软件 DDS 的具体使用,用于单信号音生成器或任意波形生成器(生成复杂波形时为 AWG),必须优化 AAF,以解决带外衰减或群延迟失真。以大家熟悉的 SRS DS360 超低失真函数生成器为例进行比较,采用 7 阶 Cauer AAF 可达到类似的采样速率。信号重构由 AD1862 完成,后者是一款串行输入 20 位分段 R-2R DAC,适用于数字音频应用。AD1862 在高达 768 kHz (×16 fS)频率下可以保持 20 位字采样速率,且具备出色的噪声和线性度。它支持单端电流输出,所以能够使用最出色的放大器来实施外部 I-V 转换。

 

图 6.LTspice 仿真 AD1955 EVB 三阶抗混叠滤波器(立体声配置)的频率响应。

 

AD1955 和 SHARC DSP 组合针对多种高分辨率 SAR ADC 实施测试,例如 AD4020,其中未设置外部可选无源滤波器。默认情况下,基础 AD4020 评估板除了板载 ADA4807 驱动器之外,并无其他选项可用。用于在 V_REF/2 共模电压下偏置 ADC 输入的简单电路提供相当低的 300 Ω输入阻抗,需要使用信号隔离、交流耦合,或使用外部差分放大器模块,例如 EVAL-ADA4945-1。电路笔记 CN-0513 中描述的 AD4020 参考设计板就是一项不错的选择。它包含一个分立式可编程增益仪表放大器(PGIA),提供高输入阻抗,支持±5 V 差分输入信号(G = 1)。虽然这些 AD4020 板和它们的 SDP-H1 控制器不支持相干采样采集,但它们具备出色的样本波形捕捉长度,最高可达 1M。因此,可以实现具备可选窗口的 FFT,提供出色的频率分辨率和低本底噪声。例如,对于 7 项 Blackman-Harris 窗口,图 7 中所示的 1 Mpts FFT 图描述了 AD1955 在生成的 990.059 Hz 正弦波下的失真水平。二次谐波是 350 kHz 带宽内–111.8 dBc 下的最大失真分量和最大杂散。但是,在考虑整个 806 kHz ADC Nyquist 带宽时,SFDR 受∑-∆ DAC 调制器、内插滤波器频率和其二次谐波(384 kHz 和 768 kHz)限制。

 

图 7. 从 1 M 点 FFT 分析中可以看出,在低于–111 dBc 下具备不错的失真性能,在 1 kHz 输入频率下,10 kHz 至 200 kHz 频段内出现最大杂散。本底噪声约为–146 dBFS。

 

在相同条件下,对传统的 AD1862 进行测试,结果显示频率行为略微不同。在差分配置下,两个 20 位 DAC 的时钟速度约为 500 kSPS,在 1.130566 kHz 下,本底噪声为–151 dBFS,正弦输出水平为 12 V p-p 时的 THD 为–104.5 dB。在 AD4020 Nyquist 带宽(806 kHz)下,SFDR 接近 106 dB,受三阶谐波限制。DAC 重构滤波器基于两个 AD743 低噪声 FET 放大器,与 AD1955 评估板中的滤波器一样,属于三阶滤波器,但是 -3 dB 时的截止频率为 35 kHz。

 

为了变得有效,基于 DDS 的生成器需要采用不错的滤波器,支持在约 250 kHz 下实现大于 100 dB 衰减,以生成达到 25 kHz CW 信号频率范围的直流。这可以使用六阶切比雪夫滤波器实现,甚至使用用于显示出色带内平坦度的六阶巴特沃兹低通滤波器实现。滤波器阶将被最小化,以限制模拟级的数量和问题点,例如噪声和失真。

 

结论

在标准评估板上实施的初级和开箱即用测试显示,用于传统正弦波 CW 生成的基于处理器的 DDS 技术要实现高性能指日可待。通过精心设计重构滤波器和模拟输出缓冲级,可以实现–120 dBc 谐波失真系数。基于 DSP 的 NCO/DDS 不只受到单信号音正弦波生成限制。通过使用具备合适的截止频率,且无其他硬件变更的优化 AAF(贝塞尔或巴特沃兹),同样的 DSP 和 DAC 组合可用作高性能 AWG 来生成任何类型的波形,例如,完全合成可设置参数的多信号音正弦波(可以完全控制每个分量的相位和幅度)来实施 IMD 测试。

 

由于浮点算法对于要求高精度和 / 或高动态范围的应用至关重要,如今,低成本 ADSP-21571 或 SoCADSP-SC571(ARM 和 SHARC)等 SHARC+ DSP 处理器实际上是业界的实时处理标准,支持最高 10 MSPS 的合计采样速率。双 SHARC 内核和其硬件加速度计采用 500 MHz 时钟频率,可以提供高于 5 Gflops 的计算性能和数十个内部专用 SRAM,后者是生成各种波形,以及实施复杂的分析处理需要的基本组成部分。此类应用表明,在实施精准的数字信号处理时,并非一定要系统性地使用硬件可编程解决方案。得益于 ADI 公司的 CCES、VDSP++ C 和 C++编译器,以及全套仿真器和实时调试器,浮点处理器及其整个开发环境可以快速轻松地从仿真器(例如 MATLAB)移植代码,以及快速实施调试。