1、72基于FPGA的数字下变频的设计与实现SYSPRACTICE;系统实践;基于FPGA的数字下变频的设计与实现;孙琛(武警通信总站北京100089);摘要:为解决专用数字下变频芯片价格昂贵、灵活性不;1引言;在软件无线电接收机的设计中,数字下变频器(DDC;2DDC的结构原理;典型的数字下变频由数字混频器、数字控制振荡器(N;图1数字下变频系统结构框图;3数字下变频基于FPGA的设计与实现;本设计0SYS PRACTICE系统实践基于FPGA的数字下变频的设计与实现孙 琛 (武警通信总站 北京 100089)摘要:为解决专用数字下变频芯片价格昂贵、灵活性不强的问题,研究了如何基于FPGA实现数
2、字下变频的功能,本设 计结合硬件资源从数字下变频的系统各模块的主要功能以及彼此间的性能制约上考虑,先通过MATLAB仿真选择合适的参 数,然后在Xilinx公司 ISES.2开发环境下,使用Verifog语言编程实现。最后对基于FPGA实现的数字下变频系统调用Modelsim 进行仿真测试,验证了设计的正确性。 关键词:软件无线电;数字下变频;Xilinx;数字滤波器 统,结合MATLAB预先对滤波器的指标进行仿真,然后在Xilinx 公司的集成开发环境ISE8.2中进行Verilog语言编程,并结合 Mentor的子公司 Model Tech出品的Modelsim进行仿真和验 证。 3.1
3、数控本振的设计 目前主要的下变频方法有以下四种3: (1)查表法产生正余弦波样本值,然后混频。 (2) IIR振荡器产生数字化正余弦函数,然后混频。 (3)采用流水线技术的坐标旋转数字式计算机(CORDIC)算 法。 (4)重采样。 实际中用得最多的还是(1),(3) 两种方法。 在采样率很高的情况下,产生正弦波采样最简单有效的方 法是查表法,即把各个相位的正弦值事先计算好存储在ROM 中,然后按相位做地址查表得到正弦波采样。NCO由相位累加 器、相位加法器和正弦表只读存储器三部分组成。NCO的工作 原理:每一个时钟脉冲,利用相位累加器使相位在原来的基础 上加一个相位增加量即频率控制字,再利用
4、相位加法器加上初 始相位即相位偏移,最后用相位值作为正弦表的地址,查出正 弦值。每当累加器溢出时就产生一个新的循环,累加器完成一 个循环的时间就是正弦波形的周期4。1 引言在软件无线电接收机的设计中,数字下变频器(DDC)技术是 其核心技术之一。数字中频软件无线电接收机由模拟预处理、 ADC、DDC和高速DSP组成。一般A/D采样都是在中频以上,其 频率一般在MHz 数量 级以上。一般认为,要进行较好的滤波等 处理,需要对每个采样点进行100次操作。对于一个软件无线电 系统来说,若系统带宽为10MH乙要大于25MHz。这样就需要 2500MIPS(百万指令每秒),这是现有的任何单个DSP很难胜
5、任 的1 。因此,必须采用数字下变频技术,通过对数字信号进行采 样率变换以缓解DSP 处理速度的压力。作 为过渡阶段的软件无 线电用DDC实现中 频段的处理任务,这样即能保留软件无线电 的优点,又有 较高的可靠性2 。 目前,国外虽已生产专用数字下变频芯片,其具有抽取比 大、性能稳定等优点,但专用数字下变频芯片价格昂贵、灵活 性不强,不能充分体现软件无线电的优势。用FPGA来实现比用 专用芯片具有更多的好处,FPGA器件具有很强的稳定性和高 效的处理能力,它可以工作在几十甚至上百MHz的频率上,其 高速强大的处理能力,是实现数字中频处理的理想器件。使用 FPGA芯片实现的下变频器件可以更加方便
6、的采用软件方法将存 储器、控制器等外围器件集成到芯片内部,提高了整个系统的 稳定行和集成度。虽然用硬件实现,FPGA的重复可配置能力, 使其可以根据不同的系统要求,采用不同的结构来完成相应的 功能,具有很强的灵活性,便于进行系统功能扩展和性能升 级。并且设计和修改非常容易,其灵活性与方便性与软件实现 相差无几,适合软件无线电灵活性。2 DDC的结构原理典型的数字下变频由数字混频器、数字控制振荡器 (Numerically Controlled OscillatorNCO)和抽取滤波三部分 组成,图1所示是一个数字下变频器的结构原理框图2。图中, NCO可将产生的正交本振信号输入到数字混频器,以
7、与A/D采样 得到的数字信号进行混频,经混频后的信号再输出到抽取滤波 器以滤除倍频分量和带外信号,并进行抽取处理。抽取滤波器 可采取积分梳状滤波器(CIC)、半带(HB)滤波器和FIR滤波器 级联的方式来实现。 图2 NCO功能方框图 3.2 CIC滤波器的FPGA设计 由以上NCO的设计可知,混频部分非常容易实现,关键部分 在于滤波器的实现。 CIC滤波器的系统结构主要由积分器与微分器两部分级联而 成。积分器的实现,从结构图可以看出,由一个加法器跟延迟 器组成,延迟器的实现在FPGA中由一级寄存器实现,加法器在 FPGA中由一些组合逻辑实现( 在综合时可以进行优化,占用资源 并不太大);微分
8、器由一个减法器跟延迟器组成,其FPGA实现跟 积分器一样。 在使用级联CIC滤波器时,系统N 级级联后增益 ,因 此在FPGA实现时,每一级必须包含足够的精度,也就是位扩 展,即每一级所使用的运算有效位数都将比前一级要多4。 CIC抽取滤波器每一级输出所需要的精度: (3.1) 由式(3.1)得出每一级输出的数据精度,设计中都采用合理 的精度即可以保证最后输出无失真。 由于积分器部分是不稳定系统的缘故,所以会有增益,并 且随着级数的增多和抽取因子的加大,增益也越大,所以在设 计时必须注意中间寄存器位 宽的选择5 ,由式 (3.1)经计算,中图1 数字下变频系统结构框图3 数字下变频基于FPGA
9、的设计与实现本设计选用Xilinx公司的 SpartanXC3S400的FPGA开发系信息系统工程 2010.7.20SYS PRACTICE 间寄存器的位宽应取为23位,设计中寄存器实际扩展为25位。 设计 采用 CIC滤 波器5级级联,滤波器截止频率为0.025fs, 旁瓣抑制67.3dB。抽取倍数D=8,采样频率为开发板上晶振提 供的50MHz。 由于CIC放在第一级,势必要求处理速度非常高,但CIC滤 波器5级级联就会增加关键路径的长度,有可能造成在输出时采 样保持时间不足,造成亚稳态5。因此,为了避免这种现象,在 FPGA实现时,每级 都打一流水线( 即加一级寄存器)。在每一级 间
10、增加一个延迟单元,梳状滤波器的传递函数变为: (3.2) (3.3) 可见在梳状级间增加一个延迟单元对滤波器的频率响应没 有影响,而且关键路径也不会特别长,但处理速度可提高4倍。 在ISE调用Verilog编程,调用Mode1Sim综合仿真如图3:系统实践图3 CIC滤波器的功能测试 设计输入信号为781KHz正弦+2.34MHz正弦波,采样频率 fs=50MHz,CIC抽取因子D=8,滤波器截止频率1.25MHz。如 图3,clk_8 为系统时钟的8分频,实测经过CIC滤波器后的信号 dout频率为78lKHz,证明设计的CIC有效地提取了所需要的信 号。 3.3 HB滤 波器模块设计与实现
11、 由于CIC滤 波器会引起信号通带增益下降,为了解决这个问 题,CIC滤 波器后面要再级联抽取低通滤波器。半带滤波器的频 率响应在信号采样率降低一半以后,在过渡带中是有混叠的, 但是在通带内没有混叠,比普通的二倍抽取的抗混叠滤波器可 以降低一半的运算量。因此,为了降低滤波器的复杂性,设计 选择使用二倍抽取的半带滤波器以使总运算量大幅度降低。 由于HB 滤 波器的阶 数越低,相对带宽 越小。因此,在小抽 取率的情况下,应尽可能用高阶的HB 滤波器,以获得尽可能大 的信号带宽。 使用MATLAB的FDA工具箱,可以直观 形象的发现,通过 blackman窗函数加权 ,能够最优良的得到满足要求的半带
12、滤波 器,也可以使用下面的公式计算半 带滤波器的系数6,7 : (3.4) (3.5) 通过MATLAB仿真 对半带滤波器的系数进行设计,通过设 计不同阶数与不的量化位数等,设计最后选定为15阶,量化位 数 8,归一化截止频率0.145fs。 经 过 C I C 滤 波 器 8 倍 抽 取 后 的 输 出 采 样 率 为 50/8=6.25MHz,则HB滤波器的通带截止 频率为906.25KHz。 HB滤 波器的系数 选 用15阶对称系数,其中6个系数为0,2 倍抽取,虽然抽取因子小,但是却获得了较高的处理速率。更 进一步的抽取可以交给后级的FIR完成,这样做的好处是既提高 了数据的处理带宽和
13、处理速率又 节约了FPGA 的资源。 在ISE调用Verilog编程,调用Mode1Sim综合仿真如下图4 输入信号x_in为195KHz与20MHz两个正弦波的叠加,采样 频率为fs=50MHz,HB抽取因子D=2。如图4,clk2是clk的2分 频,每clk2上升沿采样一次,采样频率变为25MHz,实测经过图4 HB滤波器功能测试 HB滤 波器后的信号dout频率为195KHZ,证明设计的HB 有效的 滤除了带外信号,并对输入的有用信号进行了2倍的抽取。 3.4 FIR滤波器的FPGA 设计 通过CIC和 HB滤波抽取后,基带信号会由最初的高采样 率降到较低的速率,以适应后级FIR处 理。
14、FIR 滤波器的主要用 途是对整个信道进行整形滤波,需要的时候还可以作为匹配滤 波器使用。本文采用窗函数设计FIR滤 波器,FIR 滤波器部分的 Verilog代码如下: always(posedge clock) if(reset=1) begin for(k=1;k=order;k=k+1) Samplesk=0; end else begin Samples1=Data_in; for(k=2;k=order;k=k+1) Samplesk=Samplesk-1; End4 结 语本文主要研究了数字下变频器的原理及基于FPGA的实现方 法。由于FPGA在设计 和修改上的灵活性,使其比AS
15、IC更加适合 实现数字下变频器。FPGA可以满足各种不同应用场合的要求, 因此用FPGA来代替 专用数字下变频芯片能够满足大部分扩频通 信系统中接收机对数字下变频器的处理速度、处理带宽以及滤 H 波器性能的要求,具有一定的实用价值。 参考文献1钮心忻,杨义先.软件无线电技术与应用M.北京:北京邮电大 学出版社,2001. 2Nicholasetal H T. The Optimization of Direct Digital Fre-quency Synthesizer Performance in the Presence of Finite Word Length Effects A.
16、Proc. 42th Annual Frequency Control SymposiumC.1988:357-363. 3 Walter Tuttlebee. 软件无线电技术与实现M. 北京: 电子工业 出版社,2004. 4飞思科技 产品研发中心.Matlab 7辅助信号处理技术与应用 M.北京 :电子工业出版社,2005. 5李 义宁,赵杭生,朱 爱华.CIC滤波器实现过程中应注意的几点 问题 J.军事通信技术,2004. 6王静 ,杨梅,刘涛.半 带抽取有限冲激响应滤波器的应用设计及 仿真J.大连海事大学学报,2004. 7韩利竹,王华.Matlab电子仿真与应用M.国防工业出版 社,2003.信息系统工程 2010.7.20三亿文库包含各类专业文献、应用写作文书、高等教育、外语学习资料、行业资料、中学教育、文学作品欣赏、专业论文、幼儿教育、小学教育等内容。