微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 硬件工程师文库 > 数字匹配滤波器的递归折叠实现

数字匹配滤波器的递归折叠实现

时间:04-20 来源:快易购 点击:

  针对数字匹配滤波器(DMF)的FPGA实现提出一种优化结构。利用16位移位寄存器(SRL16E)的存储潜力,设计递归延迟线(RDL);再利用RDL抽头个数倍减而抽头样本速率倍增的特点和时分复用技术,提出DMF的递归折叠结构。该结构以提高工作时钟频率为代价,增大延迟线的采样率以及相关运算单元的吞吐率,从而成倍降低DMF的资源消耗。当采用l/4递归折叠结构时,资源消耗仅为优化前的l/3.

  随着直接序列扩频(DSSS)通信技术和软件无线电技术的发展,全数字扩频接收机成为研究的热点。数字匹配滤波器(DMF)是全数字扩频接收机的核心部件,它主要用于伪码(PN)快速捕获和解扩。传统的DMF设计效率较低,当PN码码长较长时,需要占用较多的FPGA资源,成本较高。作者通过改进延迟线的结构,并结合时分复用技术,提出DMF的递归折叠结构,该结构极大地降低了DMF的资源消耗。

  1 DMF的基本结构和参数

  DMF是一种抽头间隔即码片周期为Tc、抽头系数为扩频序列(取值为±1)的特殊的FIR滤波器。其直接型结构由延迟线和相关运算单元(CCU)构成,如图1所示.

  延迟线用于保存相关时间范围(LTc)内的所有输入样本,它由L个延迟单元组成。虽然级联多个D触发器是实现延迟单元的最简方法,但它将大量使用D触发器,因此不宜用于构建量化位数大、阶数高的DMF延迟线.FPGA拥有丰富的查找表(LUT)资源,它可以用16位循环移位寄存器(SRL16E)实现 l~16个节拍的信号延迟。对于M bit量化、过采样倍数R≤16的DMF来说,构造一个延迟单元需要M个SRL16E.

  如图1所示,相关运算单元由L个乘法器和一个倒金字塔形的加法树组成。加法树的第1级有L/2个(M+1)bit二输入同步加法器(参与运算的是延迟抽头样本,字长为M bit,为了防止计算溢出,在相加之前需要进行1 bit的符号位扩展)、第2级有L/2个(M+2)bit二输入同步加法器,……,整个加法树有L- 1个二输入同步加法器。

  DMF的量化位数、输入采样率以及工作频率是影响DMF性能的3个关键参数,后两个参数是优化结构的基础,需要仔细权衡。

  DMF的输入为数字下变频器的输出(数字解调方案)或者模拟基带ADC的输出(模拟解调方案),其量化位数一般都为8 bit以上.DMF的资源消耗近似正比于量化位数,因此需要在这两者之间做出适当的折衷。文献中给出了DMF的量化精度对解扩性能的影响及DMF量化位数的选择依据。一般认为高斯信道下DMF选择3 bit量化较为合适,此时量化误差造成的性能损失不大,再增加量化位数并不能明显改善系统性能。为了叙述的一般性,定义DMF的输入量化位数为M.

  采样率是全数字接收机的关键参数之一,为了降低实现难度,避免采样率变换环节,DMF的采样率一般为接收机中频或基带ADC的采样率。为了降低对ADC前端模拟滤波器性能的要求并提高PN码同步精度,需要提高采样率。然而采样率的提高将增加接收机的运算量,从而导致占用更多的FP-GA资源,因此同样需要折衷考虑。工程上采样率一般是chip速率的整数倍,用过采样倍数R表示,R值一般取4~8.

  模块的数据处理能力与其并行程度(取决于硬件规模)和吞吐率(取决于工作频率)成正比。在额定数据处理能力下,提高模块的工作频率可以降低对模块并行程度的要求,即工作频率和设计规模是可以互换的。目前主流的高端FPGA的工作频率可以达到200~400 MHz,远远高于DMF的采样率,采用时分复用方式将大大降低硬件资源消耗量。

  作者提出的递归折叠型DMF,充分利用SRL16E的存储潜力,用递归结构降低延迟线的资源消耗,然后利用递归延迟线具有抽头个数倍减而抽头样本速率倍增的特点来时分复用相关运算单元,从而降低乘法器和加法器的数量。上述措施可成倍降低DMF消耗的硬件资源。

  2 递归延迟线的结构与特点

  传统的延迟单元用SRL16E实现R(R≤16)位移位寄存,在每个采样周期Ts内,延迟单元中的R个样本全部右移一位,这样,输入样本经过R×Ts后送到抽头处,从而实现了Tc时延.R位移位操作未能充分利用SRL16E的存储潜力,为此作者提出递归延迟线结构。在该结构中,无论R取何值,SRL16E 都进行16位移位操作。这样保存L×R个输入样本总共需要M×L×R/16个SRL16E,仅为传统结构的R/16.下面结合图2进行时序分析.

由于SRL16E进行16位移位操作,为了保证其时延等于Tc,移位周期必须为Tc/16.把R×Ts/16定为延迟线的工作时钟周期,那么工作时钟频率为chip速率的16倍,即采样率的C倍,其中C△16/R,因此每C个工作时钟周期才输入一个

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top