《电子技术应用》
您所在的位置:首页 > 嵌入式技术 > 设计应用 > LTE上行信道交织与解交织的研究及DSP实现
LTE上行信道交织与解交织的研究及DSP实现
来源:电子技术应用2011年第5期
陈发堂,陈 燕
重庆邮电大学,重庆400065
摘要: 详细分析了PUSCH信道交织的具体过程,并根据定点TMS320C6455的特点,提出了一种简单的PUSCH信道交织与解信道交织实现方案。将程序在CCS3.3中运行,利用MATALAB软件验证了该方案的可行性和高效性。
中图分类号: TN929.5
文献标识码: A
文章编号: 0258-7998(2011)05-0060-04
Research and DSP realization of uplink channel interleaver and deinerleaver in LTE system
Chen Fatang,Chen Yan
Chongqing University of Posts and Telecommunications, Chongqing 400065,China
Abstract: This Paper describes the channel interleaver process of physical uplink shared channel and presents a simple implementation scheme of channel interleaver and deinterleaver in accordance with the features of fixed-point TMS320C6455. The running results of the program in CCS3.3 verified by MATLAB display that this scheme is feasible and effective.
Key words : LTE;channel interleaver;data multiplexing;DSP realization


    ZEHAVI提出比特交织编码调制BICM(Bit Interleaver coding Modulation)思想[1],即在编码和调制之间引入交织。BICM通过牺牲一些欧式距离来提高汉明距离,使其在衰落信道下具有高度的鲁棒性。交织的原理是打乱原始数据序列,使数据的相关性减弱,尽力分散突发错误,在译码时大大降低数据突发错误的影响。
    3GPP LTE中物理上行链路共享信道PUSCH(Physi-
cal Uplink Shared Channel)上承载的信息包含预编码矩阵指示PMI(Precoding Matrix Index)、秩指示RI(Rand Index)、CQI信道质量指示(channel quality indicator)和混合自动重传请求应答HARQ-ACK(hybrid automatic repeat request acknowledgement)以及数据信息。为降低数据突发错误率,在几路信息各自编码后和调制间,引入了信道交织[2]。PUSCH信道交织采用的是分组交织,但与传统的分组交织有较大差异。本文从DSP实际角度出发,针对PUSCH信道交织与解交织,提出了一种简单的实现方案。
1 PUSCH信道交织
    进入PUSCH信道交织是三路信息,为降低译码的错误率,在进行信道交织前,先将三路信息进行复用" title="数据复用">数据复用,然后再进行PUSCH信道交织。在用DSP具体实现时,把数据复用和信道交织放在一个模块实现。
1.1 三路编码后的数据复用
 
 
  
    通过对上述公式的计算和理解,从节省程序代码段和cycle数考虑,提出了一种简单的实现方案,在放置RI时每行只需放置4列,每行放置的位置相同,在实现时,只需把原RI所占列的表1修改为表2,即可实现上述代码。
    (4)在交织表中放置CQI和数据信息:首先放置CQI信息,然后放置数据信息,在放置CQI和数据信息时,程序中必须考虑不能覆盖RI的信息,具体见下节信道交织的DSP实现。

    (6)交织表按列输出即可实现交织。
2 信道交织与解交织算法的DSP实现
    本系统选用TMS320C6455作为DSP芯片,该芯片是TI公司基于第三代先进Velovi TI超长指令字VLIW(Very Long Instruction Word)结构的高性能定点DSP[3]。其最高主频达到了1.2 GHz,每个周期可以并行执行8条指令,处理速度最大可至8 000 MIPS,实现高速运算。TMS320C6455片内采用L1/L2两级存储器结构,L1包含相互独立的32 KB的程序Cache(L1P)和32 KB的数据Cache(L1D),L2为2 MB的寻址空间,其片内存储器容量是其他C64系列的二倍。
2.1 信道交织的DSP实现
    在实现信道交织时,输入的三路信息:RI、CQI/PMI和数据复用后的信息,HARQ经过编码后直接到信道交织模块,数据复用放到信道交织模块实现。图1给出PUSCH信道交织的程序实现流程。信道交织是比特进行交织,为便于寻址处理,需要把每个比特字节化。

 

 

    三路信息实现比特字节化,利用TMS320C6455每个周期最多可并行执行8条指令,为节省Cycle,在比特字节化的循环体里,每次分别取出4 B的数据,在程序中利用A组寄存器和B组寄存器交替使用的方式,达到每个周期可以并行执行6条指令。利用B指令和LDB指令后的延迟“NOP”指令,使程序进行极大的优化。
    在交织表中放置RI信息,根据对协议的理解,提出了一种简单的实现方案。在放置RI信息过程中,采用三层循环实现:第一层为Qm行小向量是否填满,第二层为该大行的4列是否填满,第三层为大行数依次递减,是否所有的RI已经放在交织表中。
    在交织表中放置CQI信息,在放置时不能覆盖RI的信息,即需要知道RI在交织表中占哪些位置。为确定RI在交织表中的位置,用RI编码后的长度除以4×Qm,在程序中提出采用文献[4]介绍的除法程序,该除法程序经优化后只占用35cycle。CQI的放置原理和RI相同,都是采用三层循环。只是放置时需要根据RI在交织表占用位置的不同情况进行放置。
    在交织表中放置ACK信息,为便于程序的简化,提出了一种简单的实现方案,ACK放置在交织表中的位置是覆盖CQI信息,为避免覆盖多余的CQI,需明确ACK占交织表中哪些位置,用ACK编码后的长度调用除法程序除以4×Qm,根据ACK在交织表中的具体情况进行放置。ACK的放置原理和RI相同,采用三层循环。
 
2.2 PUSCH解信道交织的DSP实现
    PUSCH上的数据经过解调、解扰后是软信息,每个软信息占16 bit,解信道交织时无需对软信息进行字节化。通过对协议TS36.212中PUSCH信道交织的理解,解信道交织的思想是首先恢复出交织表(注意恢复交织表时,列输入行输出),然后根据三路数据所放置的具体位置,再解出三路数据信息。在解交织时,为保证三路输出的数据正确,需调用除法程序,具体步骤如下:
    (1)根据高层的参数来确定交织表的列数Cmux和大行数R'mux。
    (2)恢复交织表。按列进行输入,在放置数据时,包含三层循环,第一层把Qm小行向量填满,每一小行从起始位置偏移0~(Qm-1)×Cmux进行放置,直到把Qm小行放置完;第二层为大行数依次递增,直到把R'mux大行的数据填满;第三层为列数依次递增,把Cmux列的数据填满,每一列的处理方式相同。
    (3)从交织表中取出RI的数据。在取RI数据时,采用三层循环进行实现:从最后一大行开始,第一层为取出列表二的值,根据该值确定其RI在交织表中列位置偏移,把Qm小行向量的RI数据从交织表取出;第二层为列表二中RI所占四列的数据是否取完;第三层为大行数依次递减,直到把所有的RI信息取出。
    (4)在交织时,ACK的数据覆盖一部分CQI的数据,在解交织时,取出ACK的数据,同时在放置ACK的数据位置填0,即实现对CQI数据的打孔。根据ACK的长度确定ACK在交织表所占位置,从交织表中取出ACK的数据,其处理方式和RI相同,采用三层循环,在取出数据的同时,把相应的位置赋值为0。
    (5)在解交织取出CQI的数据时,从交织表中取出的CQI数据的原理和RI相同,都是采用三层循环。只是取CQI数据时需要根据RI在交织表占用位置的不同情况进行。
3 性能分析
    在TMS320C6455DSP软件实现中,考虑该定点DSP具有每个周期最多可并行执行8条指令的特性。根据上节描述的信道交织与解交织的软件实现流程,从节省cycle数和存储空间角度出发,最大程度优化程序循环体,使用并行指令,利用一些指令后的延迟“NOP”指令[5]。根据不同的数据类型和数据的长度,通过程序仿真实现,得到统计结果如表3。


    表3中PUSCH解信道交织时得到的数据是软信息,每一个软信息占16 bit。给出的三路数据各自的长度虽然比较特别,但不失一般性。在交织时由于处理的是比特交织,需要把比特进行字节化,在交织完后,需要字节比特化级联。而解交织处理的是软信息,无需此过程,所执行的周期明显的减少。虽然给出简化方案的运算量较大,但是由于采用的TMS320C6455的主频为1 GHz,在具体实现时,完全可以满足实时需求。
    本文从理论上详细分析了PUSCH信道交织的过程,PUSCH信道交织的交织表的行、列是由高层来的参数确定,与传输的三路数据的长度无关。根据PUSCH上的三路数据采用特殊的分块交织,提出了一种简单的方案实现PUSCH上数据复用和信道交织的模块与PUSCH解信道交织和数据复用的模块。将DSP程序输出的结果与MATLAB程序输出的结果进行比较,程序运行结果表明,本方案能够满足TD-LTE无线综合测试仪表的需求。

参考文献
[1] ZEHAVI.E 8-PSK Trellis Codes for a Rayleigh Fading Channel IEEE Transactions on Communications,1992,40(5):873-874.
[2] 3GPP TS36.212.v8.9.0 Multiplexing and channel coding(Release 9)[S].
[3] 汪安民,张松灿.TMS320C6000系列DSP实用技术与开发案例[M].北京:人民邮电出版社,2008.
[4] 石元君.定点DSP除法原理及其TMS320C6000实现[J].单片机与嵌入式系统应用,2002(10):73-74.
[5] Texas Instruments Incorporated. TMS320C6000系列DSP变成工具与指南[M].田黎育,何佩琨,朱梦宇,译.北京:清华大学出版社,2007:30-60.

此内容为AET网站原创,未经授权禁止转载。