张红涛+宁晋哲+慈国辉
摘 要: 采用软件无线电思想,设计和实现了基于FPGA的数字下变频器,应用于数字中频接收机中,主要完成信号的下变频、多速率抽取和滤波等功能。采用自上向下的模块化设计方法,将数字下变频的功能划分为不同的模块,通过VHDL语言和IP核设计各功能模块。通过ISE和Matlab工具对数字下变频器进行了仿真设计,在FPGA硬件平台上进行了测试验证,结果表明:数字下变频器稳定可靠、通用性强、灵活性高,满足数字中频接收机的设计要求。
关键词: 软件无线电; 数字下变频; FPGA; 仿真设计
中图分类号: TN911?34 文献标识码: A 文章编号: 1004?373X(2014)15?0073?03
Design of digital downconverter based on FPGA
ZHANG Hong?tao, NING Jin?zhe, CI Guo?hui
(The 54th Research Institute of CETC, Shijiazhuang 050081, China)
Abstract: The digital downconverter (DDC) based on FPGA was designed and implemented with the idea of software radio. It is applied to the digital intermediate frequency receiver to complete the signal downconvertion, multi?rate decimation and filtering functions. The top?down modular design method is adopted to divide the DDC functions into different modules. All the function modules are designed with VHDL language and IP core. The simulation design of DDC is achieved with ISE and Matlab tools, and tested on the FPGA hardware platform. Performance testing results show that the DDC has high stability, high reliability, strong versatility and high flexibility, and can meet the design requirements of the digital intermediate frequency receiver.
Keywords: software radio; digital downconversion; FPGA; simulation design
0 引 言
软件无线电是一种以现代通信理论为基础,以数字信号处理为核心,以微电子技术为支撑的新的无线通信体系结构[1]。借鉴软件无线电思想,设计了数字中频接收机中的数字下变频器。数字下变频器是软件无线电结构中的重要模块之一[2],主要作用是对A/D转换器数字化后的中频数字信号进行下变频、降速、滤波处理,将中频数字信号变成数据率较低的数字基带信号。数字下变频可以通过专用的下变频芯片或FPGA来实现。专用下变频芯片功能强大,能够比较好地实现所需要的功能,但是缺乏灵活性,而使用FPGA实现数字下变频可以根据不同的系统要求,采用不同的结构完成相应的功能,具有很强的灵活性,便于进行系统的功能扩充和升级。
1 数字下变频器的系统设计
在数字中频接收机中,工作模式不同,相应的数字下变频的分频比和FIR滤波器系数也不同。在本设计中要实现三种抽取率(6×6×4,8×8×10,18×16×10)的数字下变频,选用Xilinx公司Spartan系列XC6SLX75芯片作为硬件平台,在FPGA内部进行了模块化设计,设计参考了AD公司的AD6620数字下变频芯片[3],其内部结构如图1所示。主要包括5个基本模块:FIFO模块、混频器模块、控制模块、CIC滤波器模块和FIR滤波器模块。
图1 数字下变频器结构框图
输入的中频信号经过A/D转换器带通采样后转换为数字信号,通过FIFO模块缓存后与数控振荡器产生的数字正交信号相乘得到正交的I,Q信号,经过CIC和FIR滤波器模块抽取降采样滤波使得其速率大大降低后,送给后端DSP进行实时处理。为了使数字下变频器实现不同分频比的抽取,在FPGA内部设计了控制模块,根据不同分频比,控制CIC滤波器输入数据和输出数据的增长位数;控制FIR滤波器的使能与输出数据的选择。
2 数字下变频器的FPGA设计
2.1 混频器模块的FPGA设计
混频器模块主要包括数控振荡器(NCO)和混频器(乘法器)。数控振荡器的作用是产生两路正交的正余弦数字信号。本设计采用的是查表法来实现NCO[4],而XC6SLX75芯片中所具有的丰富的查找表和Block RAM单元正好可以满足这种需要。
混频器(乘法器)的功能就是完成输入数字中频信号和NCO模块产生的正余弦信号之间的相乘运算,即把输入数字中频信号的中心频率搬移到基带来。XC6SLX75芯片内部含有丰富的乘法器核(DSP48A1),DSP48A1核包含一个18×18补码乘法器,因此在这里混频器直接使用两个DSP48A1核来实现混频的功能。
2.2 CIC滤波器模块的FPGA设计
CIC滤波器是无线通信中的常用模块,一般用于数字下变频和数字上变频系统。CIC滤波器的结构简单,没有乘法器,只有加法器、积分器和寄存器,适合工作在高采样率。CIC滤波器包括两个基本组成部分:积分部分和梳状部分[5]。
本设计采用2级级联CIC滤波器实现第一级信号的滤波、抽取工作,4级级联CIC滤波器实现第二级信号的滤波、抽取工作。对CIC滤波器进行模块化设计,混频后的I、Q路信号分别调用CIC滤波器模块进行处理,其FPGA内部实现框图如图2所示。
图2 CIC滤波器模块FPGA内部实现框图
DSP48A1核包含一个48位加法器/减法器/累加器[6],因此通过调用IP核和配置寄存器延迟,使用DSP48A1核来实现积分器和疏状滤波器。由于CIC滤波器内部存在积分器,这将造成内部寄存器位数的增长。这个位数增长由级数[N,]抽取因子[D]和延迟因子[M]决定,所以在用FPGA实现CIC滤波器时,每一级都必须保留足够的运算精度,否则就有可能造成溢出错误。如果输入数据的位数为[B]位,那么可由下式求出输出数据的位数[7][BMAX:]
[BMAX=Nlog2DM+B]
DSP48A1核支持48位加法、减法,在实际设计中,每一级积分器和梳状滤波器的位数都采用48位来做运算,在不需要多消耗资源的情况下最大程度提高了运算精度。程序中的运算采用二进制补码格式进行,在运算过程中采用移位处理模块要对数据进行移位处理,保证在最大抽取因子下,后面的运算处理不溢出。
2.3 FIR滤波器模块的FPGA设计
数字下变频器的最后一级是FIR滤波器,FIR滤波器主要完成信号的整形滤波功能,同时完成最后一级的抽取。由于进入到 FIR 滤波器的数据速率已经相对较低,因此在这种情况下可以较容易地实现较高阶的FIR滤波器,从而使得滤波器的通带带宽、通带纹波、阻带衰减和过渡带带宽等都能够达到较好的指标[8]。
在本设计中采用FIR Compiler核来实现FIR滤波器模块[9]。设计了2个FIR滤波器来实现最后一级抽取功能,分别为抽4FIR滤波器和抽10FIR滤波器。通过控制模块根据抽取因子控制这2个滤波器数据的输入输出和工作使能,其幅频特性如图3,图4所示。
图3 抽4FIR滤波器的幅频特性
3 系统仿真及验证
本设计使用Xilinx ISE 11.4工具进行编译和综合,为了验证设计的正确性,采用ChipScope Pro工具和Matlab工具对内部信号进行分析[10]。该设计实现的数字下变频器的具体处理流程为:设置抽取率为6×6×4,输入的355 MHz中频信号经过A/D转换器以50 MHz采样速率带通采样后转换为数字信号送到FPGA中;控制模块NCO参数使其产生频率为5.05 MHz的正交信号与采样信号进行混频;混频后得到频率为50 kHz的I,Q信号;I,Q信号的采样速率为50 MHz,通过6倍抽取的2级CIC滤波器和6倍抽取的4级CIC滤波器得到1.389 MHz采样速率的信号,再通过4倍抽取的FIR滤波器输出347 kHz低采样速率的信号供后级的DSP进行处理。使用ChipScope Pro工具对FIR模块输出的I,Q数据进行采集,波形如图5所示。
图4 抽10FIR滤波器的幅频特性
图5 I,Q数据波形(FIR模块输出)
把采集I,Q数据组成为复数数据输出送到Matlab工具里进行FFT分析,频谱图如图6所示。
4 结 论
通过测试,采用FPGA设计的数字下变频器代替专用的数字下变频芯片能够很好地实现不同抽取率下的下变频功能,满足数字中频接收机的设计要求。通过使用FPGA实现数字下变频功能可以根据不同的系统要求,采用不同的结构完成相应的功能,具有很大的灵活性,便于进行系统的功能扩充和升级,具有较高的应用价值。
图6 I,Q数据频谱(FIR模块输出)
参考文献
[1] 陈东坡.数字下变频电路的FPGA实现[D].西安:西安电子科技大学,2010.
[2] 齐青茂,王岩建,张华冲.中频采样全数字接收机的设计与实现[J].无线电通信技术,2012,38(4):77?80.
[3] 李青鹏,高凯,路军.数字通道芯片AD6620的原理及应用[J].国外电子元器件,2002(10):52?54.
[4] 徐小明,蔡灿辉.基于FPGA的数字下变频(DDC)设计[J].通信技术,2011,44(10):19?21.
[5] 田耘,徐文波,张延伟.无线通信的FPGA设计[M].北京:电子工业出版社,2008.
[6] 姚詹图.基于FPGA的伺服控制器[D].哈尔滨:哈尔滨工业大学,2010.
[7] 金燕,李松,冯晓东.FPGA中CIC抽取滤波器增益校正的实现[J].电视技术,2013,37(7):57?59.
[8] 史磊.软件无线电接收机中数字下变频器设计与实现[D].成都:电子科技大学,2009.
[9] 刘东华.Xilinx系列FPGA芯片IP核详解[M].北京:电子工业出版社,2013.
[10] 李辉,岳田.在FPGA设计中ChipScope与Matlab的应用[J].无线电工程,2010,40(1):62?64.
2.2 CIC滤波器模块的FPGA设计
CIC滤波器是无线通信中的常用模块,一般用于数字下变频和数字上变频系统。CIC滤波器的结构简单,没有乘法器,只有加法器、积分器和寄存器,适合工作在高采样率。CIC滤波器包括两个基本组成部分:积分部分和梳状部分[5]。
本设计采用2级级联CIC滤波器实现第一级信号的滤波、抽取工作,4级级联CIC滤波器实现第二级信号的滤波、抽取工作。对CIC滤波器进行模块化设计,混频后的I、Q路信号分别调用CIC滤波器模块进行处理,其FPGA内部实现框图如图2所示。
图2 CIC滤波器模块FPGA内部实现框图
DSP48A1核包含一个48位加法器/减法器/累加器[6],因此通过调用IP核和配置寄存器延迟,使用DSP48A1核来实现积分器和疏状滤波器。由于CIC滤波器内部存在积分器,这将造成内部寄存器位数的增长。这个位数增长由级数[N,]抽取因子[D]和延迟因子[M]决定,所以在用FPGA实现CIC滤波器时,每一级都必须保留足够的运算精度,否则就有可能造成溢出错误。如果输入数据的位数为[B]位,那么可由下式求出输出数据的位数[7][BMAX:]
[BMAX=Nlog2DM+B]
DSP48A1核支持48位加法、减法,在实际设计中,每一级积分器和梳状滤波器的位数都采用48位来做运算,在不需要多消耗资源的情况下最大程度提高了运算精度。程序中的运算采用二进制补码格式进行,在运算过程中采用移位处理模块要对数据进行移位处理,保证在最大抽取因子下,后面的运算处理不溢出。
2.3 FIR滤波器模块的FPGA设计
数字下变频器的最后一级是FIR滤波器,FIR滤波器主要完成信号的整形滤波功能,同时完成最后一级的抽取。由于进入到 FIR 滤波器的数据速率已经相对较低,因此在这种情况下可以较容易地实现较高阶的FIR滤波器,从而使得滤波器的通带带宽、通带纹波、阻带衰减和过渡带带宽等都能够达到较好的指标[8]。
在本设计中采用FIR Compiler核来实现FIR滤波器模块[9]。设计了2个FIR滤波器来实现最后一级抽取功能,分别为抽4FIR滤波器和抽10FIR滤波器。通过控制模块根据抽取因子控制这2个滤波器数据的输入输出和工作使能,其幅频特性如图3,图4所示。
图3 抽4FIR滤波器的幅频特性
3 系统仿真及验证
本设计使用Xilinx ISE 11.4工具进行编译和综合,为了验证设计的正确性,采用ChipScope Pro工具和Matlab工具对内部信号进行分析[10]。该设计实现的数字下变频器的具体处理流程为:设置抽取率为6×6×4,输入的355 MHz中频信号经过A/D转换器以50 MHz采样速率带通采样后转换为数字信号送到FPGA中;控制模块NCO参数使其产生频率为5.05 MHz的正交信号与采样信号进行混频;混频后得到频率为50 kHz的I,Q信号;I,Q信号的采样速率为50 MHz,通过6倍抽取的2级CIC滤波器和6倍抽取的4级CIC滤波器得到1.389 MHz采样速率的信号,再通过4倍抽取的FIR滤波器输出347 kHz低采样速率的信号供后级的DSP进行处理。使用ChipScope Pro工具对FIR模块输出的I,Q数据进行采集,波形如图5所示。
图4 抽10FIR滤波器的幅频特性
图5 I,Q数据波形(FIR模块输出)
把采集I,Q数据组成为复数数据输出送到Matlab工具里进行FFT分析,频谱图如图6所示。
4 结 论
通过测试,采用FPGA设计的数字下变频器代替专用的数字下变频芯片能够很好地实现不同抽取率下的下变频功能,满足数字中频接收机的设计要求。通过使用FPGA实现数字下变频功能可以根据不同的系统要求,采用不同的结构完成相应的功能,具有很大的灵活性,便于进行系统的功能扩充和升级,具有较高的应用价值。
图6 I,Q数据频谱(FIR模块输出)
参考文献
[1] 陈东坡.数字下变频电路的FPGA实现[D].西安:西安电子科技大学,2010.
[2] 齐青茂,王岩建,张华冲.中频采样全数字接收机的设计与实现[J].无线电通信技术,2012,38(4):77?80.
[3] 李青鹏,高凯,路军.数字通道芯片AD6620的原理及应用[J].国外电子元器件,2002(10):52?54.
[4] 徐小明,蔡灿辉.基于FPGA的数字下变频(DDC)设计[J].通信技术,2011,44(10):19?21.
[5] 田耘,徐文波,张延伟.无线通信的FPGA设计[M].北京:电子工业出版社,2008.
[6] 姚詹图.基于FPGA的伺服控制器[D].哈尔滨:哈尔滨工业大学,2010.
[7] 金燕,李松,冯晓东.FPGA中CIC抽取滤波器增益校正的实现[J].电视技术,2013,37(7):57?59.
[8] 史磊.软件无线电接收机中数字下变频器设计与实现[D].成都:电子科技大学,2009.
[9] 刘东华.Xilinx系列FPGA芯片IP核详解[M].北京:电子工业出版社,2013.
[10] 李辉,岳田.在FPGA设计中ChipScope与Matlab的应用[J].无线电工程,2010,40(1):62?64.
2.2 CIC滤波器模块的FPGA设计
CIC滤波器是无线通信中的常用模块,一般用于数字下变频和数字上变频系统。CIC滤波器的结构简单,没有乘法器,只有加法器、积分器和寄存器,适合工作在高采样率。CIC滤波器包括两个基本组成部分:积分部分和梳状部分[5]。
本设计采用2级级联CIC滤波器实现第一级信号的滤波、抽取工作,4级级联CIC滤波器实现第二级信号的滤波、抽取工作。对CIC滤波器进行模块化设计,混频后的I、Q路信号分别调用CIC滤波器模块进行处理,其FPGA内部实现框图如图2所示。
图2 CIC滤波器模块FPGA内部实现框图
DSP48A1核包含一个48位加法器/减法器/累加器[6],因此通过调用IP核和配置寄存器延迟,使用DSP48A1核来实现积分器和疏状滤波器。由于CIC滤波器内部存在积分器,这将造成内部寄存器位数的增长。这个位数增长由级数[N,]抽取因子[D]和延迟因子[M]决定,所以在用FPGA实现CIC滤波器时,每一级都必须保留足够的运算精度,否则就有可能造成溢出错误。如果输入数据的位数为[B]位,那么可由下式求出输出数据的位数[7][BMAX:]
[BMAX=Nlog2DM+B]
DSP48A1核支持48位加法、减法,在实际设计中,每一级积分器和梳状滤波器的位数都采用48位来做运算,在不需要多消耗资源的情况下最大程度提高了运算精度。程序中的运算采用二进制补码格式进行,在运算过程中采用移位处理模块要对数据进行移位处理,保证在最大抽取因子下,后面的运算处理不溢出。
2.3 FIR滤波器模块的FPGA设计
数字下变频器的最后一级是FIR滤波器,FIR滤波器主要完成信号的整形滤波功能,同时完成最后一级的抽取。由于进入到 FIR 滤波器的数据速率已经相对较低,因此在这种情况下可以较容易地实现较高阶的FIR滤波器,从而使得滤波器的通带带宽、通带纹波、阻带衰减和过渡带带宽等都能够达到较好的指标[8]。
在本设计中采用FIR Compiler核来实现FIR滤波器模块[9]。设计了2个FIR滤波器来实现最后一级抽取功能,分别为抽4FIR滤波器和抽10FIR滤波器。通过控制模块根据抽取因子控制这2个滤波器数据的输入输出和工作使能,其幅频特性如图3,图4所示。
图3 抽4FIR滤波器的幅频特性
3 系统仿真及验证
本设计使用Xilinx ISE 11.4工具进行编译和综合,为了验证设计的正确性,采用ChipScope Pro工具和Matlab工具对内部信号进行分析[10]。该设计实现的数字下变频器的具体处理流程为:设置抽取率为6×6×4,输入的355 MHz中频信号经过A/D转换器以50 MHz采样速率带通采样后转换为数字信号送到FPGA中;控制模块NCO参数使其产生频率为5.05 MHz的正交信号与采样信号进行混频;混频后得到频率为50 kHz的I,Q信号;I,Q信号的采样速率为50 MHz,通过6倍抽取的2级CIC滤波器和6倍抽取的4级CIC滤波器得到1.389 MHz采样速率的信号,再通过4倍抽取的FIR滤波器输出347 kHz低采样速率的信号供后级的DSP进行处理。使用ChipScope Pro工具对FIR模块输出的I,Q数据进行采集,波形如图5所示。
图4 抽10FIR滤波器的幅频特性
图5 I,Q数据波形(FIR模块输出)
把采集I,Q数据组成为复数数据输出送到Matlab工具里进行FFT分析,频谱图如图6所示。
4 结 论
通过测试,采用FPGA设计的数字下变频器代替专用的数字下变频芯片能够很好地实现不同抽取率下的下变频功能,满足数字中频接收机的设计要求。通过使用FPGA实现数字下变频功能可以根据不同的系统要求,采用不同的结构完成相应的功能,具有很大的灵活性,便于进行系统的功能扩充和升级,具有较高的应用价值。
图6 I,Q数据频谱(FIR模块输出)
参考文献
[1] 陈东坡.数字下变频电路的FPGA实现[D].西安:西安电子科技大学,2010.
[2] 齐青茂,王岩建,张华冲.中频采样全数字接收机的设计与实现[J].无线电通信技术,2012,38(4):77?80.
[3] 李青鹏,高凯,路军.数字通道芯片AD6620的原理及应用[J].国外电子元器件,2002(10):52?54.
[4] 徐小明,蔡灿辉.基于FPGA的数字下变频(DDC)设计[J].通信技术,2011,44(10):19?21.
[5] 田耘,徐文波,张延伟.无线通信的FPGA设计[M].北京:电子工业出版社,2008.
[6] 姚詹图.基于FPGA的伺服控制器[D].哈尔滨:哈尔滨工业大学,2010.
[7] 金燕,李松,冯晓东.FPGA中CIC抽取滤波器增益校正的实现[J].电视技术,2013,37(7):57?59.
[8] 史磊.软件无线电接收机中数字下变频器设计与实现[D].成都:电子科技大学,2009.
[9] 刘东华.Xilinx系列FPGA芯片IP核详解[M].北京:电子工业出版社,2013.
[10] 李辉,岳田.在FPGA设计中ChipScope与Matlab的应用[J].无线电工程,2010,40(1):62?64.