黄浩,王法翔
(福州大学 物理与信息工程学院,福建福州,350108)
目前,工业生产自动化技术发展迅速,而准确地测量数据结果是自动化技术中最重要的一个组成部分。在自动化的流程当中,测量精度影响着工艺参数的准确性,甚至影响了工作效率与产品质量。与各种传感器联系紧密的模数转换器(analog digital converter,ADC)在工业中应尽呈现出高精度、低功耗的性能,并且需要适应各种不良环境。各类技术中,由于结构简单和能对抗电路非理想影响,Sigma Delta 转换技术是这种高分辨率应用中的首选[1]。
一般地,Sigma Delta ADC 包含模拟电路与数字降采样滤波电路两个部分,其中数字滤波电路由于需要较多的计算单元,硬件消耗较大[2],影响着整个ADC 的面积。同时,非理想的滤波器总是会引入量化噪声,影响最终的性能。
1974 年,有学者第一次提出了一种具有降采样数字滤波的多位过采样Sigma Delta ADC[3],为数字滤波器的研究开创了先河。级联式积分梳状(cascaded integratorcomb,CIC)滤波器由于其特殊的结构与抽取和内插功能,从此被广泛应用于各种多速率系统。然而,单阶CIC 滤波器阻带衰减特性较差,主瓣衰减也不明显,还会引入通带衰减问题。目前一般在CIC 滤波器后级联半带滤波器[4]或利用线性内插二阶多项式(interpolated second-order polynomials,ISOP)滤波器[5]对CIC 滤波器造成的通带衰减进行补偿。同时,将滤波器的抽头系数存入存储器中也是减少一种硬件开销的常用方式。
因此,一种优秀的数字滤波器应该具有以下特点:(1)减少对原信号产生明显的衰减;(2)减少计算单元的硬件消耗;(3)实现降采样功能。
基于上述的分析,本文介绍了一种应用于Sigma Delta ADC 的数字降采样滤波器设计,对整体架构进行分析与选择,在CIC 滤波器后级联反正弦滤波器与半带滤波器进行补偿,同时引入非递归结构降低延时。最后对加法器、乘法器进行复用,以达到降低面积与功耗的效果。
一般来说,Sigma Delta ADC 主要包括三个部分,前级抗混叠滤波器,调制器,数字降采样滤波器。
Sigma Delta 调制器由于其过采样技术与噪声整形技术能够获得较高的精度:带内噪声由于过采样被抬高到了带外,简略的示意图如图1 所示。N1为原本的噪声,N2为过采样后的噪声,可以看到噪声的总量不变,但是带内的噪声减少了。因此,调制器的高速输出想要转换成数字信号供后级设备使用,就必须级联数字滤波器进行低通滤波与降采样[6]。
图1 Sigma Delta 噪声频谱示意图
本文提出的数字滤波器各级指标如表1 所示,由CIC滤波器、Arcsine 滤波器、HalfBand 滤波器级联而成,级联结构如图2 所示。使用多级级联的数字滤波器可以显著降低滤波器的阶数,若使用一级FIR 滤波器达到该指标,经设计需要1798 阶。在实际应用中,这种阶数是设计者无法接受的。采取级联结构,只需要4 阶CIC 滤波器,48 阶Arcsine 滤波器,64 阶HalfBand 滤波器即可。
图2 数字滤波器结构图
本文提出的数字滤波器结构则如图2 所示,Arcsine 滤波器与HalfBand 滤波器均为FIR 滤波器。由CIC 滤波器先完成32 倍的降采样,再由两级FIR 滤波器完成2 倍降采样,最终实现128 倍降采样,输出数据速率为2000 SPS。
CIC 滤波器是一种特殊的滤波器,主要应用在多抽取率系统,用于数字信号的插曲和内插。正如前文所述,单级CIC 滤波器的衰减特性较差,故一般多用多级级联。多级级联的CIC 滤波器系统函数为:
其中,N为级联的滤波器个数,R为抽取倍数,M为滤波器的延迟因子。
CIC 滤波器在降采样系统应用中是主流,这主要是由于它能在不使用乘法器的情况下减少采样率。在Sigma Delta ADC 的应用中,多个CIC 滤波器级联能有效抑制信号带外噪声。一般来说,CIC 滤波器的阶数应为N=L+1,其中L为所设计的调制器的阶数。当N
一般来说,CIC 滤波器有递归型与非递归型两种。非递归型CIC 滤波器速度更快,但是却不适用于本文。这是由于在音频、心电等应用中,我们通常需要一个线性相位的FIR 滤波器以避免相位失真[8]。以本文为例,非递归的CIC滤波器的系统函数另一种实现方式可由下式推导得出:
对比两种系统函数,使用(1)式进行FIR 的窗函数或等波纹设计法实现的线性相位滤波器能够在多种应用中表现更好。本文所设计的CIC 滤波器的频谱特性如图3 所示。
图3 CIC 滤波器幅频曲线
作为一种有效进行多速率信号处理任务的滤波器,CIC滤波器也有缺点。如图3 所示,当CIC 滤波器的抽取倍数较大或阶数较高时,滤波器的通带衰减非常严重。通常会使用可编程的其他滤波器来提升CIC 滤波器的通带响应,但这引入了大量的硬件消耗。引入固定系数的第二级滤波器最早可追溯至A.Y.Kwentus,这样可以减少硬件消耗[9]。关于CIC 滤波器的补偿问题,将在后文进行更为详细的叙述。
CIC滤波器的结构依次为积分器,抽取器,梳状器的级联。这样的结构使得梳状器能工作在采样频率/R 的速率下,有利于降低功耗。在积分器中应设置好位宽防止出现溢出[10],内部寄存器最常用的公式为:
其中,Bin为输入位数,在此处与调制器的量化位数有关,N 表示CIC 滤波器的阶数,R 表示抽取倍数,M 表示延迟因子。以本文为例,与三阶一位量化调制器级联时,应将位宽设置为21 位以满足积分器的增益。而在梳状器中,内部溢出的数据并不需要处理,使用补码进行操作的过程中不会出现错误。
我们知道,当CIC 滤波器级联的阶数越多,抽取倍数越大,引入通带滚降就越严重。因此,如果想要得到最好的补偿效果,就应当降低CIC 滤波器的级联阶数与抽取倍数。但是,级联阶数已经确定,无法再改变,只能从降低抽取倍数入手。在本设计中,总降采样倍数为128,若完全使用CIC 滤波器进行抽取,在1kHz 信号带宽处,衰减将增加10dB,大大增加了抽取难度。
常见的ISOP 滤波器结构简单,能完成补偿效果,但是无法实现降采样。此时对CIC 滤波器的系统函数进行分析,可写出如下式的幅频特性:
其中sin 为正弦函数,对该幅频特性做倒数,得到下式:
其中,sinc 为反正弦函数。级联幅频特性为 式(5)的数字滤波器即可完成对CIC 滤波器的补偿。借助MATLAB的fdatool可以使用等波纹法进行Arcsine滤波器的设计[11]。在Arcsine 滤波器中再加入抽取功能,能够有效降低前级CIC 滤波器的降采样倍数。
本文设计的Arcsine滤波器的通带补偿效果如图4所示,图中从级联后幅频特性曲线中可以看到通带明显得到补偿,通带纹波小于0.01dB。
图4 CIC 与Arcsine 滤波器级联幅频特性曲线
半带滤波器是一种FIR 滤波器,图5 是FIR 滤波器的原始结构。可以看到,FIR 滤波器需要大量的乘法器与加法器进行计算,这会引入过多的硬件消耗。半带滤波器有着系数对称以及一般系数都为零的特点,能够在应用中节省大量的硬件资源[12]。
图5 FIR 滤波器基本结构
同时,从图6 可见:半带滤波器的幅频特性呈现出对称的特点。即设计合理的半带滤波器的通带与阻带几乎相等,而过渡带很窄。所以一般将半带滤波器作为整个数字滤波器模块的最后一级以改善整体过渡带表现。N 级的半带滤波器可以完成2 的N 次幂的抽取,这也可以进一步减少CIC 滤波器的抽取倍数,降低通带衰减的补偿难度。
图6 半带滤波器幅频特性曲线
在[13]中提出了CIC 滤波器后要级联补偿滤波器,但只给出了通带的补偿方法,并未讨论过渡带与阻带,这会导致整体滤波效果不好。图7 为本文设计的级联后的数字滤波器的幅频特性曲线与CIC 滤波器的对比。可以看到,通过两级的补偿,数字滤波器拥有平坦的通带以及较窄的过渡带。
图7 本文数字滤波器与CIC 滤波器的幅频特性曲线
为了减少加法器与乘法器的使用,本文在设计中在保证时序功能的前提下,对各个计算单元进行复用,有效减少了硬件消耗。以第三级半带滤波器为例,复用后的结构如图8所示。
图8 计算单元复用示意图
在图8 中,引入了选择器对半带滤波器的系数进行选择。具体时序如图9 所示,由于到第三级滤波器降采样倍数已经是128 倍,此时半带滤波器的输入采样频率为4kHz,也就是每一个周期有64 个系统时钟周期可以进行工作。可以利用这些周期复用乘法器与加法器,依次进行乘加计算。
图9 计算单元复用时序图
为了测试本文所设计的数字降采样滤波器的性能,在前级级联了一个Sigma Delta 调制器。经分析,聚焦于工业测量和医疗应用的调制器的信噪失真比(Signal-to-Noiseand-Distortion Ratio,SNDR)至少应达到92dB。
提高Sigma Delta 调制器的性能的方法主要有两种,增加调制器的阶数与增加量化位数。在实际应用中,Sigma Delta 的调制器很少使用超过4 阶的结构,因为这会导致系统不稳定。同时,量化位数的增加也带来了功耗的提升。经过综合考虑,本文级联的Sigma Delta 调制器采用如图10所示的三阶CIFF 结构。只要对系数a、b、c 取适当的值,就可以使得噪声传递函数不受输入信号的影响,降低各级积分器的摆幅,降低过载的可能性,保证电路的线性度以及得到更小的谐波失真[14]。
图10 Sigma Delta 调制器的三阶CIFF 结构
对模型输入幅度进行扫描得到的结果如图11 所示。
图11 调制器建模理想与非理想输出频谱
不同于使用SystemVerilog 进行建模[15],本设计在MATLAB 中对调制器建模进行仿真,考虑白噪声与KT/C 噪声后,该调制器在非理想状态的SNDR 能接近100dB 左右,与理想状态下差距不大,调制器性能较高。
首先应验证调制器的动态范围(dynamic range,DR)是否满足应用的需求,结果如图12 所示。调制器能达到100dB 左右的DR 与95dB 左右的SDNR,满足了各种工业和医疗测量环境的需求。
图12 调制器动态范围示意图
级联数字滤波器后,将输出数据作FFT 计算,得到如图13 所示的结果。
图13 数字滤波器输出频谱
当输入-8.37dB 的296.875kHz 时,在1kHz 带宽内,SNDR 达到95.8dB,有效位数达到15.61bits。所设计的数字降采样滤波器几乎没有引入更多的噪声,有良好的滤波效果。
针对目前ADC 的应用市场以及需求,本文设计了一种面向Sigma Delta ADC 的数字降采样滤波器,通过级联两级非递归定系数FIR 滤波器对传统CIC 滤波器进行补偿,消耗较少的硬件资源获得了较好的滤波效果。
数字降采样滤波器设计基于TSMC 180nm 工艺,输入采样时钟频率为256kHz,带宽为0.98kHz。与调制器级联后,测试结果表明数字降采样滤波器设计能够满足应用需求。