基于FPGA的DDC设计及仿真

2012-02-15 03:29薛红喜
电子设计工程 2012年10期
关键词:通带下变频阻带

王 力,薛红喜

(电子科技大学 电子工程学院,四川 成都 610054)

近年来,软件无线电已经成为通信领域一个新的发展方向,数字下变频技术(Digital Down Converter-DDC)是软件无线电的核心技术之一,也是计算量最大的部分[1]。基于FPGA的DDC设计一般采用CIC、HB、FIR级联的形式组成。同时,由于CIC滤波器的通带性能实在太差,所以中间还要加上一级PFIR滤波器以平滑滤波器的通带性能。而众所周知用FPGA从事算法的开发是一件难度比较大的工作,而Xilinx公司开发的System Generator工具为算法的快速开发及仿真带来了巨大的方便。本文首先对CIC、HB、FIR滤波器的原理及设计作了简单的说明,最后用Matlab结合System generator对本文所设计的DDC滤波器作了一个仿真。

1 总体结构设计

数字下变频技术作为数字信号处理中的一个关键技术,它通常由以下几部分组成。首先,CIC滤波器,它实现简单而且能实现较大的下抽率。其次,由于CIC滤波器带内平坦性能太差,因此在CIC滤波器之后一般要加上PFIR来平滑带内平坦度。最后,由于CIC滤波器的抽取因子不宜取得过大,因此还要用HB滤波器的级联来进一步增加抽取率。下面本文以如何设计一个原信号采样率为72 MHz的、有效信号带宽为2.05 MHz的、下抽率为14的、主旁瓣衰减80 dB以上的、通带平坦度小于0.2 dB的下抽滤波器为例说明下抽滤波器的设计。

实际中常用的DDC的实现框图如图1所示。

图1 数字下变频原理框图Fig.1 Architecture of digital down conversion

2 CIC滤波器设计

CIC滤波器是近年来在下变频中用得最多的一种技术,CIC滤波器在多速率信号处理中具有特别重要的位置,它可以充当内插滤波器,也可以充当抽取滤波器,主要取决于积分器和梳状滤波器的连接顺序[2]。由于CIC(级联积分梳状)滤波器不需要乘法运算和存储系数,因此实现非常简单,在采样率变换过程中经常使用CIC滤波器进行数字滤波[3]。

考虑到CIC滤波器的除数及抽取因子不宜取得过大,所以实际中的下抽滤波器一般都是采用CI协同HB来完成下抽的任务。比如这里我们要下抽14,一般的做法是先用CIC下抽7然后用HB下抽2。如果这时一级HB仍然不满足要求的话,我们可以通过适当增加HB的级联数目来完成下抽。例如,如果要下抽28,那么可以先下抽7,然后通过两级HB来完成下抽4,进而达到下抽28的目的。

在MATLAB中通过设置下抽因子,需要的通带截止频率等参数可以方便的设计出想要的CIC滤波器。下图为本次设计中设计出的CIC滤波器的幅频响应。

图2 下抽7的CIC滤波器幅频响应Fig.2 Amplitude frequency response of CICfilter which downsampling by 7

通过将其通带细节图放大,可以发现在2.05 MHz处通带的衰减为4.508 dB。

图3 CIC滤波器通带幅频响应通带细节图Fig.3 Passband of CICfilter magnitude response

3 PFIR滤波器设计

PFIR滤波器的设计目标是在满足通带波纹和过渡带宽尽可能窄的同时使得阻带衰减尽可能大,PFIR的阶数越高,PFIR滤波器的通带波纹,过渡带宽,阻带衰减等特性就越好[4]。

PFIR存在的意义是它能够改善CIC滤波器带内平坦度较差的问题,因此,其带内的幅频响应的走势和CIC正好相反,从而在一定程度上平滑CIC滤波器通带内衰减的趋势。在设计好了上一级CIC滤波器的基础上,通过输入已经完成的上级滤波器参数在MATLAB中可以自动生成与其互补的PFIR滤波器,它的幅频响应如图4所示。

图4 平滑滤波器幅频响应Fig.4 Magnitude response of PFIR

通过将这里设计的PFIR滤波器与上节设计的CIC滤波器进行级联,级联后的滤波器的幅频响应较之于之前设计的CIC滤波器其通带性能有了很大的提高,级联前的CIC滤波器的通带波纹为4.508 dB,而级联后仅为0.11 dB。将其通带细节图如图5所示。

图5 CIC,PFIR级联后滤波器幅频响应通带细节图Fig.5 Amplitude frequency response of CIC,PFIR cascade filter passband details

4 HB滤波器设计

半带滤波器是一种特殊的F IR滤波器,在多速率信号处理中有着至关重要的作用[5]。在常见的下抽滤波器设计中第二级一般采用HB滤波器,要用到第二级的原因是综合考虑到带内平坦度和阻带衰减度等因素使得第一级CIC抽取滤波器的级数和抽取因子不宜过大,HB滤波器的带内平坦度好,计算效率高,在高速率信号处理中发挥着重要的作用,在抽取因子为2的幂次方的场合更是如鱼得水[2]。

HB滤波器的通带和阻带具有对称的关系,因此其通带波纹和阻带波纹相等。但是使其成为数字信号处理中非常常用的一种滤波器的主要原因却是因为其系数有一半均为0。如此,在低速率数字信号处理中或许还不是很重要,但是在那些对实时性要求非常高的系统中,这种将计算量减半的性能就使得其得到了广泛的应用。

综合考虑前方中提出的设计的要求,文中设计的HB滤波器的幅频响应如图6所示。

将文中设计的CIC,PFIR,HB级联之后得到的总的滤波器的幅频响应如图7所示,可以发现较之于CIC滤波器的通带性能,此时级联滤波器的通带性能已经有了较大的提高。其通带细节图如图8所示。

图6 MATLAB设计的半带滤波器的幅频响应Fig.6 Half-band filter amplitude-frequency response designed by MATLAB

图7 经过CIC,PFIR,HB后总的滤波器幅频响应Fig.7 Amplitude frequency response of the CIC,FIR,HB cascade filter

5 system generator仿真

图8 经过CIC,PFIR,HB后总的滤波器幅频响应的通带细节图Fig.8 Details of The CIC,HB,PFIR cascade filter amplitude response

system generator for dsp是业内领先的高级系统级FPGA开发工具[6]。本次设计是在基于Xilinx(赛林思)的systemgenerator的基础上完成的。赛林思是全球领先的可编程逻辑完整解决方案的供应商,它研发、制造并销售范围广泛的高级集成电路、软件设计工具以及作为预定义系统级功能的IP(Intellectual Property)核,客户使用Xilinx及其合作伙伴的自动化软件工具和IP核对器件进行编程。System generator是Xilinx公司进行数字信号处理开发的一种设计工具,它通过将Xilinx开发的一些模块嵌入到MATLAB的Simulink库中,可以在Simulink中进行定点的仿真,可以设置定点信号的类型,这样就可以比较定点仿真与浮点仿真的区别。并且它还可以生成HDL文件,或者网表直接供ISE调用。较之于直接用MATLAB进行算法的仿真其主要优势在于它是基于定点的,同时,它是由各个供应厂商直接提供的库,因此它能够充分认识FPGA内部的资源等,其仿真也更精确可靠。

虽然,system generator能直接生成供底层FPGA调用的代码以及网表,但是,通常并不这样做。相对于人工编写的代码,system generator生成的代码相对冗余度高,资源利用也不及人工编写的代码合理。但是,在某些需要快速进行算法开发的项目中,这种方式无疑为用FPGA从事快速的算法开发提供了一个捷径。

将MATLAB与systemgenerator集成后,由图1所示的原理框图,搭建了用于仿真的system generator模块,如图9所示。

图9 System generator总体框架图Fig.9 Overall framework map of system generator

在输入端输入幅频响如下图所示的信号,其有用信号范围17.3~25.5 MHz。另外为了方便仿真结果的观察,又加入了2个大的噪声信号分别位于32.4 MHz,12.4 MHz。

将上图所示的信号送入DDC网络后,信号变成I/Q两路信号,将这两路信号组合成复数信号后得到的复数信号的频谱图如图 11(a)所示。

图10 原输入信号频谱图Fig.10 Frequency spectrum of the original input signal

图11 原输入信号通带细节图及经下变频后复数信号频谱图Fig.11 Details of the original input signal pass band and signal spectrum diagram after digital down conversion

图11 (a)为原输入信号的有用信号附近的细节图,而图11(b)为经过DDC网络后得到的复数信号的幅频响应图。由于simulink的频谱绘制工具显示刷新的问题它们看起来有了一点点的误差,但是,也可以发现经下变频后的信号有效的恢复了原信号的频谱信息。它将原输入信号的负边频线性搬移到了以0频为中心的带宽为4.1 MHz的频谱上来。

6 结束语

实际项目中接触到的信号处理任务大多为带通信号,如果直接采用传统的奈奎斯特采样定理对模拟信号进行采样,然后进行数字信号处理任务,这样对后端的DSP器件的实时性要求太高。因此,通常我们都要先用一个FPGA来完成数字信号的下变频操作,之后再由后端的DSP器件来完成信号处理任务。因此,如何合理的设计DDC下变频就显得特别重要。本文针对如何设计DDC滤波器以及基于FPGA的System Generator的仿真都作了简单的介绍。

[1]纪捷先.基于FPGA的DDC设计[J].电子技术设计与应用,2010,3(20):42-43.JIJie-xian.Design of a digital down converter based on FPGA[J].Electronics Design&Application,2010,3(20):42-43.

[2]黄静月,田克纯.基于FPGA的高效数字下变频的设计与实现[J].广西通信技术,2011,2(24):24-27.HUANG Jing-yue,TIAN Ke-chun.Design and realization of high efficiency digital down conversion based on FPGA[J].Guangxi Communication Technology,2011,2(24):24-27.

[3]张茂磊,栾晓明,徐向斌.改进型CIC抽取滤波器的研究与设计[J].应用科技,2011,38(2):18-21.ZHANG Mao-lei,LUAN Xiao-ming,XU Xiang-bin.Research and design on the improved CIC decimation filter[J].Applied Science and Technology, 2011, 38(2):18-21.

[4]徐小明,蔡灿辉.基于FPGA数字下变频(DDC)设计[J].通信技术,2011,10(44):19-24.XUXiao-ming,CAICan-hui.Design of digital down conversion based on FPGA[J].Communications Technology, 2011,10(44):19-24.

[5]高媛菲.数字下变频中抽取滤波器的设计[J].桂林电子科技大学学报,2009,29(6):467-471.GAO Yuan-fei.Designing of a decimation filter based on digital down-converter[J].Journal of Guilin University of Electronic Technology,2009,29(6):467-471.

[6]胡辉,吴超,张虎,等.基于system generator的GPS信号捕获模块的实现[J].河南师范大学学报,2012,40(1):50-53.HU Hui,WU Chao,ZHANG Hu,et al.Implementation of GPSsignal acquisition module based on system generator[J].Journal of Heman Normal University,2012,40(1):50-53.

猜你喜欢
通带下变频阻带
基于FPGA的高速高效率数字下变频
一种结构紧凑的超宽带带通滤波器
一种改进的最大信杂比MTD滤波器设计算法
二维周期介质阻带分析与应用研究
基于宽谱光源的可调多通带微波光子学滤波器研究
一种用于DAM的S波段下变频电路的研究与设计
非等纹响应低通滤波器研究
一种基于互补环缝谐振器抑制SSN的新方法
基于Ka频段的宽带信号数字下变频技术研究*
双阻带特性的超宽带单极子天线设计