一种矩形交织的实现方法

文档序号:7525812阅读:235来源:国知局
专利名称:一种矩形交织的实现方法
技术领域
本发明属于数字通信的数字信号处理领域。

背景技术
现代数字通信系统中,传输信道往往受到各种干扰和衰弱影响,所以传输的信号会发生错误。为此一般都会采用信道编码和交织,以提高系统性能。信道编码往往采用前向纠错码(FEC,Forward Error Correction)作外码,而采用交织码作内码。对于随机错误,一般可由信道纠错编码来加以纠正,而对于突发错误,则必须再加上交织技术。即在发射端将所要传输的数据通过交织把顺序打乱,然后在接收端再通过解交织把数据原来的顺序恢复出来。这样就可以把成群的突发错误离散化,转变为随机错误,然后可以通过纠错编码来纠正。
按照不同交织方式,交织主要分为随机交织、矩形交织、卷积交织。
(1)随机交织。随机交织实际上是伪随机交织,通过把数据进行伪随机排序处理,得到近似随机的输出,多用于保密通信和扩频通信领域。
(2)矩形交织,也叫块交织,它是一个二维存储器阵列(L,R)将数据先按行写入,然后将数据再按列读出,完成交织过程。相应地去交织过程是将数据按列写入再按行读出。这种交织的优点是结构简单、易于实现,缺点是需要的存储空间大、交织和解交织的延时长。块交织在突发系统(GSM)中应用较多,常与RS编码或Turbo编码联合使用。
(3)卷积交织。卷积交织由延时成等差递增的I路移位寄存器组成,输入数据依次进入I路不同的输入端,输出数据经过延时从相应路读出。由于延时不同,相邻的输入数据在输出端被离散化。解交织则是按照与交织相反的方式把数据重新排列同原来的顺序,一般需要与交织相同的存储器,结构上也类似。
如上文所讲,矩形交织的实现一般需要一个二维存储器阵列(L,R)将数据先按行写入,然后将数据再按列读出,完成交织过程,如图1所示。这样如果只有一个存储器阵列,数据的处理不能读写连续操作,必须将数据按行存满一个存储块后,再对此存储块进行按列读出。
要实现对数据进行读写连续操作,需要两个存储块,对这连个存储块分别进行读写操作,如图2所示。图中表示工作进行的某一时刻,对第一个存储块进行读操作的同时对另一个存储块进行写操作,或者对第一个存储块进行写操作的同时对另一个存储块进行读操作。
本发明提出的一种矩形交织的实现方法,通过对读写地址的控制,实现对同一地址进行先读后写,并只用一个存储块的空间大小,完成交织过程。


发明内容
一种矩形交织的实现方法,对同一个地址进行先读后写的操作,通过对读写地址的控制,实现将数据在一个二维存储器阵列(L,R)中先按行写入,然后将数据再按列读出,完成交织过程。本方法通过对RAM读写地址的控制完成交织的过程,其结构包括地址产生器和RAM,如图3所示。
地址产生器的结构,包括计数器模块、Delta产生模块和地址产生模块,如图4所示。计数器模块对时钟进行计数,它的输出输送给Delta产生模块和地址产生模块;Delta产生模块产生适当的Delta值输送给地址产生模块;地址产生模块通过一定得运算并在时钟的控制下及时产生正确的地址。各个模块具体的工作原理由以下说明。
计数器模块,此模块对工作的时钟进行计数,也是对输出地址的次数进行计数。为描述清楚,定义计数器模块的输出为B。计数器模块的初始值为0,每输出一个RAM的读写地址,计数器加1,当输出RL个地址,即计数器输出为RL-1时,计数器模块完成此轮计数,输出重新为0,进行下一轮计数。
Delta产生模块,此模块用于产生Delta的值,其工作流程如图5所示。Delta的初始值为1,当输出完一轮的读写地址,即计数器模块完成一轮计数,Delta产生模块判断Delta的值是否小于L,如果Delta小于L,则Delta=Delta*R,进行下一轮的读写,如果Delta不小于L,则Delta=(Delta%L)*R+(Delta/L),其中Delta%L为Delta除以L的余数,Delta/L为Delta除以L的商,再进行下一轮的读写。
地址产生模块,此模块的结构如图6所示,包括一个加法器和一个运算输出模块。其中加法器是将Delta产生模块的输出与地址产生模块输出的上一个地址E进行相加,定义加法器模块的输出为A。
地址产生模块中的运算输出模块的工作流程如图7所示,具体如下 步骤1开始工作后,首先判断计数器模块的输出B是否为RL-1,B为RL-1,则表示当前一轮的地址输出完,接着进行下一轮地址的输出,执行步骤4,B不为RL-1,则表示当前一轮的输出未完,执行步骤2; 步骤2判断加法器模块的输出A是否小于RL,如果A小于RL,输出的地址E为加法器的输出A,如果A不小于RL,则执行步骤3; 步骤3对A进行运算,C=(A%RL)+1,A%RL为A除以RL得到的余数,运算后得到C,执行步骤6; 步骤4输出的地址E为0; 步骤5输出的地址E为加法器的输出A; 步骤6则输出的地址E为C。
本发明提出的一种矩形交织的实现方法,用一个地址产生器和一个RAM,通过对RAM读写地址的控制完成交织的过程,并且只占用RAM一个存储块的空间,可以使交织过程连续进行。



图1为矩形交织的工作图; 图2为一般矩形交织实现连续工作的示意图; 图3为本发明所提出方法的实现交织的结构图; 图4为本发明所提出方法的地址产生器的结构图; 图5为Delta产生模块的工作流程图; 图6为地址产生模块的结构图; 图7为地址产生模块中运算输出模块的工作流程图。
具体实施方案 下面通过一个具体的实施例来说明本发明。
此实施例中R为6,L为4,则RL-1的值为23,整个装置每输出一个RAM的读写地址,计数器模块的输出加1,当整个装置输出RL个地址,即计数器输出为RL-1后,计数器模块输出转为0,进行下一轮计数。
Delta产生模块产生的Delta的初始值为1,当输出完一轮的读写地址,Delta的值变为6,由上文所说的原理,由图5所示的方法,再输出完一轮的读写地址,Delta的值变为13,再输出完一轮的读写地址,Delta的值变为9……。
地址产生模块,如上文所说,包括一个加法器和一个运算输出模块。在运算输出模块工作流程中需要判断A或C的值是否小于RL=24,具体流程上文已说明。
由此实施例得到第一轮输出的地址为 0、1、2、3、4、5、6、7、8、9、10、11、12、13、14、15、16、17、18、19、20、21、22、23。
第二轮输出的地址为 0、6、12、18、1、7、13、19、2、8、14、20、3、9、15、21、4、10、16、22、5、11、17、23。
第三轮输出的地址为 0、13、3、16、6、19、9、22、12、2、15、5、18、8、21、11、1、14、4、17、7、20、10、23。
第四轮输出的地址为 0、9、18、4、13、22、8、17、3、12、21、7、16、2、11、20、6、15、1、10、19、5、14、23。
…… 下面来说明输出地址顺序的正确性。
第一轮读出的地址顺序为0、1、2、3、4、5、6、7、8、9、10、11、12、13、14、15、16、17、18、19、20、21、22、23. 第一轮写入各个地址的位置的示意表为 由上表得出第二轮读出的地址顺序为0、6、12、18、1、7、13、19、2、8、14、20、3、9、15、21、4、10、16、22、5、11、17、23,与实施例中第二轮输出的地址顺序相同。
同样第二轮写入各个地址的位置的示意表为 由上表得出第三轮读出的地址顺序为0、13、3、16、6、19、9、22、12、2、15、5、18、8、21、11、1、14、4、17、7、20、10、23,与实施例中第三轮输出的地址顺序相同。
第三轮写入各个地址的位置的示意表为 由上表得出第三轮读出的地址顺序为0、9、18、4、13、22、8、17、3、12、21、7、16、2、11、20、6、15、1、10、19、5、14、23,与实施例中第四轮输出的地址顺序相同。
…… 经过测试验证,本发明所提出种矩形交织的实现方法,实现了对同一地址进行先读后写,通过对读写地址的控制,完成交织过程。
本发明所提出种矩形交织的实现方法,只用一个存储块的空间大小,可以实现交织过程读写连续进行。
权利要求
1、一种矩形交织的实现方法,其特点在于对同一个地址进行先读后写的操作,通过对读写地址的控制,实现将数据在一个二维存储器阵列(L,R)中先按行写入,然后将数据再按列读出,完成交织过程。
2、一种矩形交织的实现方法,其特点在于通过对RAM读写地址的控制实现交织,其实现的结构包括地址产生器和RAM。
3、如权利要求2所述的地址产生器,其结构包括计数器模块、Delta产生模块和地址产生模块。
4、如权利要求3所述的计数器模块,对工作的时钟进行计数,也是对输出的地址次数进行计数,计数器模块的初始值为0,每输出一个RAM的读写地址,计数器加1,当输出LR个地址,即计数器输出为LR-1时,计数器模块完成此轮计数,计数器模块输出重新为0,进行下一轮计数,定义计数器模块的输出为B。
5、如权利要求3所述的Delta产生模块,用于产生Delta的值,Delta的初始值为1,当输出完一轮的读写地址,即计数器模块完成一轮计数,Delta产生模块判断Delta的值是否小于L,如果Delta小于L,则Delta=Delta*R,进行下一轮的读写,如果Delta不小于L,则Delta=(Delta%L)*R+(Delta/L),其中Delta%L为Delta除以L的余数,Delta/L为Delta除以L的商,再进行下一轮的读写。
6、如权利要求3所述的地址产生模块,其结构包括一个加法器和一个运算输出模块。
7、如权利要求6所述的加法器,是将Delta产生模块的输出与地址产生模块输出的上一个地址E进行相加,定义加法器模块的输出为A。
8、如权利要求6所述的运算输出模块,定义运算输出模块的输出为的E,运算输出模块工作流程为
步骤1开始工作后,首先判断计数器模块的输出B是否为RL-1,B为RL-1,则表示当前一轮的地址输出完,开始进行下一轮地址的输出,执行步骤4,B不为RL-1,则表示当前一轮的输出未完,执行步骤2;
步骤2判断加法器模块的输出A是否小于RL,如果A小于RL,输出的地址E为加法器的输出A,如果A不小于RL,则执行步骤3;
步骤3对A进行运算,C=(A%RL)+1,A%RL为A除以RL得到的余数,运算后得到C,执行步骤6;
步骤4输出的地址E为0;
步骤5输出的地址E为加法器的输出A;
步骤6则输出的地址E为C。
全文摘要
一种矩形交织的实现方法,对同一个地址进行先读后写的操作,通过对RAM读写地址的控制完成交织的过程,其结构包括地址产生器和RAM,本发明提出的方法中的地址产生器实现的结构包括计数器模块、Delt产生模块和地址产生模块,如图所示。计数器模块对时钟进行计数,也是对输出的地址次数进行计数,它的输出输送给Delta产生模块和地址产生模块;Delta产生模块适当的Delta值输送给地址产生模块;地址产生模块通过一定的运算,并在时钟的控制下及时产生正确的地址。本发明所提出一种矩形交织的实现方法,只用一个存储块的空间大小,可以实现交织过程读写连续操作进行。
文档编号H03M13/27GK101577556SQ20091008686
公开日2009年11月11日 申请日期2009年6月17日 优先权日2009年6月17日
发明者镇云锋 申请人:北京九方中实电子科技有限责任公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1