当前位置:蚂蚁文档网 > 述职报告 > 数字下变频的设计及其在FPGA中的实现

数字下变频的设计及其在FPGA中的实现

时间:2022-05-13 09:45:04 浏览次数:

摘 要:分析数字下变频结构及其实现方法,重点研究如何基于FPGA实现数字下变频的功能,并通过仿真分析验证该实现方法的正确性。结果表明,该实现方法可用于各类数字通信系统中频信号的数字下变频处理,具有一定的实用价值。

关键词:数字下变频;混频器;数字滤波器;FPGA

中图分类号:TP274文献标识码:A

文章编号:1004-373X(2010)01-055-03

Design of Digital Down Converter and Its Implement Based on FPGA

WANG Ping,LI Jianhai,LIU Baohua,MA Ertao

(Airforce Engineering University,Xi′an,710038,China)

Abstract:The configuration of digital down converter and its implement method are analysed,and how to realize digital down converter′ function based on FPGA in stress is studied,the correctness of the method is validated by simulation. The results indicate that the method can be used in many kinds of intermediate frequency digital down converter processing,thus it has definite practicality value.

Keywords:digital down conversion;mixer;digital filter;FPGA

0 引 言

自20世纪90年代以来,软件无线电技术引发了移动通信领域的一场革新,数字下变频技术是软件无线电技术实现过程中的一个重要环节,其完成的任务主要是:一方面将包含所有信道的宽带信号进行信道分离,分别提取需要的窄带信号;另一方面,对于分离的窄带信号,可以大大降低其采样速率,即降低数据量,缓解基带部分的处理压力[1]。

本文首先介绍了数字下变频及其核心部分数控振荡器的原理,并在此基础上研究了基于FPGA的数字下变频器的实现方法。

1 数字下变频的原理

数字下变频器的组成包括数字混频器、数字控制振荡器(Numerically Controlled Oscillator,NCO)和低通滤波器(LPF),如图1所示。

从原理上比较,数字下变频器和模拟下变频器是一致的,都是输入信号与本地振荡信号混频,然后经低通滤波器滤除高频分量,得到基带信号。模拟下变频器的缺点是:由于两路乘法器和低通滤波器本身一致性不好,致使I,Q通道幅度不平衡,相位正交误差很大,并且具有温度漂移,稳定性也不好。然而在数字下变频器中,乘法器和低通滤波器可以做到完全一致,因此不存在I,Q通道幅度不平衡的问题。另外,数字下变频器的控制和修改较容易等特点也是模拟下变频器所无法比拟的。

图1 数字下变频器组成方框图

2 数控振荡器的实现[2]

NCO是数字下变频器中相对复杂的部分,也是决定数字下变频器性能的最主要因素之一。NCO的目标就是产生一个理想的正弦或余弦波采样值。正弦波形采样可以用实时计算的方法产生,但这只适用于采样率较低的情况。在采样率很高的情况下,产生正弦波采样最简单有效的方法是查表法,即把各个相位的正弦值事先计算好存储在ROM中,然后按相位做地址查表得到正弦波采样。

由图2可知,NCO由相位累加器、相位加法器和正弦表只读存储器三部分组成。NCO的工作原理如下:每一个时钟脉冲,利用相位累加器使相位在原来的基础上加一个相位增加量即频率控制字,再利用相位加法器加上初始相位即相位偏移,最后用相位值作为正弦表的地址,查出正弦值。每当累加器溢出时就产生一个新的循环,累加器完成一个循环的时间就是正弦波形的周期[3]。

图2 NCO功能方框图

3 混频器的设计及其在FPGA中的实现

混频器中的本振信号cos(ωcn),sin(ωcn)由直接数字频率合成器产生。直接数字频率合成器(DDS)由相位累加器、相位加法器、正弦表只读存储器[4]三部分组成。相位累加器将数字本振频率和本振偏移频率之和转换成相位,每来一个时钟脉冲,相位在原来的基础上增加一个相位增量。相位加法器的功能是设置一定的初始相位,以满足某些应用的需要。相位的正弦值通过查正弦表求得。

sin[n]=sin(2πn/N)

(1)

式中:n是查正弦表时对应的数组元素的地址;N决定了正弦表的大小;sin[n]表示(2πn)/N处的正弦值,每来一个时钟脉冲相位累加器将相位增加(2π)/N。

DDS可以调用Xilinx公司提供的IP核产生。其中,DDS的参考时钟、频率分辨率、无杂散动态范围和本地载波输出频率均可以跟据需要进行设置。这里将DDS参考时钟设置为10 MHz,输出载波频率设置为2.5 MHz,无杂散动态范围设置为36 dB,频率分辨率设置为1 Hz。用ModelSim SE PLUS 5.8c仿真后波形如图3所示。

图3 直接数字频率合成器仿真波形

4 FIR低通滤波器的设计及其在FPGA中的实现

有限冲击响应滤波器FIR是指冲激响应函数h(n)为有限个值的数字滤波器,即满足:

h(n)=0,n≥N2,n

(2)

式中:N1,N2为有限值,实际中通常取N1=0,N2=N。相应的系统函数H(z)为:

H(z)=∑N-1n=0h(n)z-n

(3)

式中:

H(z)是z-1的N-1次多项式,它在z平面上有N-1个零点,原点z=0是N-1阶重极点。因此,H(z)永远稳定。稳定和线性相位特性是FIR滤波器的突出优点[5]。

FIR滤波器的设计任务是选择有限长度的h(n),使传输函数H(ejω)满足技术要求。FIR滤波器主要有三种设计方法:窗函数法、频率采样法和切比雪夫等波纹逼近法。这里采用的是窗函数法。

假设要设计的低通滤波器截止频率为:ωc=0.25π rad,用理想低通滤波器作为逼近滤波器,有:

hd(n)=sin[ωc(n-α)]π(n-α),0≤n≤N-1

(4)

式中:

α=12(N-1)。

hd(n)=sin[0.25π(n-α)]π(n-α), 0≤n≤N-1

(5)

用汉宁窗设计:

h(n)=hd(n)wHn(n),0≤n≤N-1

(6)

wHn(n)=0.51-cos2πn10

(7)

则由上式计算得到FIR滤波器的N个系数。这里取N=11。相应的FIR低通滤波器幅频特性曲线如图4所示。

y=fir1(10,0.24,hanning(11))

[-0.003 0 0.037 0.119 0.209 0.250 0.209 0.119 0.037 0-0.003]

图4 FIR低通滤波器幅频特性曲线

由于一般的FPGA内部缺乏实现乘法运算的有效结构,所以乘法运算很耗资源[6,7]。鉴于此,可以用移位、加法来代替乘法。设Hs(k)为系数h(k)标准二进制码的第s位,则:

h(k)=∑q-1s=0Hs(k)×2s

(8)

x(n)•h(k)=∑q-1s=0Hs(k)×[x(n)×2s]

(9)

式中:x(n)左移s位即得x(n)×2s,若Hs(k)中有m个‘1’,那么x(n)×h(k)就可用m次移位和(m-1)次相加来实现。这样FIR滤波器的资源消耗主要取决于加法器的数量,减少加法器数量的一个有效方法是用标准有符号数字量(CSD码)来表示系数。CSD码有三重值:{-1,0,1},如45=000001-01-01,其中1-表示-1。标准二进制码零元素的密度为1/2,而CSD码零元素的密度为2/3,用CSD码表示系数h(k),加法器的数量理论上能减少33%。

另外,还有一种最优CSD码可以进一步减少加法器的数量,即先将系数分解成几个因子,如45=5×9,分别用CSD码实现每个因子:5=(4+1),9=(8+1),再级联。但最优CSD码只是对单个系数进行的加法器简化,实际可以对所有系数进行整体的加法器简化,一个系数的实现可以以其他系数的实现结果为起点,如系数9,11。9可以由8+1来实现,11又可以由9+2来实现,将两个系数结合起来实现又可以节省一个加法器,这就是简化加法器网络的基本思想[8,9]。

根据式(6)用Matlab设计的滤波器在FPGA中实现,首先将各系数左移10位得到:

[3 0 38 122 214 256 214 122 38 0 3]

系数设计步骤如下[10]:

第一步:将所有系数取正,负号用抽头延迟线上的减法来实现;

第二步:形如2k的系数直接用移位实现;

第三步:利用第二步的结果,用最少的加法器实现一些比较简单的系数,如9=8+1,3=2+1;

第四步:充分利用已得结果,用最少的加法器实现其他系数,如图5所示。

图5 简化加法器网络

输出y(n)=x(n)*h(n)=∑10k=0x(n-k)h(k)

当输入为x=[0 1 2 3 4 5 6 7 8 9 10 1 2 3 …]

输出y=[4 990 6 018 7 016 7 634 7 412 6 270 4 708 3 566 3 344 3 962 4 960 …]

用ModelSim SE PLUS 5.8c仿真后波形如图6所示。

图6 低通滤波在ModelSim中的仿真

5 结 语

本文主要研究了数字下变频器的原理及基于FPGA的实现方法。由于FPGA在设计和修改上的灵活性,使其比ASIC更加适合实现数字下变频器。FPGA可以满足各种不同应用场合的要求,因此用FPGA来代替专用数字下变频芯片能够满足大部分扩频通信系统中接收机对数字下变频器的处理速度、处理带宽以及滤波器性能的要求,具有一定的实用价值。

参考文献

[1][美]贝斯.数字信号处理的FPGA实现[M].刘凌,胡永生,译.北京:清华大学出版社,2003.

[2]Nicholasetal H T.The Optimization of Direct Digital Frequency Synthesizer Performance in the Presence of Finite Word Length Effects[A].Proc.42th Annual Frequency Control Symposium[C].1988:357-363.

[3]飞思科技产品研发中心.Matlab 7辅助信号处理技术与应用[M].北京:电子工业出版社,2005.

[4]韦逸嘉,赖益民.一种基于FPGA的数字下变频算法研究[J].信息技术,2005,29(7):106-108.

[5]杨灵,吴黎晖,张蕴玉.基于高效抽取滤波器的数字下变频设计[J].华中科技大学学报:自然科学版,2006,34(6):14-16.

[6]杨小牛,楼才义,徐建良.软件无线电原理与应用[M].北京:电子工业出版社,2001.

[7]褚振勇,翁木云.FPGA设计及应用[M].西安:西安电子科技大学出版社,2002.

[8]向新,张发启,王兴华,等.软件无线电原理与技术[M].西安:西安电子科技大学出版社,2008.

[9]韩韬.软件无线电数字下变频的研究及系统仿真[D].长春:吉林大学,2006.

[10]张欣.扩频通信数字基带信号处理算法及其VLSI实现[M].北京:科学出版社,2004.

推荐访问:变频 数字 设计 FPGA

猜你喜欢