首页专业论文技术应用政策标准解决方案常用资料经验交流教育培训企业技术专家访谈电力期刊
您现在的位置:北极星电力网 > 技术频道 > 专业论文 > 软件无线电发射机的FPGA实现

软件无线电发射机的FPGA实现

北极星电力网技术频道    作者:3   2007/12/24 11:59:29   

 关键词:  fpga 无线电 软件无线电

摘要:本文以软件无线电理论为指导,以π/4DQPSK调制为特例,重点介绍了软件无线电发射机数字信号处理部分在FPGA上的实现,主要包括数据映射、成形滤波、CIC插值滤波和NCO等。在设计上使用了基于多相滤波和单MAC的成形滤波器及高效CIC插值滤波器,使性能和资源占用率获得了较好的突破。与专用芯片相比,用FPGA实现的软件无线电发射机更具灵活性。要害词:软件无线电发射机π/4DQPSK调制现场可编程门阵列多相滤波  一、引言  软件无线电是近几年在无线通信领域提出的一种新的通信系统体系结构,其基本思想是以开发性、可扩展、结构最简的硬件为通用平台,把尽可能多的通信功能用可升级、可替换的软件来实现。这一新概念一经提出,就得到了全世界无线电领域的广泛关注。由于它所具有的灵活性、开放性等特点,不仅在军、民无线通信中获得了方法是先根据调制方式求出I(n)、Q(n),然后分别与两个正交本振cos(ω0n)、sin(ω0n)相乘并求和,即可得调制信号。但为了抑制已调信号的带外辐射,在同相和正交支路上还分别增加一个具有线性相位特性和平方根升余弦幅频特性的低通滤波器。另外,为了使产生的基带信号与后面的采样速率相匹配,在进行正交调制前还必须通过内插把低速的基带信号提升到采样频率上,整个实现过程如图2所示。    三、软件无线电发射机的FPGA实现  1.调制映射的实现  调制映射是指把串行比特流映射到星座图上的相位点,包括串并变换、相位字累加器、延迟单元和一个ROM查找表。其中相位累加器的前端输入数据宽度为3bit,其值可为001、011、101或111,它是由串并后的两比特数据决定。由编码规则可知,00对应001,01对应011,11对应101,10对应111。将累加器输出的3bit数据延迟1个码元周期与前端输入相加,并把累加器的输出作为ROM的地址线,通过读取ROM里事先存好的I、Q值,即达到映射的目点。  上述映射方法适用于所有的数字调制,改变的只是累加器的位数、ROM的深度和内部的I、Q值。若调制方式为绝对调制,即一个星座点固定对应一个数据时,则去掉累加器和延迟单元,仅用串并后的数比特作为ROM的地址线即可。  2.成形滤波器的实现  根据PHS空中接口RCRSTD-28协议[4],其调制的成形滤波器的幅频特性如式(5)所示:    式中T=(1/192)×10-3s,α=0.5。  用MATLAB模拟上述的成形滤波器,考虑到资源占用和逼近程度,采用了40阶、系数宽度为16bit的FIR滤波器。考虑到成形滤波前还需5倍插值,采用了插值器的多相滤波结构,其结构图如图3所示。    由图3可见,数字滤波位于内插器之前,即数字滤波在提速之前进行,这对降低数字滤波的实时性要求很有好处。另外,分支滤波器(Rk(z))阶数只有原来的五分之一,有利于提高运算精度,降低对字长的要求。  将原有的40个滤波器系数分成5组,得h(5n k),其中0≤n≤7,0≤k≤4。由多相滤波的公式推导可知Rk(n)=h(5n k),0≤n≤7,0≤k≤4。由于这5个分支滤波器的结构完全相同,故只需编写一个分支滤波器的程序,其它的只要重复调用即可。后面的插值和延迟单元相当于一个多路选择开关,其选择速率为输入数据速率的5倍,开关选择的顺序是从R4(z)到R3(z)、R2(z)、R1(z)、R0(z),再到R4(z),循环得到5倍于输入速率的输出数据。上述的选择开关用简单的状态机即可以实现,难点是分支滤波器的设计。  分支滤波器也就是普通的FIR滤波器,为什么说它难设计呢?原因在于分支滤波器的个数较多,是影响资源占用的要害因素,因此必须尽可能地降低单个分支滤波器所需的资源。FIR滤波器的设计方法很多,但都是各有优缺点。以本设计中用到的8阶系数不对称的FIR滤波器为例,基于全并行的乘累加实现方法需8个乘法器和7个加法器,占用资源很大,它的优点就是速度快,单个时钟周期就能输出一个结果。基于DA(分布式算法)的FIR滤波器实现方法把传统的MAC重新分别求和,再由相应的二次幂加权并累加,B(输入数据的位宽)个时钟周期输出一个结果,在位宽B较小而阶数较大时优势比较明显,但所需的LUT较大。还有就是所用的位移寄存器实现起来也较费资源。基于单个MAC的FIR滤波器实现方法只需要一个乘法器和一个累加器,资源占用很少,但当阶数较大时对时钟速率要求很高,为输入数据速率的N(滤波器阶数)倍。  由于本模块对资源要求较高,而速率要求相对较低(192×8kHz),且本设计使用了插值器的多相滤波结构,使系统先滤波后插值,故选择基于单MAC的FIR设计方法。其实现框图[3]如图4所示。    要实现的运算为C和X的内积,即    其中N=8,C为1×8的行矢量,X为8×1的列矢量,在FPGA内系数C和数据X均用BlOCKRAM实现,以节省所用的逻辑资源。不过对BLOCKRAM的读写控制要合理有序,既要保证到达乘法器的系数和数据具有对应性,又要保证在下一个新数到达前,完成一次内积,输出一个滤波结果。在乘法器后加入流水线寄存器是为了改善时序特性,减小时延。  3.CIC插值滤波器的FPGA实现  CIC滤波器即积分梳状滤波器[2],是指滤波器的单位冲激响应具有如下形式:    式中D为CIC滤波器的阶数,也是抽取或插值因子。  根据Z变换的定义,CIC滤波器的Z变换为    将Z=ejω带入上式,得到CIC滤波器的频率响应为    其幅频特性如图5所示。    其中(0~2π/D)区间为CIC滤波器的主瓣,而其它区间为旁瓣。由图可见随着频率的增大,旁瓣电平不断减小,其中第一旁瓣电平为    可见单级CIC滤波器的旁瓣电平是比较大的,只比主瓣低13.46dB,这就意味着阻带衰减很差,一般难以满足实际系统的要求。为了降低旁瓣电平,需要采用多级CIC滤波器实现级联,则Q级CIC实现时的频率响应为    同理可求得Q级CIC滤波器的旁瓣抑制为    为了满足系统对邻道干扰的要求,设计中采用了4级级联的CIC插值滤波器,插值因子D=40。由于CIC滤波器的系数全为1,设计中只需要加法器、减法器和延时单元,而无需乘法器,这对于提高实时性、降低占用资源大有益处。为了便于实现,同时又保证每一级都不溢出,加减法器的输入输出位数均采用全精度。此外,为了改善FPGA的时延特性,提高系统的时钟频率,设计采用了流水线技术,在各级积分器之间插入寄存器。  4.NCO的FPGA实现  图2中的NCO实际上是一个10.8M载波产生器。用38.4M的时钟来分别采样10.8M的余弦波和反正弦波得到离散值cos(2π×10.8n/38.4)和-sin(2π×10.8n/38.4),其中n为非负整数,可以看出这些值具有周期性,周期为32。我们把cos(2π×10.8n/38.4)和-sin(2π×10.8n/38.4)(0≤n≤31)这32个数量化后存入ROM,用38.4M时钟把这些数循环读出,即得到所需的正交数字载波。  除了上述的模块外,还有乘法器和加法器模块,分别用来实现频谱搬移和I、Q的合并,它们与其他模块配合,共同完成整个调制和数字上变频。  本设计选用的FPGA芯片为xilinx的xc2s200e-6pq208,以下是ISE工具产生的布局和布线报告,为单路调制的资源占用情况:        四、仿真和实测结果参考文献    [1]郭梯云,杨家玮,李建东.数字移动通信信[M].北京:人民邮电出版社,2000.  [2]杨小牛,楼才义,徐建良.软件无线电原理与应用[M].北京:电子工业出版社,2001.  [3]UweMeyer-Baese.数字信号处理的FPGA实现[M].北京:清华大学出版社,2003.  [4]RCRSTD-28协议(Version3.3)[S].

来源:邵善友杨家玮
友情链接
北极星工程招聘网北极星电气招聘网北极星火电招聘网北极星风电招聘网北极星水电招聘网北极星环保招聘网北极星光伏招聘网北极星节能招聘网招标信息分类电子资料百年建筑网PLC编程培训

广告直拨:   媒体合作/投稿:陈女士 13693626116

关于北极星 | 广告服务 | 会员服务 | 媒体报道 | 营销方案 | 成功案例 | 招聘服务 | 加入我们 | 网站地图 | 联系我们 | 排行

京ICP证080169号京ICP备09003304号-2京公网安备11010502034458号电子公告服务专项备案

网络文化经营许可证 [2019] 5229-579号广播电视节目制作经营许可证 (京) 字第13229号出版物经营许可证新出发京批字第直200384号人力资源服务许可证1101052014340号

Copyright © 2022 Bjx.com.cn All Rights Reserved. 北京火山动力网络技术有限公司 版权所有