卷积交织器及其数据读写方法技术

技术编号:3529587 阅读:162 留言:0更新日期:2012-04-11 18:40
本发明专利技术涉及通信信道编译码的交织技术,公开了一种卷积交织器及对模块读写数据的方法,其中卷积交织器包括分支切换控制模块、RAM存储模块、分支地址产生模块、分支内读偏移地址产生模块和分支内写偏移地址产生模块,分支切换控制模块控制分支的切换时序使分支地址产生模块产生该分支在RAM中的起始地址,分支内读偏移地址产生模块根据所产生的起始地址在该分支内部产生相对于分支起始地址的读偏移地址,分支内写偏移地址产生模块根据所产生的读偏移地址产生写偏移地址,RAM存储模块根据所产生的读、写偏移地址,读写相应数据,该方法可使得读写操作在同一时钟沿同时进行,满足数据延迟深度要求,提高交织器工作速度,且占用资源少,实现成本低。(*该技术在2021年保护过期,可自由使用*)

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及通信系统中信道编译码的交织技术,具体涉及一种在进行信道编译码时,克服突发错误的卷积交织器(convolution interleaver),本专利技术还涉及对上述卷积交织器进行读写数据的方法。卷积交织器的结构如附附图说明图1所示,表明卷积交织器一般由I个分支构成,从0到I-1。每个分支的延迟单元数为0、J、2J、......(I-1)J。每个分支延迟单元数差J个,所以每个分支的延迟数并不一致,结果造成输入数据的延迟并不相同。卷积交织器的实现方法很多,附图2所示为其中的一种,它的关键就是如何实现存储器的数据读写;从交织器的结构可以看出,如附图2所示,交织器的每个分支实际上是一个FIFO移位寄存器,深度为(I-1)*J个字节。输入数据由控制开关控制循环送入到每一个分支。输出也有开关控制选择一个分支的数据。输入和输出应该保持同步。在FPGA实现时,如果用FIFO来实现每个分支存储单元,那么需要占用非常大的存储单元。这是由于在FPGA中,每个存储单元的大小是一定的,不管存储单元的大小不同,都占用同样的存储单元大小。如果有I个分支,尽管每个分支的存储单元大小不同。但是仍然需要占用I-1个(I-1)J大小的存储单元;使得器件资源造成了非常大的浪费。本专利技术提供的技术方案是,构造一种卷积交织器,其特征在于,包括分支切换控制模块、RAM存储模块、分支地址产生模块、分支内读偏移地址产生模块和分支内写偏移地址产生模块,所述分支切换控制模块控制分支的切换时序使分支地址产生模块产生该分支在RAM中的起始地址,所述分支内读偏移地址产生模块根据所产生的起始地址在该分支内部产生相对于分支起始地址的读偏移地址,所述分支内写偏移地址产生模块根据所产生的读偏移地址产生写偏移地址,所述RAM存储模块根据所产生的读、写偏移地址,写入和读出相应的数据。提供一种卷积交织器读写数据的方法,其特征在于,包括如下步骤将统一编址的RAM存储模块按卷积交织器不同分支大小划分成I-1个存储块,其中第一个存储块大小为J+1,第二个为2J+1,依此类推,第I-1个存储块的大小为(I-1)J+1;用状态机控制每一个分支的切换,每隔一个时钟周期,读写指针跳到下一个分支;通过写地址产生器产生写RAM的地址;在写地址的基础上加一得到读RAM的地址,使得在同一个时钟沿,产生不同的读和写RAM的地址;采用I-1个不同长度的计数器控制读分支偏移地址产生器产生读RAM偏移地址;分支中的写偏移地址产生模块根据读RAM偏移地址产生写RAM偏移地址;RAM存储模块根据所产生的读、写偏移地址,写入和读出相应的数据。在上述卷积交织器读写数据的方法中,所述用状态机控制每一个分支的切换步骤中,是先将分支切换模块置为状态0,即读写指针处于分支0,然后每一个时钟节拍,分支切换状态机切换到下一个状态,即切换到下一分支。在上述卷积交织器读写数据的方法中,每个写计数器控制一个分支,当分支切换控制模块中分支切换到相应的分支时,写计数器加1,当达到每个计数器的长度时,下一个时钟周期清零。在上述卷积交织器读写数据的方法中,当分支切换控制模块中分支切换到相应的分支时,读计数器的值为当前写地址加1,当达到每个计数器的长度时,下一个时钟周期清零,再重新开始。在上述卷积交织器读写数据的方法中,所述通过写地址产生器产生写RAM的地址步骤中,所述写RAM地址由两部分构成,一部分为分支的起始地址,另一部分为分支内写偏移地址,把当前的分支起始地址和写地址产生器的值相加得到当前写RAM的地址。在上述卷积交织器读写数据的方法中,所述采用I-1个不同长度的计数器控制分支产生读偏移地址步骤中,是将当前的分支起始地址和读偏移地址产生器产生的值相加得到当前读RAM的地址。实施本专利技术提供的卷积交织器及读写数据的方法,通过将读RAM的地址在当前写地址的基础上加一得到,使得在同一个时钟沿,读和写RAM的地址是不同的,可以满足读写操作在同一时钟沿同时操作,而且满足数据延迟深度的要求,极大地提高了交织器工作的速度,并且占用资源少,实现成本低,本专利技术适合于采用FPGA和ASIC技术的卷积交织器,由于解卷积交织器是卷积交织器的逆结构,所以本专利技术同样也适合于解卷积交织器。从图1所示的卷积交织原理图可知,基本的实现方法比较容易得到。这种卷积交织器有12个分支,输入按字节切换输入到每个分支。每个分支可以用不同大小的存储器来实现。对于该卷积交织器,每个分支的存储大小分别为0、17×8、34×8、51×8、68×8、85×8、102×8、119×8、136×8、153×8、170×8、187×8比特。总容量为1122×8比特。显然,这么大的存储容量不能用D触发器来实现,对于XC2S150器件,共有864个CLB,每个CLB有两个Slice,每个Slice有两个D触发器,所以XC2S150除了I/O中的输入输出寄存器外,大约有432×8个寄存器。如果用寄存器来实现卷积交织器,那么一个15万门器件的容量也是不够的。图2所示为用FIFO结构原理实现卷积交织的原理框图;在FPGA中,有一些专门的存储块,可以用来存储大容量的数据。这些存储单元可以实现RAM或者FIFO功能。卷积交织器的每个分支实际上就是一个FIFO,输入的数据经过一定数量的延时后输出。在FPGA中,这些存储单元的大小是固定的。对于XC2S150器件,有12个Block,每个Block的大小为4K比特。每个Block可以配置成1×4096、2×2048、4×1024、8×512、16×256比特。在这里,由于输入数据位8比特,所以Block配置成8×512比特。另外,由于器件Block资源是有限的,所以对于12个分支,不可能每个分支都用Block来实现,可以把一部分分支用寄存器来实现。本专利技术规定把85×8以上的分支用Block来实现,而其它的用寄存器实现。实现卷积交织器除了占用存储单元以外,还有一部分控制逻辑,用来控制输入和输出分支单元的切换。这种方法实现占用的总的资源如表一所示。从表中可以看到,虽然不同分支存储容量大小是不同的,但是由于Block的大小是固定的,即使如85×8大小的分支,也要占用一个Block,显然,这是非常浪费的。但是这种实现方法也有优点,就是控制电路简单。从上述所提供的两个现有的卷积交织器实现原理中可知,用数字电路来实现的方法是多样的,但是哪种方法能取得最佳的效果值得深入研究。而采用FPGA的实现方法,适合于主流FPGA,如Altera和Xilinx;所以本专利技术以Xilinx的FPGA XC2S150为例来说明本专利技术具体的实施方式。如图3所示,是本专利技术采用块RAM来实现卷积交织器的原理框图;包括分支切换控制模块、RAM存储模块、分支地址产生模块、分支内读偏移地址产生模块和分支内写偏移地址产生模块,分支切换控制模块控制分支的切换时序使分支地址产生模块产生该分支在RAM中的起始地址,分支内读偏移地址产生模块根据所产生的起始地址在该分支内部产生相对于分支起始地址的读偏移地址,分支内写偏移地址产生模块根据所产生的读偏移地址产生写偏移地址,RAM存储模块根据所产生的读、写偏移地址,写入和读出相应的数据。本专利技术提供的读写方法,是将不同的分支大小的存储单元合成为一个本文档来自技高网...

【技术保护点】
一种卷积交织器,其特征在于,包括分支切换控制模块、RAM存储模块、分支地址产生模块、分支内读偏移地址产生模块和分支内写偏移地址产生模块,所述分支切换控制模块控制分支的切换时序使分支地址产生模块产生该分支在RAM中的起始地址,所述分支内读偏移地址产生模块根据所产生的起始地址在该分支内部产生相对于分支起始地址的读偏移地址,所述分支内写偏移地址产生模块根据所产生的读偏移地址产生写偏移地址,所述RAM存储模块根据所产生的读、写偏移地址,写入和读出相应的数据。

【技术特征摘要】
【国外来华专利技术】

【专利技术属性】
技术研发人员:和宏海
申请(专利权)人:中兴通讯股份有限公司
类型:发明
国别省市:94[中国|深圳]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1