数字下变频中抽取滤波器的设计及FPGA实现*

2015-02-21 07:50冯全源
电子技术应用 2015年12期
关键词:下变频流水线滤波器

周 云,冯全源

(西南交通大学 微电子研究所,四川 成都 611756)

0 引言

数字下变频是软件无线电接收机的关键模块,高速数字信号进行变频、降采样、滤波,将高速中频信号变为低速基带信号[1-2],便于后级处理。其中,降采样和滤波是下变频的关键模块,由抽取滤波器来完成[3]。由于多级结构可以大大降低滤波器的阶数[4],允许每一级归一化过渡带宽比较宽[5],抽取滤波器一般采用多级结构实现,常用结构如图1所示,级联积分梳状(Cascaded integrator-com,CIC)滤波器通常作为第一级抽取滤波器[1-6]。

图1 抽取滤波器传统结构

为缩短关键路径,从而提高采样速度,滤波器常采用并行处理及流水线技术[6]。CIC滤波器中有反馈回路,加入流水线寄存器则会导致反馈回路不同步,从而无法采用流水线技术;FIR滤波器则可以采用并行处理及流水线技术。对于半带滤波器 (Half-band Filter,HBF)而言,采用分布式算法则可以很好地兼容并行处理与流水线技术,且无需速率受限的乘法器资源。本设计对流水线式全并行分布式算法进行改进用以实现HBF,而并行处理提高采样率是采用复制硬件的方法[7],全并行结构的 HBF则是复制使用 LUT,在满足处理速度的要求下,本文将HBF置于数据位宽最小的输入级(如图 2)。

图2 HBF前置的抽取滤波器结构

1 抽取滤波器整体设计及Simulink建模仿真

本文将64倍抽取的总抽取率分为3级实现:2倍抽取的前置HBF、16倍抽取的CIC抽取滤波器以及2倍抽取的FIR补偿滤波器,如图2所示。各级指标如表1所示。

Simulink是MATLAB中的一种可视化仿真工具,可以对动态系统进行建模仿真及分析,支持多速率系统,广泛应用于数字信号处理领域的建模仿真。本文的系统模型如图3所示。

顶层系统使用3路信号选择器作为输入接口,输入信号经由矩形框内所示子系统即抽取滤波器进行降采样及滤波。其中FIR补偿滤波器的系数由本文2.3节得到。设置输入控制信号为“1”,选择采样率为200 MHz的频率分别为1 MHz、4 MHz、10 MHz的混合正弦信号作为抽取滤波器的输入信号,各级输出信号的频谱如图4所示。

表1 系统各级设计指标

图3 系统的Simulink模型

图4 Simulink仿真各级输出信号的双边带频谱

2 抽取滤波器的FPGA实现

2.1 前置半带滤波器

HBF是近一半的系数为0的FIR滤波器,在多速率系统中采用HBF可以大大缩小硬件规模。本文结合表分割技术与并行处理的优势进行改进,以达到第一级高速处理的目的。考虑内积公式:

考虑N=LP,L、P均为正整数, 则n=l·P+p,l=0,1,…,L-1,p=0,1,…,P-1,式(2)改写为:

本文35阶高速HBF系数对称,且有近一半系数为零,选择P=4,将整个 LUT表分解为 2个 4输入和1个2输入的子表。改进后的算法结构如图5所示,相比于文献[8],查表后的流水线式加法树比移位累加器的实时性更高;并行及流水线处理处理可以有效提高滤波器的处理速度,且表分割技术使得该并行结构不必以过多的资源消耗为代价。

2.2 CIC抽取滤波器

CIC滤波器结构简单,是高速抽取或插值系统中非常有效的单元[9]。单级CIC滤波器第一旁瓣抑制为13.46 dB,阻带衰减极不理想[10]。为达阻带衰减的指标,本文采用多级CIC滤波器级联的结构实现。N级CIC滤波器归一化传递函数如下[11]:

其中R是抽取因子,M是梳状部分中延迟量,该设计取M为 1。由式(4)知N级R倍抽取的CIC的幅频响应:

图5 改进的并行分布式算法结构

可计算出,R=5时即可满足阻带衰减的需求。本文首先实现所有的积分器,然后是16倍抽取,最后实现梳状部分。对于多级CIC滤波器而言,可以剪除一些较低有效位而不影响系统的完整性[7]。本文采用逐级剪除的方法,以减少位宽截断引起的量化噪声,并节省资源占用。该设计中CIC滤波器输入位宽19 bit,输出为20 bit,内部最大位宽为40 bit。逐级剪除后,CIC滤波器各级位宽如表2所示。CIC滤波器频率响应如图6。可见,通带衰减是CIC滤波器的主要弊端之一,故而需要补偿滤波器进行通带补偿。

表2 CIC滤波器各级位宽定义 (bit)

图6 CIC滤波器补偿前后频率响应(N=5,R=16)

2.3 CIC补偿滤波器

补偿滤波器通常处于较低速率的位置,以减小硬件复杂度。为避免频谱混叠,本文的补偿滤波器的通带边界频率fc应满足:fc≤fs_cic/4R,fs_cic是CIC滤波器的输入采样频率。

本文补偿滤波器选取fc=1.56 MHz。因其频率响应是CIC滤波器频响的倒数[12],即:

基于式(6),利用 MATLAB中 firceqrip函数计算出其浮点型系数,再进行量化。经反复试验,补偿滤波器长度为33即可。此时,补偿后的滤波器通带波纹小于0.01 dB,补偿滤波器及补偿后的滤波器频响如图6。可见,补偿滤波器设计较为合理。由于CIC滤波器输出位宽20 bit,位宽较大,该滤波器不再使用图3所示结构,选用IP核导入滤波器系数,选择脉动阵列乘累加结构实现。

3 系统验证及分析

利用MATLAB生成采样率为200 MHz,频率分别为1 MHz、18 MHz的混合正弦信号数据写入 TXT文档,之后将数据读入到FPGA寄存器,在时钟激励下,模拟ADC的输出,作为系统的输入。Modelsim仿真结果如图7所示。

图7 抽取滤波器Modelsim仿真结果

由图 7(a)可知,每隔 63个输入数据有一个输出,达到了 64倍抽取的目的;且图 7(b)显示波形较为平滑,位宽截断引起的误差基本可以忽略,表明本文中的逐级剪除的位宽阶段方式是有效的。

4 结论

本文针对数字下变频中降采样率的要求,设计了一种的HBF前置的抽取滤波器结构。利用Simulink对系统进行了建模仿真,并详细说明了FPGA实现各级滤波器的设计方法,对整个系统进行了Modelsim仿真验证。结果表明,本文设计的抽取滤波器工作性能良好,完全达到了实际需求指标。且本文的设计方案具有较强的工程应用价值,目前已用到中频200 MHz的数字下变频系统中。

[1]XU P,XIA W,HE Z S.A design of VB-DDC using DA-based systolic FIR filter[J].Applied Mechanics and Materials,2012,130:3950-3953.

[2]赵良羽.可变带宽的多级滤波器数字下变频设计[J].电子技术应用,2014(3):32-34.

[3]王亚磊,张浩,杨亚光,等.一种基于FPGA的抽取滤波器的实现与优化[J].微电子学与计算机,2013(9):30.

[4]吴笑峰,刘红侠,李迪,等.高精度 Σ-Δ ADC中的数字抽取滤波器设计[J].中南大学学报(自然科学版),2010,41(3):1038.

[5]徐以涛,王金龙.软件无线电数字中频处理的优化设计[J].信号处理,2002(4):299-302.

[6]张立立,杨华,黄锦元.基于FPGA技术的数字中频系统的设计[J].电子器件,2015(1):126-129.

[7]PARHI K K.VLSI digital signal processing systems:design and implementation[M].John Wiley&Sons,2007:47-61.

[8]朱效效,蔡俊,陆伟.基于优化DA算法滤波器的设计及其 FPGA 实现[J].电子技术应用,2015(2):59-60,64.

[9]Meyer-Baese U.Multirate Signal Processing[M].Digital Signal Processing with Field Programmable Gate Arrays.Springer Berlin Heidelberg,2014:305-416.

[10]刘彬彬,林伟.基于 Matlab和FPGA的CIC滤波器的设计[J].电子器件,2010(2):231-234.

[11]DOLECEK G J,LADDOMADA M.An improved class of multiplierless decimation filters:Analysis and design[J].Digital Signal Processing,2013,23(5):1773-1782.

[12]Altera Corporation,Understanding CIC compensation filters,Application Note 455,Ver.1.0,April 2007.

猜你喜欢
下变频流水线滤波器
基于FPGA的高速高效率数字下变频
流水线
从滤波器理解卷积
开关电源EMI滤波器的应用方法探讨
基于Canny振荡抑制准则的改进匹配滤波器
一种用于DAM的S波段下变频电路的研究与设计
基于TMS320C6678的SAR方位向预滤波器的并行实现
报废汽车拆解半自动流水线研究
流水线生产杀死艺术
基于Ka频段的宽带信号数字下变频技术研究*