关注公众号

关注公众号

手机扫码查看

手机查看

喜欢作者

打赏方式

微信支付微信支付
支付宝支付支付宝支付
×

高精度SAR模数转换器的抗混叠滤波考虑因素(四)

2020.10.05

无论是FIR还是IIR类型的多相滤波器都是抽取或插值滤波器最有效的实现方案之一。然而,传统数字处理方案要求在抽取之前进行滤波。在此假设下,1/M抽取滤波器由低通滤波器和紧随其后的采样频率降级组成(图6a)。预先对信号滤波,避免频谱混叠,然后以M-1的速率定期消除样本。然而,常规FIR或其他结构针对这些抽取滤波器的直接实现方案存在资源浪费问题,因为被拒样本是几十甚至几百次累乘(MAC)的结果。使用分解成若干滤波器组的多相滤波器或是针对抽取进行优化的滤波器,可以基于某些特点(如图6b所示)形成高效的滤波器。

凭借FIR滤波专用SIMD架构和硬件加速器,以及针对数字信号处理而优化的指令集,SHARC ADSP-21479特别适合实现这些类型的滤波器。每个SHARC处理单元都有一个32/40位乘法器累加器,能够在266 MHz的CPU频率下,每秒实现533次定点或浮点MAC计算。然而,对于一些存在显著延迟(房间均衡或音效)的应用,需要增加计算能力,使内核从诸如FIR、IIR、FFT滤波等密集和持续乘法运算中解脱出来,用专门的硬件加速器去执行这些运算。如此,用户就能完全自主决定,将CPU用于计算需要执行复杂搜集的复杂算法。FIR滤波专用加速器有专门的本地存储器,用于存储数据和系数,并具有以下特征:

图5.通过解串行将8个20位1 MSPS SAR ADC接入SHARC DSP;DMA数据传输进DSP内部RA

图6a和6b.常规抽取滤波器和采用多相方案的抽取滤波器。

支持IEEE-754定点或浮点32位算术格式

有四个并行运行的累乘单元

支持单速率和多速率处理模式(抽取或插值)

一次简单迭代可以处理最多32个FIR滤波器,总共多达1024个系数

ADSP-21479的加速器的时钟速率与系统时钟或PCLK外设的速率相同,为CPU CCLK时钟频率的一半;即133 MHz。基于此,其总计算能力为533 MAC/秒。加速器不要求执行指令;其运算由特定寄存器的配置决定,并且完全依靠DMA传输在内部和/或外部存储器之间移动数据。

显然,该加速器能以最优方式执行多速率滤波器的实现方案(插值或抽取)。由于简单的抽取滤波器仅为M个输入信号提供一个输出结果,因此,输出速率比输入速率低1/M倍。这种优化型FIR滤波器的实现方案没有采用复杂的多相滤波器组,因为后者需要大量的存储器指针,实现起来非常复杂;相反,该方案只是把M-1个样本的输出搁置起来,避免执行这些计算,并且只计算能产生有用样本的数据。这就消除了浪费,结果,运算次数以M-1的比率减少——在本例中为15——从而大大地节省了CPU周期。然而,在这样的抽取速率和如此短的计算窗口下,加速器不如有两个计算单元的内核有效,并且在信号从一个过滤器传到另一个过滤器的过程中,其DMA通道因被重新编程会造成不利影响。如果在SISD模式下用一个计算单元实现,则这类滤波器在CCLK周期数方面的成本可表示为:

FIR_Decim_Cycles = N + 2× M + 19(5)

N为滤波器的系数的个数,M为抽取速率。

对于这种抽取滤波器一次迭代的实现成本,FIR滤波器条件下约为150个周期(源到汇编器21k),在0 kHz至24 kHz频段,纹波规格为±0.00001 dB,在62,500 SPS采样速率下,带外衰减为-130 dB。这款滤波器有97个系数(以32位FP IEEE-754格式量化),其响应如图7所示,该图是用MATLAB? Filter Designer制成的。对于接入的SIP或ADC的每个活动通道,响应以该采样频率在DMA中断实例中重复出现。

图7.抽取滤波器的滤波器响应。

对于实时和DSP负载,滤波操作以62.5 kSPS的频率重复,代表9,375,053个CCLK周期,而8个ADC转换通道的重复频率则略多于8倍,因为每个滤波器的存储器指针值都存储在SHARC数据地址生成器中,可以实现快速保存和恢复。这相当于,在SISD模式下,一个SHARC DSP为每秒8000万个执行周期(或80 MIPS),在SIMD模式下,由于两个处理单元并行运行,则为该值的一半。在前述两种模式下,这8个抽取器FIR滤波器在执行时,分别以30%和15%的速率以及266 MHz的时钟频率占用ADSP-21479。

功耗

虽然转换器的功耗可以从其规格中轻松、准确地推算出来,但处理器的功耗则要困难得多,因为处理器功耗的计算公式涉及多个参数,并且实时条件和工作模式会对其造成极大的影响。这里虽然没有详细说明,但读者可以在相关技术笔记中,轻松找到与ADSP-214xx和ADSP-21479处理器各组件功耗估算相关的说明,其中考虑了功能模块的活动、静态电流结温、电源电压值、使用的输入输出引脚数、各种外部频率和容性负载。依据图5中的功能描述,针对DSP和ADC的若干组合,给出了与DSP在这类抽取滤波应用中活动情况相对应的功耗。对于这些搭载四个或八个ADC的相关DSP变体,需要根据功能容量、输入/输出的数量、处理器的计算能力以及ADC的整体性能确定其功耗。凭借超低的静态电流,以ADSP-21479及其八个SAR ADC集群为核心构建的解决方案不但是功耗最低的解决方案,同时提供丰富的滤波算法选择和其他数字功能,在整体性能方面也是出类拔萃。

这个多通道数据采集系统(DAQ)的例子同时证明,实施数字信号处理任务不一定要使用FPGA,浮点DSP更适合高精度SAR ADC,尤其是在高度关注功耗的情况下。


推荐
热点排行
一周推荐
关闭