多天线多载波的数字上下变频的FPGA实现
扫描二维码
随时随地手机看文章
概述
数字上变频/下变频(DUC/DDC, digital up convert/ digital down convert)是数字中频设计的重要组成部分,其功能是将基带信号经过内插滤波后变到中频的频率,或者将中频的信号经过抽取滤波后降到基带的频率上。系统设计者经常面临的问题是天线数目以及载波数目在不同应用场景下会改变,此时FPGA则提供了一种非常灵活的设计实现手段。本文的主要目的就是介绍多天线多载波数字上下变频的FPGA实现方法,以及Altera提供的一种数字信号处理的工具,DSP BUILDER。
DUC/DDC的实现架构
以TD-SCDMA的DUC/DDC为例,基带频率1.28MHz, 4天线9载波,60倍上变频,30倍下变频的情况下,DUC的架构如图1所示
图1,DUC的架构
首先4天线9载波,每个载波分IQ两路,一共4×9×2=72个通道,这72个通道的数据先由duc_input_mux模块复合到一路上,输入到duc_rrc_filter上,做2倍内插以及根升余弦滤波,这是一个121阶的滤波器;输出结果分成4路,分别送到4个int5_filter(61阶)模块中,做5倍内插及补偿滤波;这4个滤波器的输出再被分成24路,送进int6_filter(41阶)模块中,做6倍内插及滤波;其结果进入混频模块mixer,与NCO产生的中频信号混频后作为最终结果输出。
DDC的架构如图2所示
图2,DDC的架构
对DDC而言,入口是4个天线下来的数据,经过混频器区分到不同频点上,再由抽取滤波器dec5_filter(41阶)做5倍抽取以及滤波;结果复合到3路上,由3个dec3_filter(61阶)做3倍抽取滤波;最后由ddc_rrc_filter(121阶)做两倍抽取以及滤波。
我们可以看出,对DUC/DDC而言,主要模块是FIR滤波器,混频器,以及数控振荡器NCO,复用解复用逻辑占用的资源非常小。滤波器占用了大部分资源,包括查找表,寄存器,RAM,乘法器。因此优化滤波器设计,以节省资源,用尽量小规模的FPGA实现更多通道的数字上下变频,成为主要的实现难度。
DSP-BUILDER简介
DSP-BUILDER是Altera Corporation的一种设计工具,可以把它看作MATLAB SIMULINK和FPGA实现软件QUARTUS II之间的一个桥梁。简单来说,在SIMULINK环境下,调用DSP-BUILDER提供的库元件,搭建的这么一个数学模型系统,不仅可以在MATLAB中仿真,还能直接生成一个ALTERA FPGA的工程,综合布局布线后上硬件验证。这里有一点是要强调的,只能调用DSP-BUILDER中的库元件才能生成一个可以综合实现的工程。[!--empirenews.page--]
DSP-BUILDER8.0以后的版本,提供了一个新的ADVANCED BLOCK的特性,用这个新特性产生的FIR滤波器,较之以往的版本,在资源优化方面有了巨大的改进。如18通道61阶的5倍内插滤波器,由老版本生成的IP所占用的资源与ADVANCED BLOCK的比较,如下表所示:
ALUT REG M9K DSP18*18
老版本 311 652 28 13
advanced 217 533 7 12
老版本生成的IP所占用的资源与ADVANCED BLOCK的比较
可以看出,使用ADVANCED BLOCK, 无论是查找表,寄存器,还是RAM的资源,都有非常明显的降低。
此外ADVANCED BLOCK还有一些显著的优点:
1、 通道接口较之以往变的非常简单清晰,无论输入输出,主要信号只有3个,数据data,数据有效data_vld以及通道号channel。
2、 自动插入流水。只需要设置好相应参数,如时钟频率,目标器件,复用倍数等,它会在使用尽量少的资源并且满足时序的情况下,自动判断是否加入PIPELINE。
3、 系统层面的设计。它生成的所有模块,包括FIR滤波器,都有一组系统接口,可以通过不同地址对内部寄存器,如系数等,进行访问。
4、 自动实现资源复用。在时钟复用关系确定后,它能自动实现资源复用,使设计者从繁琐的优化工作中解放出来,专注于系统层面的设计。 function ImgZoom(Id)//重新设置图片大小 防止撑破表格 { var w = $(Id).width; var m = 650; if(w
整个设计的FPGA实现的资源以及功耗
这个4天线9载波的设计在Altera Corporation 的3SE80F1152I3上实现,工作频率为180倍基带速率时钟,即230MHz。所消耗资源如下表所示
ALUT REG M9K DSP18*18
数目13385 19068 330 532
所占百分比 % 21% 30% 67% 79%
整个设计的FPGA实现的资源以及功耗
内核静态功耗为734.58mW
内核动态功耗为2705.63mW
IO功耗为236.82mW
全部功耗加起来为3677.04mW。
3SE80是Altera CORPORATION的65纳米产品STRATIX III中的一款。这一系列产品在设计过程中考虑了很多功耗优化的因素,因此功耗特性比较好。比如内核电压,它是0.9V/1.1V可选,上述设计用的是1.1V电压,如果用0.9V的话,功耗还可以再降低30%。但有一点需要客户注意,使用0.9V电压的话,整个设计的时序会降低15%左右。