基于FPGA的高速DUC设计与高效实现✴
2012-03-31张海峰赵爱玲
张海峰,赵爱玲
基于FPGA的高速DUC设计与高效实现✴
张海峰,赵爱玲
(安阳工学院机械工程学院,河南安阳455000)
提出了一种基于FPGA实现高速数字上变频(DUC)的方法。该方法采用一种新的多相内插滤波器的高效实现结构,利用多相内插滤波器中各分支滤波器间系数的特点,使多相内插滤波器消耗的乘法器数量减少一半;并采用一种并行结构的数控振荡器(NCO),可产生高数据率的上变频本振信号。利用该方法为某雷达中频回波模拟器设计了DUC模块,其输出数字中频信号的数据率可达1.2 Gsample/s,只消耗了少量资源,满足项目需求。
雷达回波模拟器;高速DUC;高效多相内插滤波器;并行NCO;数字中频信号
数字上变频(DUC)是软件无线电的关键技术之一,其基本功能是将基带信号上变频到载波频率上,用于提高数据率、实现频谱搬移,已广泛应用于通信数字发射机和中频信号模拟器等领域。
DUC一般可采用专用集成芯片(ASIC)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)实现。ASIC集成度高、功耗低,但可编程性差;DSP可编程性高但功耗也高;FPGA片内具有丰富的逻辑资源、寄存器资源并集成有乘法器、存储器等硬核,可编程性强,采用FPGA实现DUC具有更大的灵活性[1-3]。
1 DUC基本结构分析
DUC主要由数据率提升和频谱搬移两部分组成,其中数据率提升包含M倍内插和低通滤波,低通滤波用以滤除M倍内插带来的延拓频谱;数控振荡器(NCO)用来生成上变频所需的本振信号。其典型结构如图1所示。
低通滤波常用积分梳状(CIC)滤波器或有限长冲激响应(FIR)滤波器完成。CIC滤波器无乘法运算,结构简单,但单级应用时阻带衰减很小,多级串联应用虽然能够提高阻带衰减却导致通道平坦度变差,适用于窄带信号。FIR滤波器实现结构中没有反馈环路且对系数的定点量化不敏感,具有理想的线性相位,适用于宽带信号。
NCO常用坐标旋转数字计算(Cordic)或查找表(LUT)实现。Cordic算法性能与迭代次数等因素相关,好的性能需要更多迭代次数,这将增加频率改变的反应时间;当需要高数据率的本振信号时,Cordic算法变得非常复杂。基于查找表法的NCO结构简单,具有频率切换反应时间小、便于采用并行运算等特点,适用于高数据率本振信号。
鉴于传统DUC的运算资源量和处理速度难以满足项目高数据率要求,而目前高速DUC实现方法的文献相对较少,本文设计了一种基于FPGA、高效多相内插FIR滤波器和并行查找表的NCO相结合结构的高速DUC,该DUC具有内插倍数大、输出信号数据率高等特点。
2 高速DUC的结构实现
“资源”和“速度”是FPGA开发中的两个关键因素。高速DUC的基本特点是内插倍数大,内插后的数据率高。由于内插倍数大,低通滤波器的过渡带相对变小,为获得同样的杂散抑制性能,滤波器阶数会相应地增大,意味着实现低通滤波所使用的乘法器将增多。用FPGA实现高速DUC时,需要设计、采用合适的滤波器实现结构以减少乘法器的使用量,以及合适的数控振荡器结构以生成高数据率的上变频本振信号。
2.1 使乘法器消耗减半的高效多相内插滤波器结构
在实现DUC时,乘法器主要用来构建FIR滤波器。实现DUC时节省乘法器资源主要有5种方法:一是采用多级内插结构代替单级内插结构;二是当内插因子为2时使用半带滤波器;三是利用线性相位FIR滤波器系数的对称性减少乘法器使用;四是硬件分时复用减少乘法器的使用;五是以上方法的组合使用等[4]。
多相内插滤波器可看作是“内插”和“低通滤波”的并行实现结构,在实现高速DUC时常被采用。多相内插滤波器的基本实现结构如图2所示[5]。
各分支滤波器的定义如下:
式中,h(n)是图1中低通滤波器的系数,N是低通滤波器的阶数。设内插滤波后y(n)的数据率为fh,则各多相分支滤波器的工作频率为fh/M,M个分支滤波器在同一时刻的输出˜yl(n)是y(n)中顺序的M个样点,即:
由此可知,多相内插滤波器的基本实现结构需要N个乘法器,需要寻找适用于多相内插滤波器的节省乘法器的方法。由式(1)知,第l和第M-1-l个分支滤波器可表示如下:在以上两式中,0≤n≤N/M-1,则0≤(N/M
-1-n)≤N/M-1,故式(4)可改写成
线性相位FIR滤波器的系数满足
由此可见,Rl(z)中第n个系数和RM-1-l(z)中第N/M-1-n个系数相等,也即:
式中,rl(n)是分支滤波器Rl(z)的单位冲激响应,fliplr代表时间反褶。
在多相内插滤波器中,Rl(z)和RM-1-l(z)的直接实现结构如图3所示,其中yl(n)是Rl(z)的输出。
根据式(7),实现滤波器的分支转置结构如图4所示。
与直接实现结构相比,分支转置结构实现了两条分支滤波器使用时的乘法器数量减少一半,相应多相内插滤波器消耗的乘法器总量也减少一半,同时该方法不会增加工作频率,具有可实现性。
2.2 基于并行查找表的NCO实现结构
并行处理是应对高数据率的重要方法,是FPGA的优势之一。在DUC中,NCO用于产生数据率为fh的上变频本振,现有技术无法直接实现,应采用并行实现结构。考虑到多相内插滤波器并行输出内插滤波结果的M个相邻样点,可以用M个低速NCO合成一个高速NCO,与多相内插滤波器的输出类似,M个低速NCO的并行输出˜fl(n)是高速上变频本振f(n)的M个相邻样点,即:
由此可得DUC的等效结构如图5所示。
每个NCO的实际工作频率为fh/M。当M个NCO的等效工作频率为fh、相位累加器宽度为B、输出信号频率为fo时,定义Pinc0如下:
式中,round(*)代表四舍五入,M个NCO具有相同的相位增量Pinc如下:
式中,Mod(*)代表取余运算。为了用M个工作频率为fh/M的NCO合成一个工作频率为fh的NCO,M个低速NCO具有相同的相位增量但各自的相位偏移量不同,M个相位增量的定义如下:
由于M个低速NCO具有相同的相位增量,在实现时可共用一个相位累加器,由此可得基于并行查找表的NCO实现结构,如图6所示。
3 实验与分析
某中频雷达回波模拟器采用DSPs+FPGA+高速DAC的实现方式。DSPs选用TI公司的C6455,根据上位机下载的指令产生数据率为75 MHz的基带正交信号传给FPGA;FPGA选用Xilinx公司的XC5VSX95T-2,负责将接收到的基带信号进行信息调制后经DUC得到数据率为1.2 GHz的数字中频信号,该数字中频信号由高速DAC转换成模拟信号输出,该DAC芯片选用ADI公司的AD9736。利用第2节中介绍的方法,在XC5VSX95T中实现DUC,其实现结构如图7所示。
该DUC由两级内插完成,第一级完成2倍内插,采用了26阶的半带滤波器,该滤波器中有12个系数为0,并利用系数偶对称性进一步减少乘法器的使用量;第二级使用79阶多相内插滤波器完成8倍内插,该多相滤波器使用图5所示结构减少乘法器的消耗;使用改进的NCO结构,由8个运行在150 MHz的NCO合成一个等效数据率为1 200 MHz的NCO。取混频结果的实部经并串转换后传给DAC转换为模拟中频信号输出,其中并串转换由Xilinx公司提供的OSERDES硬核完成。
3.1 乘法器使用量统计
可见该DUC实现时共使用了112个乘法器,占FPGA中总资源的17.5%;若不采用节省乘法器的措施,乘法器使用量将为206个,占总资源的32.2%。
3.2 上变频结果
使用上述DUC将带宽为40 MHz的基带chirp信号上变频至载频为300 MHz的数字中频信号,上变频后信号的频谱如图8所示,其中滤波器系数量化成16 bit,中间运算节点保留16 bit,上变频输出结果保留14 bit。
可见,在表1所示乘法器消耗及上述定点截位条件下,该DUC输出信号的杂散抑制优于80 dB,满足项目需求。
4 结论
本文从“节省乘法器资源”和“应对高数据率”的角度论述了用FPGA实现高速DUC的方法。针对多相内插滤波器,利用FIR滤波器系数的对称性及多相滤波器系数的分配特点设计了一种可节省乘法器资源的高效实现结构;采用并行处理的思想,设计了基于并行查找表的NCO实现结构,可产生高数据率的本振信号。实践应用证明了本文所提出的方法是可行的、有效的。
[1]Zawawi N M,Ain M F,Hassan S I S,et al.Implementing WCDMA Digital Up Converter In FPGA[C]//Proceedings of 2008 IEEE International Conference on RF and Microwave. Kuala Lumpur:IEEE,2009:91-95.
[2]Wang Wei,Zeng Yifang,Yan Yang.Efficient Wireless Digital Up Converters Design Using System Generator[C]//Proceedings of the 9th International Conference on Signal Processing.Beijing:IEEE,2008:443-446.
[3]Xu Xiaoxiao,Xie Xianzhong.Digital Up and Down Converter in IEEE 802.16d[C]//Proceedings of the 8th International Conference on Signal Processing.Beijing:IEEE,2006:1-7.
[4]张明友.数字阵列雷达和软件化雷达[M].北京:电子工业出版社,2008:38-44.
ZANG Ming-you.Digital array radar and software defined radar[M].Beijing:Publishing House of Electronics Industry,2008:38-44.(in Chinese)
[5]胡广书.现代信号处理教程[M].北京:清华大学出版社,2004:139-201.
HU Guang-shu.Modern signal processing[M].Beijing:Tsinghua University Press,2004:139-201.(in Chinese)
[6]程佩青.数字信号处理教程[M].北京:清华大学出版社,2001:334-338.
CHENG Pei-qing.Digital Signal Processing[M].Beijing:Tsinghua University Press,2001:334-338.(in Chinese)
ZHANG Hai-feng was born in Mengzhou,Henan Province,in 1972.He is now an associate professor with the M.S.degree.His research concerns design of precision instruments and test.
Email:ayzhaoal@126.com
赵爱玲(1969—),女,河南林州人,硕士,副教授,主要从事光电技术设计与测试方面的研究。
ZHAO Ai-ling was born in Linzhou,Henan Province,in 1969.She is now an associate professor with the M.S.degree.Her research interests include optoelectronic technology design and test.
Design and Efficient Realization of High Speed DUC Based on FPGA
ZHANG Hai-feng,ZHAO Ai-ling
(Department of Mechanical Engineering,Anyang Institute of Technology,Anyang 455000,China)
This paper proposes an access to the realization of high data rate digital up converter(DUC)based on FPGA.This method adopts a novel implementation structure of poly-phase interpolation filter and makes use of the characteristic of branch between filter coefficients to reduce the consumption of multiplier by half.Besides,the adoption of parallel processing Numerically-controlled Oscillator(NCO)can generate high data rate vibration signal.By following these methods,a DUC module is designed for a certain radar IF echo simulator,which can generate digital IF signal with data rate up to 1.2 Gsample/s.Few resources are consumed and the program needs are satisfied.
radar echo simulator;high speed DUC;poly-phase interpolation filter;parallel processing NCO;digital IF signal
The College Young Teachers Foundation Item of Henan Province(2011GGJS-212)
TN955
A
10.3969/j.issn.1001-893x.2012.07.012
张海峰(1972—),男,河南孟州人,硕士,副教授,主要研究方向为精密仪器设计与测试;
1001-893X(2012)07-1112-04
2011-11-01;
2012-04-05
河南省高等学校青年骨干教师基金项目(2011GGJS-212)