网站公告列表

  没有公告

加入收藏
设为首页
联系站长
您现在的位置: 61IC中国电子在线 >> DSP >> C6000文章 >> C64X系列 >> 文章正文
  [组图]WCDMA系统解速率匹配的DSP快速实现         ★★★ 【字体:
WCDMA系统解速率匹配的DSP快速实现
作者:张治 等    文章来源:电子工程师    点击数:    更新时间:2004-11-4    
摘要:本文给出了基于DSP的WCDMA系统解速率匹配算法的快速实现及相应性能。针对多比特表示数据的解速率匹配操作,提出了一种四阶的树形快速算法结构;并最大程度的利用了TMS320C6400系列DSP的并行架构,从而提高了处理速度和效率。
关键词:WCDMA,解速率匹配,DSP
A Fast Implement for Rate De-matching of WCDMA System on DSP
ZHANG Zhi,WANG Tan,ZHANG Ping
(Wireless Tech. Innovation Lab., Beijing University of Posts and Telecommunications, Beijing 100876, China)
Abstract:Paper presents a fast implement for rate de-matching algorithm of WCDMA system, based on DSP, and its performance. For the operation to multibit-style data, a four-step algorithm structure of binary tree is provisioned. Moreover, with the parallel architecture of TMS320C6400, the processing rate and efficiency can be highly improved.
Key Words:WCDMA,Rate de-matching,DSP
1 引言
作为3G的主流系统之一,WCDMA可以提供十分丰富的业务服务:用户除了享受传统的语音业务外,还可以在无线环境下接入互联网、享受多媒体业务,以及在移动情况下通过该网络进行会议电视等业务;在室内它提供的接入速率达2Mbit/s,在大范围内高速移动时支持的速率为384kbit/s。
为支持上述业务,3GPP规定了相应的业务复用规范,以灵活、有效将不同速率和质量要求(QoS)的业务进行复用;其中,速率匹配(Rate Matching,RM)是重要的组成部分。本文将对其反过程进行研究,并给出基于DSP的快速实现。首先将介绍基本的解速率匹配流程;然后提出树形快速算法;最后给出相应的DSP快速实现以及性能。
2 基本算法流程
速率匹配过程包括打孔(puncturing)和重复(repeating)两种情况。打孔时,直接将打孔比特去掉,同时将后面的比特依次前移一位;重复时,将原比特后面的比特依次后移一位,并将重复比特直接放在原比特的后面。解速率匹配过程与之相反,恢复打孔打掉的比特,或者整合重复的比特。
下面给出3GPP[1]规定的速率匹配算法;解速率匹配算法与之相同。定义速率匹配前的比特序列为xi1, xi2, xi3,…, xiXi,其中i为传输信道序号,Xi为序列长度:


其中,参数eini、eminus和eplus的计算参见文献[1]。
3 快速算法
变量e在解速率匹配处理中起着重要的作用;通过对其取值变化的研究可以得到相应的快速算法。图1给出了打孔和重复过程中e值的变化;其中"i"、"m"和"p"分别表示参数eini、eminus和eplus:


图1 解速率匹配流程中e值的变化过程 (a)打孔 (b)重复

根据图1所示,可以认为e值的变化过程遵循二叉树的结构。下面将其分割成若干四阶单元;并按下述步骤对其进行优化:
①合并相同的分支。由二叉树的性质可得,一旦顶层值确定,其衍生各项将完全确定;因此可通过合并顶层e取值相同的一系列分支,以减少运算量和存储量;
②令e' = -e,并在算法中对e'进行判断,当满足e' 0进行打孔(重复);
③令 ;可使得打孔和重复时e'值变化具有类似的结构,并使得算法处理采用相似的流程;
④对每个四阶单元,处理的结果记为 (第一次处理前 ),则相应下一次处理值e'在其上进行更新。
图2给出了经过上述优化后 值的变化过程:

图2 优化后e'值的变化过程

比较图1,可以明显的看到 的计算量和存储量大大减少;前者随Xi指数增长,而后者只是线性增加。由于e'对处理流程有决定作用,因此可以得到具有四阶结构的解速率匹配快速算法,描述如下:

4 DSP实现及性能
TMS320C6400是TI公司最新的数字信号处理器系列,采用了先进的VelociTI1.2结构,具有适用于高并行性处理的构架及指令。其内部字长为32位,拥有64个CPU寄存器,工作时钟可达1.1GHz甚至更高。
采用C6400 DSP实现算法时,应遵循下面的准则:
准则1:充分利用处理器的并行处理能力,尽可能在同一指令周期内完成多个操作;
准则2:减少存储器访问次数,尽量一次读写并处理32比特,提高处理效率
下面首先给出DSP实现的算法流程,然后讨论如何基于上述准则实现前面的优化算法。

图3 四阶算法的DSP实现流程 (a)打孔 (b)重复

图3中,阴影部分对应算法处理的主体(只给出了第一阶的处理,其它阶类似)。对应于图2,令: ,
其中 对应于上一次四阶处理后的结果。这里可看到每阶计算 值的时候不再象前面描述的需要依赖上一阶的 值,而是可在每次的四阶处理前同时计算。同时,令:

这样在算法中并不需要计算 的值,而是直接判断 与P的大小关系,以选取相应的分支;并且注意到P是单调增加的,即在打孔(重复)的时候更新,正常操作的时候不变。采用上述的变换并结合合理的安排各分支的操作,保持平均负担,可得到较好的并行结构,提高处理效率。
C6的算术、逻辑操作均在寄存器内完成;当操作数位于存储器中时将导致大量的数据交换。考虑到访问存储器的指令开销与访问带宽无关;为了提高效率,有必要使一次读出或写入的数据量最大。C6400一次读写存储器最多可达32比特,如果处理数据表示为8位,则上述的四阶算法结构可保证每次高效的读写并处理4个字节。同时考虑到在读入待处理的数据或存入解速率匹配的结果时,可能出现非完整的32比特的形式,应灵活的采用"对齐"(aligned)和"非对齐"(non-aligned)的存储器访问指令。
下面给出上述实现的性能。
表1显示了12.2K业务下算法实现所需要的指令开销(以指令周期为单位)。此时对于每10ms的无线帧,解速率匹配输入长度总计600字节,共消耗1660个指令周期。
表1 12.2 +3.4Kbps业务的处理开销


传输信道1
传输信道2
传输信道3
传输信道4
编码方式
卷积码
卷积码
卷积码
卷积码
速率匹配方式
重复
重复
重复
重复
输入长度
182
190
97
131
输出长度
152
167
68
129
eini值
1
1
1
1
eminus值
60
46
58
4
eplus值
304
334
136
258
处理开销
495
515
285
365

表2显示了384K业务下算法实现的开销。对于10ms的无线帧,解速率匹配输入长度总计9600字节,总共的指令开销为25866个周期。
表2 384 +3.4Kbps业务的处理开销

传输信道1
传输信道2
编码方式
Turbo码
卷积码
速率匹配方式
打孔
打孔
输入长度
9503
97
输出长度
12684
129
eini1值
7410
1
eminus1值
3182
64
eplus1值
8456
258
eini2值
4228
0
eminus2值
3182
0
eplus2值
8456
0
处理开销
25502
364

多种业务下的测试结果可见,上述实现的处理开销低于3指令周期/字节。文献[4]中给出了解速率匹配的另外实现方式;与其相比,本文提出的方式具有更好的性能和效率。

张治 王檀 张平
(北京邮电大学无线新技术研究室,100876)

               欢迎点击进入:TI德州中文网   (国内唯一针对TI应用的中文技术网站)    文章录入:admin    责任编辑:admin 
  • 上一篇文章:

  • 下一篇文章:
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    最新热点 最新推荐 相关文章
    没有相关文章
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    站长:61IC 湘ICP备05002478号