>
首页 » 业界动态 » 基于FPGA的数字下变频器设计

基于FPGA的数字下变频器设计

作者:黄仰博,孟繁智  时间:2006-10-26 00:51  来源:
摘 要:数字下变频技术是软件无线电的核心技术之一,本文首先介绍了数字下变频器的原理,然后主要讨论了基于FPGA的数字下变频实现方法。FPGA具有大容量,可编程的特性,以及设计和修改方面的灵活性,使得用FPGA来代替专用下变频芯片更加符合软件无线电的思想。

关键词:数字下变频;软件无线电;数控振荡器;FPGA

引 言

近来软件无线电已经成为通信领域一个新的发展方向,它的中心思想是:构造一个具有开放性、标准化、模块化的通用硬件平台,将各种功能,如工作频段、调制解调类型、数据格式、加密模式、通信协议等由应用软件来完成,并使宽带A/D和D/A转换器尽可能靠近天线,以研制出具有高度灵活性、开放性的新一代无线通信系统。数字下变频技术(Digtal DownConverter—DDC)是软件无线电的核心技术之一,也是计算量最大的部分,一般通过FPGA或专用芯片等硬件实现。虽然现在专用的数字下变频芯片品种很多,但是它们在设计和修改方面远远不如FPGA灵活,使用FPGA替代专用的数字下变频芯片更加符合软件无线电的思想。

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

数字下变频器的原理

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

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

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

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

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

图2 NCO方框图

  NCO具有如下几个特性:

(1)输出波形为S(n)=cos(2πFWn/fs +PW),其中fs为系统时钟,FW为频率控制字,PW为相位偏移;

(2)输出的频率分辨率为Δf =2-Nbfs,其中Nb是相位累加器的宽度;

(3)输出的相位分辨率为Δo=2-Mb×2π,其中Mb 是正弦表的地址位数,一般它不等于Nb,而是取Nb 的高Mb位;

(4)正弦表的幅度量化误差为0.5×2-Kb,其中Kb为正弦幅度量化位数。

FPGA实现

数控振荡器的实现
前面已经介绍了数控振荡器的原理与基本结构,它包括相位累加器、相位加法器和正弦表只读存储器。相位累加器和相位加法器实现非常简单,这里不再赘述。

一般来说,ROM越大(从而可表示的相位数多,幅度值越精确) ,数控振荡器的频谱也就越纯。但是ROM规模越大就意味着功率消耗大、速度低,成本也就提高了。一个最基本的压缩技术就是利用正弦函数的对称性,只存储π/2的幅值信息,然后根据控制电路按要求寻址和决定极性。在这以后,还有许多方法来压缩这1/4周期的波形信号。不同的方法其压缩率、硬件实现代价和性能都是不尽相同的。这里我们只介绍最简单的利用对称性的压缩方法。

利用正弦函数的对称性,我们可以只需要存储1/4周期的正弦信号幅值。查找表容量的减少需要增加额外的逻辑电路来输出整个周期的波形。详细的过程见图3,k比特的相位信息只用k-2比特来进行ROM寻址,最高的2比特提取出来作为控制信息。第k-1位数据决定所在的相位是一、三象限还是二、四象限,0为一、三象限,1为二、四象限,当相位在二、四象限时对ROM寻址的地址需要进行变换。第k位(MSB )决定输出的正弦幅值的极性,0为正,1为负。

图3 利用对称性ROM压缩示意图

  在上述具体实现的时候还需要利用一些技巧,需要引入一定的相位偏移,图4给出了3比特没有相位偏移和有相位偏移的情况。如果没有相位偏移,相位0和相位π/2都要表示。如果用k-2比特表示的话,两者的地址是一样的,这就需要额外增加1位来区分。出现上面这种情况是因为采样点取在了临界点上,如果具有1/2LSB的相位偏移,就避免了这种情况。另外一个好处是采用相位偏移之后,相位变换的计算不需要补码计算,而是直接按位取反,这样可以节省一些资源。

图4 相位偏移示意图

在大多数的应用中,数控振荡器需要同时具有同相和正交两路输出,它们的相位始终相差π/2。大多数FPGA内部都提供了双口RAM,它可以在两个端口同时进行读操作,因此同相和正交两路可以公用一个ROM,这样存储量又减少了一半。

数字混频器和低通滤波器的实现
数字混频器实际上是一个乘法器。乘法器的实现方式很多,最常用的是二叉树乘法器。图5所示的是一个8 ×8位二叉树乘法器。二叉树乘法器首先将乘法转换为部分乘积项,再利用二叉树把部分乘积项相加,二叉树的输出即为乘积。这种结构的优点是容易引入流水线结构以提高乘法器的速度。

图5 乘法器实现框图

数字低通滤波器通常采用FIR滤波器,它可以在设计任意幅频特性的同时,保证精确、严格的线性相位。现代FIR滤波器大都采用计算机辅助工程工具进行设计,这里我们不对F IR滤波器的设计进行讨论,只介绍一种对于给定系数的FIR 滤波器的FPGA实现方法——分布式算法。分布式算法是一项重要的FPGA技术,广泛地应用在计算乘积累加之中。假设一L阶FIR滤波器可表示为



其中ci为系数,di为输入数据,设di的数据宽度为N比特,其第n位表示为di(n) 。则式(1)又可表示为





则式(2)又可表示为


从式(3)可以看出实现一个L 阶F IR滤波器,可以预先设定一个L 位输入的查找表来实现部分乘积项

图6是用查找表实现的一个4阶FIR滤波器的部分乘积项的示意图。最后将这些部分乘积项2次幂加权相加,结果即为FIR滤波器输出。

图6 查找表实现部分乘积项示意图

结束语

本文主要讨论了数字下变频器的原理及基于FPGA的实现方法。由于FPGA在设计和修改上的灵活性,使其比ASIC更加适合实现数字下变频器。FPGA可以满足各种不同的场合应用的要求,因此用FPGA来代替专用的数字下变频芯片更加符合软件无线电的思想。

相关推荐

没有退路的FPGA与晶圆代工业者

FPGA  晶圆代工  2014-01-03

采用FPGA的可编程电阻的设计结构分析

FPGA  电阻  2013-09-24

从FPGA的制程竞赛看英特尔与Fabless的后续变化

FPGA  Fabless  2013-07-16

物联网融合自动化推动高效生产模式变革

物联网  FPGA  SoC  2013-07-09

14纳米FPGA展现突破性优势

14纳米  FPGA  2013-06-20

高清视频监控FPGA应用迎来小高峰

视频监控  FPGA  2013-06-20
在线研讨会
焦点