基于WiMax及其派生标准的新兴宽带无线协议需要越来越高的吞吐量和数据速率。这些协议提出的快速芯片速率和数字射频处理可以在使用FPGA方案的硬件上得到最佳的实现。 FPGA非常适合作为高性能、高性价比的解决方案来实现这些物理层协议中的数字功能,因为它们包括以下丰富的资源: 1. DSP模块,可以用来实现各种FIR滤波和FFT/IFFT操作所要求的乘法器和加法器/累加器功能; 2. SERDES收发器,可以支持无线前端与基带数字板之间的CPRI和OBSAI接口; 3. 重要的FPGA嵌入式RAM块存储器(EBR),可以用来存储滤波器系数,执行块交错以及实现FEC解码(Turbo、维特比、Reed-Solomon等); 4. 高速LVDS I/O,分别支持到DAC和来自ADC的宽并行接口。这些转换器定义了射频/模拟功能和廉价数字基带逻辑之间的界限。接口的速率越高,低成本FPGA解决方案便能集成更多的数字上变频/数字下变频功能。 本文重点讨论第一种资源,即DSP乘法模块。通过减少和优化DSP乘法模块在FFT和FIR中的实现,设计师可以在尽量减少资源使用的条件下满足吞吐量要求,从而允许用户使用最具性价比的现成FPGA器件。下面对这四种乘法器节省技术进行介绍。 用于WiMax OFDM功能的高效复数乘法
WiMax系统设计的一个重要特征是支持正交频分复用(OFDM)。FPGA使得分别使用IFFT和FFT在离散时间内实现OFDM发送器和接收器变得特别容易。诸如802.16a等协议需要256样点的FFT。而802.16e这些协议要求多种FFT样点,或者可以灵活调整的FFT样点以适应动态信道和带宽要求(可扩展OFDMA)。 复数乘法
在执行256和1024样点FFT时,可通过Radix-4结构获得乘法器的最高效使用。FFT算法通过复用4样点离散傅里叶变换(DFT)蝶形结构进行分解。例如,一个16点的FFT可以通过按时间抽取、按频率抽取或其他相关分解方式用2级Radix-4 DFT结构实现。第1级由4个4样点DFT组成,第2级同样由4个4点DFT组成。由于每个DFT的输出要求在馈送给下一级之前为结果提供3个相位因子,因此第1级和第2级之间的9个相位因子需要9次复数乘法。 初看起来,执行一次复数乘法需要4个乘法器和2个加法/减法器。然而,该表达式可以重新写成另外一种只需3个乘法器、3个加法器和2个减法器的表达式。值得注意的是,加法器是在FPGA的内核逻辑中实现的,使用了丰富的逐位进位模式(ripple mode)的通用可编程逻辑单元(PLC)片。 如果D=Dr+jDi是复数数据,C=Cr+jCi是复数系数,那么复数乘法的标准表达式如下: E1:R=D*C=(Dr+jDi)*(Cr+jCi)=Rr+jRi (1) 其中Rr=Dr*Cr-Di*Ci, Ri=Dr*Ci+Di*Cr 上述标准表达式要求使用4个乘法器。该表达式可以通过代数方法重新整理为: E2: Rr=Dr*Cr-Di*Ci (2) E3: Rr=Dr*Cr-Di*Ci+0 (3) E4: Rr=Dr*Cr-Di*Ci+(Dr*Ci-Di*Cr)-(Dr*Ci-Di*Cr) (4) E5: Rr=(Dr*Cr-Dr*Ci+Di*Cr-Di*Ci)+(Dr*Ci-Di*Cr) (5) 复数结果的新表达式是: E6: Rr=[(Dr+Di)*(Cr-Ci)]+(Dr*Ci-Di*Cr) (3次乘法) (6) E7: Ri=Dr*Ci+Di*Cr (复用来自Rr的乘积) (7) 如图1所示,最优的复数乘法可以用3个乘法器、3个加法器和2个减法器实现。值得注意的是,在FPGA中,加法/减法模块所用的相对裸片面积要小于18?8的乘法器模块。 图1:采用4个和3个乘法器的复数乘法。
总之,所用乘法器数量减少25%可以带来下面两大好处之一: 1.在相同FFT吞吐量的条件下可以少用乘法器; 2.在乘法器数量不变的条件下可以提高FFT吞吐量。 数字上变频/下变频器中FIR滤波器的高效实现
如下的三个高效乘法器技术可用于实现FPGA中的数字上变频和下变频。这已经成为优化的重点领域,因为无线设计师需要满足将数据从非常高的采样速率向芯片处理速率转移的要求。数字下变频器/上变频器(DDC/DUC)子系统是基站内发送器/接收器的主要数字器件,以前是用昂贵的模拟/混合信号器件实现的。共有三种技术可以用来减少FPGA实现方案中的乘法器数量。 1.系数对称的FIR滤波器可节省乘法器; 2.分布式运算操作使用嵌入式块存储器; 3.级联积分梳状滤波器使用加法器。 上变频/下变频概述
如图2中上半部分描述的那样,DDC由以下器件组成:一个基于数控振荡器(NCO)的I/Q分离器,它通过两个混频器将来自射频部分的输入信号用正弦和余弦波进行调制;一个抽取部分,可以由3级FIR抽取滤波器或后接级联积分梳状(CIC)滤波器的FIR抽取滤波器进行配置。 图2:DDC/DUC结构。
图2中的DUC由以下器件组成:3级FIR内插滤波器或后面接FIR内插滤波器的CIC滤波器;一个基于NCO和两个混频器的I/Q混频器,其在I、Q输出信号到达射频部分前对它们进行解调。请记住,抽取用于采样删除以达到较低的采样率,而内插用于增加外推样本以提高采样率。 变频器的通用实现指南
DDC/DUC系统是一个需要大量乘法器的系统。抽取和内插滤波器通常由乘法器和加法器阵列实现,而混频功能就是一个乘法器。利用面积优化方法实现NCO要基于使用复数乘法器的相移。 克服需要大量乘法器的系统所带来的挑战首先是要分解和级联滤波器: 1. 一个抽取/内插系数为N的大型FIR抽取滤波器或FIR内插滤波器可以分解成两个或三个抽取/内插系数分别为N1、N2和N3的较小、较简单的级联滤波器。抽取/内插系数满足以下等式: E8: N=N1*N2*N3 2. 将FIR抽取滤波器或FIR内插滤波器分解成两个或三个独立滤波器可以减少实现整个滤波器所需的抽头总数。抽取或内插系数为N的单个滤波器需要大量的抽头(乘法器)才能满足基本的滤波器衰减和噪声特性要求。将滤波器分解成两个或三个更小和更简单的滤波器可以减少整个滤波系统的抽头数量。另外,第二和第三级联滤波器的较低采样率可以实现时间复用,从而进一步缩小实现的尺寸。 当滤波器阶数确定好后,还可以采取多种措施减少实际滤波器中的乘法器数量。下面将对此进行介绍。 表1:可减少WiMax系统设计中乘法器数量的四种技术。
|