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

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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

一、引言

软件无线电是近几年在无线通信领域提出的一种新的通信系统体系结构,其基本思想是以开发性、可扩展、结构最简的硬件为通用平台,把尽可能多的通信功能用可升级、可替换的软件来实现。这一新概念一经提出,就得到了全世界无线电领域的广泛关注。由于它所具有的灵活性、开放性等特点,不仅在军、民无线通信中获得了应用,而且还被推广到其它领域。

FPGA (现场可编程门阵列) 是上世纪80年代中期出现的一类新型可编程器件。应用FPGA设计功能电路时,可以让人们的思路从传统的以单片机或DSP芯片为核心的系统集成型转向单一专用芯片型设计。FPGA技术的发展使单个芯片上集成的逻辑门数目越来越多,实现的功能越来越复杂,人们通过硬件编程设计和研制ASIC,可以极大地提高芯片的研制效率,降低开发费用。

基于上述优点,用FPGA实现软件无线电发射机,不仅降低了产品成本,减小了设备体积,满足了系统的需要,而且比专用芯片具有更大的灵活性和可控性。在资源允许下,还可以实现多路调制,并能对每一路发射信号的幅度和相位进行细调,这也是实现3G智能波束跟踪算法的基础。

本文在设计上使用了基于多相滤波和单MAC的成形滤波器和高效CIC插值滤波器,充分考虑了性能和资源占用率的关系,并用MATLAB仿真出各模块最佳的输入输出位数,从而实现了资源占用最少而性能最佳的目的。整个设计利用安立公司的PHS专用测试仪MT8801C对其频谱、眼图、星座图和其它各项发射指标进行测试,均达到或超过专用TSP芯片AD6623的效果。

二、软件无线电发射机数学模型

软件无线电发射机是软件无线电两大组成部分之一,它的主要功能是把需发射或传输的用户信息经基带处理上变频,调到规定的载频上,再通过功率放大后送至天线,把电信号转换为空间传播的无线电信号,发向空中或经传输介质送到接收方的接收端,由其进行接收解调。其基本组成如图1所示。本设计要做是用FPGA实现其中的基带调制和上变频部分。

众所周知,任何一个无线电信号可表示为

式中,a(t)、φ(t)分别表示该信号的幅度调制信息和相位调制信息,f0为信号载频。

对式(1)进行数字化,可得:

式中,Ts=1/fs为采样间隔。

式(2)通常简写为

式中,ω0=2πf0Ts为数字角频率,取值0~π(实信号)。

为便于进行信息调制,通常把式(3)进行正交分解:

调制的方法是先根据调制方式求出I(n)、Q(n),然后分别与两个正交本振cos(ω0n)、sin(ω0n)相乘并求和,即可得调制信号。但为了抑制已调信号的带外辐射,在同相和正交支路上还分别增加一个具有线性相位特性和平方根升余弦幅频特性的低通滤波器。另外,为了使产生的基带信号与后面的采样速率相匹配,在进行正交调制前还必须通过内插把低速的基带信号提升到采样频率上,整个实现过程如图2所示。

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

1.调制映射的实现

调制映射是指把串行比特流映射到星座图上的相位点,包括串并变换、相位字

累加器、延迟单元和一个ROM查找表。其中相位累加器的前端输入数据宽度为3 bit,其值可为001、011、101或111,它是由串并后的两比特数据决定。由编码规则可知,00对应001,01对应011,11对应101,10对应111。将累加器输出的3 bit数据延迟1个码元周期与前端输入相加,并把累加器的输出作为ROM的地址线,通过读取ROM里事先存好的I、Q值,即达到映射的目点。

上述映射方法适用于所有的数字调制,改变的只是累加器的位数、ROM的深度和内部的I、Q值。若调制方式为绝对调制,即一个星座点固定对应一个数据时,则去掉累加器和延迟单元,仅用串并后的数比特作为ROM的地址线即可。

2.成形滤波器的实现

根据PHS空中接口RCR STD-28协议〔4〕,其调制的成形滤波器的幅频特性如式(5)所示:

式中T=(1/192)×10-3s,α=0.5。

用MATLAB模拟上述的成形滤波器,考虑到资源占用和逼近程度,采用了40 阶、系数宽度为16 bit的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×8 kHz),且本设计使用了插值器的多相滤波结构,使系统先滤波后插值,故选择基于单MAC的FIR

相关文档
最新文档