WCDMA速率适配算法的FPGA实现
发布日期:2011-04-22
小序
随着因特网爆炸性的增长以及种种无线业务需求的增长,传统的无线通讯网已经越来越无法适应人们的必要。因此,以大容量、高数据率和承载多媒体业务为目标的第三代移动通讯体系(IMT-2000)应运而生。码分多址(CDMA)由于其精良的抗噪性、保密性和大略性等好处而成为第三代移动通讯的主流。重要方案包括欧洲标准WCDMA,美国标准CDMA-2000和中国标准TD-SCDMA。
和传统的CDMA体系相比,第三代移动通讯的最大特点在于可支持具有差别QoS的变速率的多种业务,这便请求其具有将种种无线媒体业务复接在一起传输的本领。为了到达这一目标,WCDMA采取了一种比较美满的业务复接方案,种种业务须颠末一套巨大的编码复接流程才华举行扩频调制,占用尽大概少的码道以恒定的功率发送。如许就最大限度地淘汰了码道间串扰,低落了对功放线性程度的请求。图1所示的是WCDMA下行链路编码复接方案流程图。而速率适配算法是业务复用方案的核默算法,怎样计划有效的算法实现方案,是业务复用方案计划的关键关键。
图1 下行链路编码复接方案
图2 下行链路Turbo编码比特凿孔时TrCH的速率适配
图3 下行未编码和卷积编码以及重复的Turbo编码的TrCH的速率立室
图4 凿孔图样孕育产生
速率适配算法形貌
一条传输信道上差别的传输时间隔断中的比特数有大概不一样,但是上下行链路都对传输的比特率有肯定的请求:下行链路中要是比特数低于最小值的就会被停止;上行链路中各传输时间隔断的比特数差别,但必要包管第二次交错后的总比特率便是所分派的专用物理信道的总比特率。因此必要重复大概凿去传输信道上的一些比特。速率适配便是指在传输信道上的数据比特被凿孔(Puncturing)或重复(Repeating),以便使信道映射时到达传输格局所请求的比特速率。“凿孔”是根据肯定的算法凿去某些位置的比特;“重复”则根据肯定的算法在某些位置插入重复比特。
速率立室前的比特记为:xi1,xi2,xi3,k,xixi 此中 i 为 TrCH 号,速率立室参数为Xi, eini, eplus, 和eminus。
eini:初始化偏差,算法中偏差e的初始值;
eminus:相减偏差,算法中偏差e的相减值;
eplus:相加偏差,算法中偏差e的相加值;
N:数据量,顿时率适配前的数据量。
速率立室的规矩如下:
if 要实行“凿孔”操纵
e=eini 初始化如今的与请求的凿孔比例之间的毛病
m=1 当前比特索引序号
do while m <= N
e=e-eminus 修改偏差
if e <= 0 then 查抄m是否是应该凿失的比特序号
凿失该比特xi,m
e=e+eplus 变动偏差
end if
m=m+1 举行下一个比特的果断
end do
else
e = eini 初始化如今的与请求的凿孔比例之间的毛病
m = 1 当前比特索引序号
do while m <= N
e = e - eminus 修改偏差
do while e <= 0 查抄比特m 是否是应被重复的比特序号
重复比特 xi,m
e = e + eplus 变动偏差
end do
m = m + 1 举行下一个比特的果断
end do
end if
该适配算法对付上行链路和下行链路都是实用的。3GPP协议中规定了“凿孔”和“重复”算法的利用东西与范畴。Turbo编码后的体系比特不容许凿去,因此要是对Turbo编码后的数据举行“凿”操纵,则起首应将体系比特和校验比特区退出,仅对此中的校验比特举行“凿”操纵;然而Turbo编码后的数据要是举行“重复”以及卷积编码后数据举行“凿”或“重复”都不区分体系比特与校验比特。上述环境的速率立室见图2及图3。
别的,协议给出的确定参数的算法依编码方法及链路的差别而差别。也便是说,Turbo编码与卷积编码、下行链路与上行链路在确定适配参数的算法上有区别。详细的确定算法可以参考3G相应的协议。
速率适配的FPGA实现
通过对编码复接的方案研究发明,直接根据协议流程对数据流各个步调(一共约莫11个步调)直接举行处理惩罚将会大大增长体系巨大度,如许每个步调之间都需对数据举行缓存,而移动环境下体系支持的最高速率可达384Kbps,对付TTI=20ms的业务,均匀每步必要的缓存为7.68K,所必要的总存储量是巨大的。并且这中间,数据流频繁的写入读出所导致的处理惩罚时延也是难以忍受的。因此,要是将某些步调归并起来,就能淘汰不须要的数据存取事变,从而节流存储量,缩弊端理惩罚延时。
上行链路的速率立室按10ms数据帧为单位举行,而下行链路则因此TTI为单位针对一个无线帧的数据比特举行的。固然算法上同等,但是思量到上下行各自的步调归并环境,在实际处理惩罚上还是有很大区别的。下面以下行144Kb/s速率适配为例先容一下其FPGA的实现要领。
144Kb/s速率适配进程大抵分为两个模块:凿图样孕育产生模块和保存比特搬移转换模块。在实现进程中,用到的存储资源是两个RAM—一个用来存“凿”图样、另一个用来存原来的数据,两个DCFIFO(双时钟FIFO)用来存比特网络后的两帧数据。
图5 保存比特搬移转换
凿孔图样孕育产生模块
由于144Kb/s业务信道编码用的是Turbo编码,凿孔时只针对两个分量编码器输出的校验比特,因此需先举行比特疏散再分块举行凿孔操纵(体系比特块主动保存不举行凿孔操纵)。我们采取了一种凿孔图样控制方法,全部待速率适配比特都映射一个P比特,P=1表现凿去,P=0表现保存,以此种方法孕育产生凿孔图样来控制保存比特的搬移。详细实现框图如图4所示。重要硬件布局包括一个加法器、一个减法器、一个数值比较器、一个计数器和一个选通控制模块及参数初始化模块。
该布局事变进程如下:起首,比特疏散和参数初始化模块重要完成模块计数和eini、eminus、eplus等参数的初始化设置。
在减法器端,当前偏差值e减去eminus,该数值同时送给数值比较器和选通控制模块。减法器的输出结果和0值作比较,要是结果小于零则记P比特为1;要是结果大于零则记P比特为0,同时将减法器的输出布局作为当前加法器的A端输入值。P比特则在选通控制模块孕育产生的读写使能、地点信号线的驱动下写入Punc_ram。别的用一个计数器来比拟特数举行记录,以控制整个流程的结束时候。体系时钟为8倍码片刻钟,计数器和Punc_ram都采取同步控制,加法器、减法器及比较器都不采取同步时钟延时。
保存比特搬移转换模块
凿图样孕育产生以后,接下来的操纵便是保存比特的搬移和转换,并举行第一次交错和无线帧分段。根据3GPP协议,对付TTI=20ms的144Kb/s业务,其交错模式是<0,1>,亦即次序输出。
实现的流程图如图5。假定TURBO编码后待速率适配的比特流存在out_ram中,这里举行的操纵关键是凿孔图样的读出和out_ram的读出应该是同步同等举行(在同一个时钟上升沿开始),用Punc_ram的输出来作为积攒比特的使能信号。用移位寄存器组和计数器实现比特积攒,每比及满16bit时,就举行串并转换,同时孕育产生一个fifo写使能脉冲,把一个字的内容写入fifo;比及满一帧(复接前的数据帧)的时间,转向对下一个fifo举行写操纵。到一个数据帧4205bit结束时,积攒比特不满16的补零表现,串并转换为一个字写入fifo。
资源利用和时延阐发
根据上面的实现方法,重要占用的是存储资源,当代FPGA中的ESB(嵌入式体系块)可以很容易地实现种种范例的存储模块,包括双端口RAM、ROM、FIFO及CAM块。下面重要举行的是时延阐发。
根据上面的流程可以大抵估算一个比特从“凿孔”图样孕育产生到比特搬移完成所用的时间。所选事变时钟速率为8倍码片速率3.84MHz,一个时钟周期约为32.4ns。凿孔图样模块中的加法器、减法器、选通控制大概必要3个时钟周期,9516个凿孔图样的孕育产生必要大抵925ns;保存比特搬移模块重要是数据比特的直接搬移,对付末了一个比特而言,假定它是保存比特,从搬移开始到终极写入FIFO,颠着末大抵9516+16=9532个时钟周期,耗时约莫308ns。对整个流程用MAXPUSII仿真,统共耗时1.336ms,思量到中间的缓冲控制和使能控制耽误,仿真结果和谋略值大抵符合。对付TTI=20ms的业务,完全餍足处理惩罚请求。
结语
WCDMA体系的电路型数据业务(64K)和分组型数据业务(144K、384K)可以实现对多媒体业务的承载,但由于基带数据处理惩罚量大、比特搬移操纵明显,编码复接中的核默算法之一速率适配算法我们采取了FPGA实现,并且得当归并了前后步调,大大收缩了处理惩罚时间,使体系到达了很高的吞吐量和处理惩罚速率,完全餍足3GPP协议范例的请求。在实际实行中被证明是可行的。别的,文中提出的模块归并、孕育产生凿孔图样举行比特积攒搬移的头脑同样可以得当将来更巨大的编码复接方案。
参考文献
1 3GPP TS 25.211(2000-09) Physical channels and mapping of transport channels onto physical channels (FDD)
2 3GPP TS 25.212(2000-09) Multiplexing and channel coding (FDD)
3 WCDMA体系业务复用范例(2.1).中国第三代移动通讯体系研究开辟项目总体组. 2000,11
4代琳等. 用于WCDMA编码复接的一种新的算法.电子学报.2000,11A
5 Altera Device Data Book. 2000