基于WCDMA速率适配算法的FPGA设计实现

发布者:guqian999最新更新时间:2010-08-07 来源: 电子设计应用关键字:编码复接  速率适配  FPGA  凿孔图样  保留比特搬移 手机看文章 扫描二维码
随时随地手机看文章
    随着因特网爆炸性的增长以及各种无线业务需求的增加,传统的无线通信网已经越来越无法适应人们的需要。因此,以大容量、高数据率和承载多媒体业务为目的的第三代移动通信系统(IMT-2000)应运而生。码分多址(CDMA)由于其良好的抗噪性、保密性和简单性等优点而成为第三代移动通信的主流。主要方案包括欧洲标准WCDMA,美国标准CDMA-2000和中国标准TD-SCDMA。        

    和传统的CDMA系统相比,第三代移动通信的最大特点在于可支持具有不同QoS的变速率的多种业务,这便要求其具有将各种无线媒体业务复接在一起传输的能力。为了达到这一目标,WCDMA采用了一种比较完善的业务复接方案,各种业务须经过一套复杂的编码复接流程才能进行扩频调制,占用尽可能少的码道以恒定的功率发送。这样就最大限度地减少了码道间串扰,降低了对功放线性程度的要求。图1所示的是WCDMA下行链路编 码复接方案流程图。而速率适配算法是业务复用方案的核心算法,如何设计有效的算法实现方案,是业务复用方案设计的关键环节。

图1 下行链路编码复接方案        

速率适配算法描述

    一条传输信道上不同的传输时间间隔中的比特数有可能不一样,但是上下行链路都对传输的比特率有一定的要求:下行链路中如果比特数低于最小值的就会被中断;上行链路中各传输时间间隔的比特数不同,但需要保证第二次交织后的总比特率等于所分配的专用物理信道的总比特率。因此需要重复或者凿去传输信道上的一些比特。速率适配就是指在传输信道上的数据比特被凿孔(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。 

 

图2 下行链路Turbo编码比特凿孔时TrCH的速率适配 

 

图3 下行未编码和卷积编码以及重复的Turbo编码的TrCH的速率匹配


    另外,协议给出的确定参数的算法依编码方式及链路的不同而不同。也就是说,Turbo编码与卷积编码、下行链路与上行链路在确定适配参数的算法上有区别。具体的确定算法可以参考3G相应的协议。

速率适配的FPGA实现        

    通过对编码复接的方案研究发现,直接根据协议流程对数据流各个步骤(一共大约11个步骤)直接进行处理将会大大增加系统复杂度,这样每个步骤之间都需对数据进行缓存,而移动环境下系统支持的最高速率可达384Kbps,对于TTI=20ms的业务,平均每步需要的缓存为7.68K,所需要的总存储量是巨大的。而且这中间,数据流频繁的写入读出所导致的处理时延也是难以忍受的。因此,如果将某些步骤合并起来,就能减少不必要的数据存取工作,从而节省存储量,缩短处理延时。        

    上行链路的速率匹配按10ms数据帧为单位进行,而下行链路则是以TTI为单位针对一个无线帧的数据比特进行的。虽然算法上一致,但是考虑到上下行各自的步骤合并情况,在实际处理上还是有很大区别的。下面以下行144Kb/s速率适配为例介绍一下其FPGA的实现方法。        

    144Kb/s速率适配过程大致分为两个模块:凿图样产生模块和保留比特搬移转换模块。在实现过程中,用到的存储资源是两个RAM—一个用来存“凿”图样、另一个用来存原来的数据,两个DCFIFO(双时钟FIFO)用来存比特收集后的两帧数据。        

凿孔图样产生模块

    由于144Kb/s业务信道编码用的是Turbo编码,凿孔时只针对两个分量编码器输出的校验比特,因此需先进行比特分离再分块进行凿孔操作(系统比特块自动保留不进行凿孔操作)。我们采用了一种凿孔图样控制方式,所有待速率适配比特都对应一个P比特,P=1表示凿去,P=0表示保留,以此种方式产生凿孔图样来控制保留比特的搬移。具体实现框图如图4所示。主要硬件结构包括一个加法器、一个减法器、一个数值比较器、一个计数器和一个选通控制模块及参数初始化模块。 

 
图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 保留比特搬移转换

    实现的流程图如图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协议规范的要求。在实际实施中被证明是可行的。此外,文中提出的模块合并、产生凿孔图样进行比特积攒搬移的思想同样可以适合未来更复杂的编码复接方案。

关键字:编码复接  速率适配  FPGA  凿孔图样  保留比特搬移 引用地址:基于WCDMA速率适配算法的FPGA设计实现

上一篇:基于ColdFire平台的便携式WiFi电话设计
下一篇:基于CPLD的图像传感器非均匀性校正研究

推荐阅读最新更新时间:2024-05-02 21:07

新思科技助力Achronnix新一代FPGA提前数月上市
首次即成功!新思科技助力Achronnix新一代FPGA提前数月上市 新思科技近日宣布,Achronix半导体公司通过使用新思科技的设计、验证和DesignWare IP解决方案,其新一代Speedster7t FPGA成功通过首次硅验证,产品提前数月上市。Speedster7t FPGA是Achronix面向人工智能、机器学习和高带宽数据加速应用推出的创新性产品。 “Achronix的新一代7纳米Speedster7t FPGA可满足高性能应用所需的超大数据量处理需求。新思科技广泛的解决方案可帮我们将设计风险降至最低,满足了我们对于严格产品设计和精准上市时间的需求。新思科技的验证和金牌签核技术让我们的团队实现了更好的整体
[半导体设计/制造]
数字电源:为什么要重视精度?
数字电源器件另一端的精度重要吗?实际上,它要比大部分人所认识到的会重要得多。   一个错误预算的实例 让我们用一个实际IC规格,并考虑精度是如何在其中发挥作用的。我们使用一片高端FPGA。FPGA的参数表(如下)确定了保证IC能够正常工作的电源电压。如果电源电压超出了这一范围,器件将不能保证正常工作。 图1:FPGA参数规格 让我们关注VCC电源轨,它在0.85V标称值上下有±30mV波动。对于0.85V电源轨,误差是±3.5%。 乍看起来,人们会认为±3% POL能够对此进行处理。不幸的是还有其他一些考虑。 图2:10A POL负载响应   这幅示波器截屏显示了VCC POL输出端上的一个10A负
[电源管理]
数字电源:为什么要重视精度?
基于FPGA和单片机的串行通信接口设计
  1 前言   现场可编程逻辑器件(FPGA)在高速采集系统中的应用越来越广,由于FPGA对采集到的数据的处理能力比较差,故需要将其采集到的数据送到其他CPU系统来实现数据的处理功能,这就使FPGA系统与其他CPU系统之间的数据通信提到日程上,得到人们的急切关注。本文介绍利用VHDL语言实现 FPGA与单片机的串口异步通信电路。   整个设计采用模块化的设计思想,可分为四个模块:FPGA数据发送模块,FPGA波特率发生控制模块,FPGA总体接口模块以及单片机数据接收模块。本文着重对FPGA数据发送模块实现进行说明。   2  FPGA数据发送模块的设计   根据RS232 异步串行通信来的帧格式,在FPGA发送模
[嵌入式]
便携式ADSL线缆测试仪的设计
0 引言 近几年来,不对称数字用户线(ADSL)作为网络“最后一公里”问题解决方案在世界范围内得到了广泛运用。在我国,ADSL业务已成为运营商收入的主要增长点之一。 其直接采用的是现有的市话铜缆线路传输信息,市内电话线缆线路同时还担负着传递长途电话、市内电话和其他通信业务的重要任务,是保证通信业务畅通无阻的关键环节。如果市话线路发生障碍,少则十几个用户,多则上千个用户会同时发生阻断;如果是多局制的中继线缆出现障碍,会使两个局的全体用户都不能相互通信。因此,无论是ADSL业务还是市话业务的开通,还是正常的运营维护,都需进行一系列的测试工作,而自动化的测试仪表是提高测试效率及准确度的关键。针对传统仪表设备不便携带,自动化程度不
[测试测量]
便携式ADSL线缆测试仪的设计
FPGA设计软件无线电和调制解调器
本文以16-QAM RF发射数据泵的设计为例,介绍利用FPGA设计数字滤波器的技巧和器件选择方法,说明执行分布式计算时FPGA比DSP的优越之处。 所有数字逻辑的基本结构 16-QAM调制器 编码和码元映射 平方根升余弦滤波器 设计技巧 5 MHz载波 分布式计算(DA)技术 滤波器的实现 用现场可编程门阵列(FPGA)设计软件无线电和调制解调器可与DSP芯片媲美。虽然FPGA可轻而易举地实现卷积编码器等复杂逻辑功能,但在实现大量复杂计算方面却有很大的缺陷。即使用最快的FPGA来实现矩阵乘法器,其成本和性能也抵不上一个仅值5美元的DSP芯片。在用CAD工具设计时DSP仍是首选芯片,但是随着分布式计算(DA)技
[应用]
中端FPGA工艺下探 莱迪思新平台导入了28nm FD-SOI技术
高端FPGA市场有赛灵思和英特尔两条巨龙盘踞,莱迪斯几乎未曾踏入这山头半步,那么是如何成为世界第三大FPGA厂商的呢? 今年,赛灵思和英特尔展开了对“世界最大FPGA”宝座的角逐,分别发布了16nm和14nm的两款FPGA芯片。做最大的FPGA,秀最纯粹的肌肉,这样高的技术壁垒让多少城外想进来的人撞得头破血流。因此,莱迪斯做了一个聪明的决定,只专注在中低端FPGA领域,努力从中端市场获得成长。 打破两个局限性 在过去,莱迪斯的战略有一定的局限性,第一个局限性体现在应用领域方面,莱迪斯几乎只做消费类。第二个局限性则是由于产品研发模式僵硬,导致的技术很难复用。 近年来,5G、机器视觉、自动驾驶等新技术的兴起引起了莱迪斯的重视,莱迪
[手机便携]
中端<font color='red'>FPGA</font>工艺下探 莱迪思新平台导入了28nm FD-SOI技术
基于FPGA的AFDX终端系统模块设计
  1 引言   本文在研究航空全双工交换式以太网(Avionics Full Duplex Switched Ethernet,AFDX)实时传输协议的基础上,分析了基于CPCI接口的双冗余AFDX终端测试系统通讯模块的设计原理,重点介绍了支持热插拔的CPCI接口电源电路分析、FPGA与PCI9030接口模块时序分析和在Windriver软件环境下的驱动程序的开发,为AFDX上位机底层驱动接口的开发和软件界面的开发以及AFDX交换机的研发打下了良好的基础。   2 AFDX终端系统模块设计   本文设计的AFDX终端通讯系统包括FPGA控制模块、PCI接口模块、双冗余PHY模块。为了设计高可靠性的AFDX终端系统,设计了2个独立
[嵌入式]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved