交织器解交织器的设计说明文档 联系客服

发布时间 : 星期三 文章交织器解交织器的设计说明文档更新完毕开始阅读5adf4c59f02d2af90242a8956bec0975f465a428

卷积交织器与解交织器的Verilog实现

卷积交织器与解交织器的Verilog实现

交织器与解交织器的Verilog设计

0 引言

在数字通信中由于信道固有的噪声特性以及衰落特性,信息在有干扰信道传输时不可避免的会发生差错。为了提高通信系统信息传输的可靠性,一般采用纠错编码技术来提高通信系统抗干扰能力。但是当信道发生 突发差错时,会造成连续的错误,超过纠错码的纠错能力。交织技术作为一项改善通信系统性能的方式,将数据按照一定的规则打乱,把原先连续的差错分散开来,使突发性错误转化为随机性错误,能够提高通信系统抗突发差错的能力和降低译码复杂度。

VHDL作为一种硬件设计时采用的标准语言,降低设计FPGA的难度,使整个系统的设计和调试周期缩短。本设计利用FPGA实现交织,能大大缩减电路的体积,提高电路的稳定性。

1 卷积交织和解交织的原理

交织过程可算作一个编码过程,他把经过纠错编码的数据进行一定的

排列组合,提高原有纠错编码的纠突发错误的能力。数字通信中一般采取的同步交织有 2 种: (1) 块交织

也叫矩阵行列转置法。可以表述为一个二维存储器阵列 ( N × B ) 。交织过程是数据先按行写入,再按列读出;解交织过程则相反,是数据先按列写入,再按行读出。

块交织结构简单, 但数据延时时间长而且所需的存储器比较大。 (2) 卷积交织

交织器的输入端的输入符号数据按顺序分别进入 B 条支路延时器, 每一路延时不同的符号周期。第一路无延时,第二路延时M个符号周期,第三路延时2M个符号周期,…,第B路延时( B - 1 )M 个符号周期。交织器的输出端按输入端的工作节拍分别同步输出对应支路经延时的数据。

卷积交织每条支路符号数据的延时节拍为 di = ( i - 1)M B , i = 1, 2, …, B 。解交织器的延时数与交织器相反。

- 1 -

卷积交织器与解交织器的VHDL实现和FPGA实现

图1 卷积交织器和解交织器原理图

在仔细对比块交织和卷积交织两种方法之后,考虑到缩短延时和减小器件体积,小组决定采用卷积交织的方法来设计。

然而实现卷积交织的延时方法有多种,一是采用移位寄存器法,直接利用FIFO实现每条支路的延时,这种方法实现简单,但是当B与M值较大时,需要消耗大量的寄存器(图2所示);二是利用RAM来实现移位寄存器的功能,通过控制读/写地址来实现每条支路延迟。

在做课程设计的过程,我们考虑过第一种方法,因为其设计思路和做法都相对简单,但是当需要较大的延时数时,移位寄存器变得很大,占用了大量的编译时间和芯片空间,实际中并不可取。

我们最终采用了RAM来实现移位,合理地设计读写地址按规律变化,即可实现所要的延时。下面将阐述设计细节。

2 卷积交织器和解交织器的VHDL设计

设计要求,交织深度B = 12 , M = 17 , 即有12条数据通路。本小组采用RAM来实现输入数据的时延,按照一定的读写地址规律同时读写RAM中的存储单元。实现框图如图4

- 2 -

卷积交织器与解交织器的VHDL实现和FPGA实现

其中输入的数据为16位的顺序循环序列,循环范围0--1000,方便观察仿真结果;读写使能控制信号受时钟的上升沿控制;Flag端口是通道0的标志,使输入数据直接输出。

本设计中的关键点是RAM地址的分配和读写地址的产生。所谓RAM移位法是把RAM地址分给12支路,每一支路对RAM存储单元的读写实现类似于对移位寄存器的操作。为了使所用资源最优化,采用电路计算得到读写地址。

交织器各通道的写地址如下图所示,而读地址则在写地址的数值上加1,通过计算可以知道,第0通道无延时;第1通道延时17*1个时钟周期;第2通道延时17*2个时钟周期......依此类推,第11通道延时17*11个时钟周期。总共所需存储单元数为1 + 18 + .... + 188 = 1134,相应的要用到地址总线为11b。也就是说要用到2k的RAM。

图5. 交织器写地址

总结为数学计算公式,设第i通道的基地址为bi(base address),尾地址为ci,各通道的变址为ai,则RAM的读写地址的变化规律为: 第i通道读地址: rd_add = ai + bi ;

第i通道写地址: wr_add = ai + bi - 1; 当ai ≠ 0 wr_add = ci; 当ai = 0 ;

- 3 -