译码器和译码方法

文档序号:7534544阅读:496来源:国知局
专利名称:译码器和译码方法
技术领域
本发明涉及通信技术领域,尤其涉及一种译码器和译码方法。
背景技术
Turbo码是一种有效且常用的信道编码方法,由于其在接近aiarmon极限的低 信噪比下仍然能够获得较低的误码率,因而在第三代移动通信系统的多种方案中,考虑将 Turbo码作为无线信道的编码标准之一。交织器是Turbo码编码器和译码器中的重要组成部件,它在编码过程中,使两个 子编码过程趋于相对独立,而在译码端,则是连接两个子译码器的桥梁。由于使用了交织 器,使得在译码端,对于某一个子译码器来说不可纠的差错事件,而在另一个子译码器中被 分割开,成为可纠差错。交织器大致可以分为两类,一类是随机交织,另一类是确定性交织。从理论上来 讲,随机交织性能是最优的,但是由于随机交织在译码时,需要将编码端的全部交织器信息 传送到译码端,因而占用了系统带宽,降低了编码及传输效率,不适宜实际应用。确定性交 织是指编码端和译码端均预先知晓相互的交织方式,无需交互交织方式信息,因而,具有较 高的编码及传输效率,适合在移动通信系统中使用。在3GPP LTE协议中,Turbo码编码端的交织器采用了不同于其他标准的一种特殊 交织方式,具体为交织器的输入为=Ctl,C1, C2, C3, ... , Ciw,其中,K为码块长度,其取值范 围是40彡K彡6144,交织器的输出为C' 0,c',c' ^,交织器的输入和输出之间 满足以下关系c' i = Cn ⑴,(i = 0,· · · , K-1)Π ⑴=mocKfiXi+^Xi2, K)其中,mod为取余操作,参数和f2的取值根据码块长度K的变化而变化,参数f\、 4与K的对应关系如表1所示。表 权利要求
1.一种译码器,包括交织器,其特征在于,所述交织器包括 缓存模块,用于缓存待交织数据;分路模块,用于根据所述待交织数据的码块长度,将所述待交织数据均分为N路子数据;第一读取模块,用于读取所述N路子数据的交织前缓存地址; 交织处理模块,用于分别对所述N路子数据的交织前缓存地址进行交织处理,得到所 述N路子数据的交织后缓存地址;第二读取模块,用于根据所述交织后缓存地址,从所述缓存模块中读取数据,得到交织 后的数据。
2.根据权利要求1所述的译码器,其特征在于,所述交织前缓存地址与所述交织后缓 存地址满足以下公式C' iCn ⑴,(i = 0,…,K-1)Π ⑴=mocKfiXi+^Xi2, K)其中,Ci为所述交织前缓存地址,c' i为所述交织后缓存地址,K为所述待交织数据的 码块长度,K的取值范围是40彡K彡6144,mod为取余操作,参数和f2的取值根据K的 变化而变化。
3.根据权利要求2所述的译码器,其特征在于,所述译码器采用MAP算法进行译码,所 述交织器还包括存储模块,用于存储beta反向递推公式所需的相关计算参数、alpha正向递推公式所 需的相关计算参数和各路子数据的beta运算初值和alpha运算初值纵向递推公式所需的 相关计算参数;所述交织处理模块包括beta反向递推模块,用于根据所述beta反向递推公式所需的相关计算参数以及所述N 路子数据的beta运算初值的交织后缓存地址,分别计算所述N路子数据中除所述beta运 算初值外的其他数据的交织后缓存地址;alpha正向递推模块,用于根据所述alpha正向递推公式所需的相关计算参数以及所 述N路子数据的alpha运算初值的交织后缓存地址,分别计算所述N路子数据中除所述 alpha运算初值外的其他数据的交织后缓存地址;纵向递推模块,用于根据所述beta反向递推模块确定的第一路子数据的beta运算初 值的交织后缓存地址和所述纵向递推公式所需的相关计算参数,计算除所述第一路子数据 外其他各路子数据的beta运算初值的交织后缓存地址,并将所述其他各路子数据的beta 运算初值的交织后缓存地址,反馈给所述beta反向递推模块;以及根据所述alpha正向递 推模块中确定的第一路子数据的alpha运算初值的交织后缓存地址和所述纵向递推公式 所需的相关计算参数,计算除所述第一路子数据外其他各路子数据的alpha运算初值的交 织后缓存地址,并将所述其他各路子数据的alpha运算初值的交织后缓存地址,反馈给所 述alpha正向递推模块。
4.根据权利要求3所述的译码器,其特征在于 所述beta反向递推公式为Π (k-1) = mod (( Π (k) +mod ((mod { 2~ ,, K) -mod (2f2 X k, K)), K)), K);所述alpha正向递推公式为Π (k+1) = mod (( Π (k) +mod ((mod (f^^, K) +mod (2f2 X k, K)), K)), K); 所述纵向递推公式为Π (k+Δ) = mod(( Π (k) +mod((mod( Δ Xf^A2Xf2, K)+mod(2f2X Δ Xk, K)),K)),K)。
5.根据权利要求1至4任一项所述的译码器,其特征在于在所述待交织数据的码块长度的取值范围为40 < K < 512时,所述N为1 ; 在所述码块长度的取值范围为512 < K < 1024时,所述N为2 ; 在所述码块长度的取值范围为10 < K < 6144时,所述N为8。
6.一种译码方法,其特征在于,包括以下步骤 译码器缓存待交织数据;所述译码器根据所述待交织数据的码块长度,将所述待交织数据均分为N路子数据; 所述译码器读取所述N路子数据的交织前缓存地址;所述译码器分别对所述N路子数据的交织前缓存地址进行交织处理,得到所述N路子 数据的交织后缓存地址;所述译码器根据所述交织后缓存地址,读取缓存的所述待交织数据,得到交织后的数据。
7.根据权利要求6所述的译码方法,其特征在于,所述交织前缓存地址与所述交织后 缓存地址满足以下公式c' i = cn (i), (i = 0,…,K-1) Π ⑴=mocKfiXi+^Xi2, K)其中,Ci为所述交织前缓存地址,c' i为所述交织后缓存地址,K为所述待交织数据的 码块长度,K的取值范围是40彡K彡6144,mod为取余操作,参数和f2的取值根据K的 变化而变化。
8.根据权利要求7所述的译码方法,其特征在于,所述译码器采用MAP算法进行译码, 所述译码器分别对所述N路子数据的交织前缓存地址进行交织处理,得到所述N路子数据 的交织后缓存地址,具体为所述译码器存储beta反向递推公式所需的相关计算参数、alpha正向递推公式所需的 相关计算参数和各路子数据的beta运算初值和alpha运算初值的纵向递推公式所需的相 关计算参数;所述译码器根据第一路子数据的beta运算初值的交织后缓存地址和所述纵向递推公 式所需的相关计算参数,计算除所述第一路子数据外其他各路子数据的beta运算初值的 交织后缓存地址;所述译码器根据第一路子数据的alpha运算初值的交织后缓存地址和所述纵向递推 公式所需的相关计算参数,计算除所述第一路子数据外其他各路子数据的alpha运算初值 的交织后缓存地址;所述译码器根据所述beta反向递推公式所需的相关计算参数以及所述N路子数据的 beta运算初值的交织后缓存地址,分别计算所述N路子数据中除所述beta运算初值外的其 他数据的交织后缓存地址;所述译码器根据所述alpha正向递推公式所需的相关计算参数以及所述N路子数据的 alpha运算初值的交织后缓存地址,分别计算所述N路子数据中除所述alpha运算初值外的 其他数据的交织后缓存地址。
9.根据权利要求8所述的译码方法,其特征在于 所述beta反向递推公式为Π (k-1) = mod (( Π (k) +mod ((mod { 2~ ,, K) -mod (2f2 X k, K)), K)), K); 所述alpha正向递推公式为Π (k+1) = mod (( Π (k) +mod ((mod (f^^, K) +mod (2f2 X k, K)), K)), K); 所述纵向递推公式为Π (k+Δ) = mod(( Π (k) +mod((mod( Δ Xf^A2Xf2, K)+mod(2f2X Δ Xk, K)),K)),K)。
10.根据权利要求6至9任一项所述的译码方法,其特征在于在所述待交织数据的码块长度的取值范围为40 < K < 512时,所述N为1 ; 在所述码块长度的取值范围为512 < K < 1024时,所述N为2 ; 在所述码块长度的取值范围为10 < K < 6144时,所述N为8。
全文摘要
本发明提供一种译码器和译码方法,所述译码器包括交织器,所述交织器包括缓存模块,用于缓存待交织数据;分路模块,用于根据所述待交织数据的码块长度,将所述待交织数据均分为N路子数据;第一读取模块,用于读取所述N路子数据的交织前缓存地址;交织处理模块,用于分别对所述N路子数据的交织前缓存地址进行交织处理,得到所述N路子数据的交织后缓存地址;第二读取模块,用于根据所述交织后缓存地址,从所述缓存模块中读取数据,得到交织后的数据。本发明能够有效提高交织器的交织效率,从而进一步提高了译码器的译码效率。
文档编号H03M13/29GK102104387SQ20091025821
公开日2011年6月22日 申请日期2009年12月17日 优先权日2009年12月17日
发明者邱伟 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1