数字传输中的一种卷积交织解交织的方法转让专利

申请号 : CN200810117893.2

文献号 : CN101404555B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 李占才刘长成

申请人 : 北京九方中实电子科技有限责任公司

摘要 :

本发明公开了一种数字传输中的一种卷积交织和解交织得方法。该方法把RAM看成首尾地址相接的环,根据I、M的信息,交织时占用RAM I(I+1)M/2空间。交织时,对RAM进行一轮一轮的先读后写的操作。每一轮的读写的各个地址相差M、2M、……IM,下一轮的地址紧挨着上一轮。解交织时占用RAMI(I+3)M/2空间,进行一轮一轮的读-读-写的操作。每一轮的第一次读的各个地址相差(I+1)M、IM……2M,下一轮的地址紧挨着上一轮。第二次读的地址与第一次读的地址隔着2M+1个空间,即相差2M,如图所示。写的地址与第一次读的地址相同。本发明卷积过程控制简单,解交织器和RS解码器可以共用一个RAM,节约资源。

权利要求 :

1.数字传输中的一种卷积交织的方法,实现I行M阶的卷积交织,交织器由I个分支构成,从0到I-1,各个分支的地址相差M、2M、3M……(I-2)M、(I-1)M、IM ;

实现对所用RAM空间进行整块循环读写,读写数据的初地址为0,对I个分支依次进行读写,总共所需RAM空间为N,N=I(I+1)M/2;

假设当前交织的读写数据是参与第i条延迟支路对应的RAM读写地址为An,那么下一交织的读写数据的地址就对应于第i+1条延迟支路相应的读写地址为An+1,把RAM看成首地址和尾地址相接的环形RAM,则有:An+1=An+(i+1)M 当i!=(I-1),An+(i+1)M<N;

An+1=An+(i+1)M-N 当i!=(I-1),An+(i+1)M≥N;

An+1=An+IM+1 当i=(I-1), An+IM+1<N;

An+1=An+IM+1-N 当i=(I-1), An+IM+1≥N;

按照上述方法所产生的RAM地址读出一个字节后,再将一个字节的数据写入此地址中,采用读-写的方法;因此对于RAM中的一个地址空间而言,操作时,先将存在此地址空间的数据读出,即输出;再将输入数据写入此地址空间中,实现了一周期内对同一地址进行读写操作。

2.数字传输中的一种卷积解交织的方法,实现I行M阶的卷积解交织,解交织器由I个分支构成,从0到I-1,各个分支的地址相差(I+1)M、IM……4M、3M、2M;

实现对所用RAM空间进行整块循环读写,对I个分支依次进行读写,总共所需RAM空间为N,N=I(I+3)M/2;

假设当前解交织是对第i条延迟支路进行第一次读操作,对应的RAM地址为An,那么下一解交织对第i+1条延迟支路进行第一次读操作,对应的RAM地址为An+1,把RAM看成首地址和尾地址相接的环形RAM则有:An+1=An+(I-i+1)M 当i!=(I-1),An+(I-i+1)M<N;

An+1=An+(I-i+1)M-N 当i!=(I-1),An+(I-i+1)M≥N;

An+1=An+2M+1 当i=(I-1), An+2M′+1<N;

An+1=An+2M+1-N 当i=(I-1), An+2M+1≥N;

对第i条延迟支路进行第二次读操作,对应的RAM地址为Bn,与An相差2M;

当前解交织是对第i条延迟支路进行第二次读操作,对应的RAM地址为Bn,那么下一解交织对第i+1条延迟支路进行第二次读操作,对应的RAM地址为Bn+1,则有:Bn+1=An+(I-i+3)M 当i!=(I-1),An+(I-i+3)M<N; Bn+1=An+(I-i+3)M-N 当i!=(I-1),An+(I-i+3)M≥N;

Bn+1=An+4M+1 当i=(I-1), An+4M+1<N;

Bn+1=An+4M+1-N 当i=(I-1), An+4M+1≥N;

解交织器的写操作的地址与第一次读操作的地址相同,即An;

按照上述方法,对RAM读-读-写操作,其中写操作的地址与第一次读的地址相同,解交织器和RS解码器共用此RAM。

说明书 :

数字传输中的一种卷积交织解交织的方法

技术领域

[0001] 本发明属于数字信号传输领域,特别涉及数字电视广播传输中对传输数据进行卷积字节交织的实现方法。

背景技术

[0002] 现代数字通信系统中,传输信道往往受到各种干扰和衰弱影响,所以传输的信号会发生错误。为此一般都会采用信道编码和交织,以提高系统性能。信道编码往往采用前向纠错码(FEC,Forward Error Correction)作外码,而采用交织码作内码。对于随机错误,一般可由信道纠错编码来加以纠正,而对于突发错误,则必须再加上交织技术。即在发射端将所要传输的数据通过交织把顺序打乱,然后在接收端再通过解交织把数据原来的顺序恢复出来。这样就可以把成群的突发错误离散化,转变为随机错误,然后可以通过纠错编码来纠正。
[0003] 按照不同交织方式,交织主要分为随机交织、块交织、卷积交织。
[0004] (1)随机交织。随机交织实际上是伪随机交织,通过把数据进行伪随机排序处理,得到近似随机的输出,多用于保密通信和扩频通信领域。
[0005] (2)块交织。它是一个二维存储器阵列(N,B)将数据先按行写入,然后将数据再按列读出,完成交织过程。相应地去交织过程是将数据按列写入再按行读出。这种交织的优点是结构简单、易于实现,缺点是需要的存储空间大、交织和解交织的延时长。块交织在突发系统(GSM)中应用较多,常与RS编码或Turbo编码联合使用。
[0006] (3)卷积交织。卷积交织由延时成等差递增的I路移位寄存器组成,输入数据依次进入I路不同的输入端,输出数据经过延时从相应路读出。由于延时不同,相邻的输入数据在输出端被离散化。卷积交织的优点是输入输出同步,性能相同的情况下,所需的存储空间是块交织的一半。欧洲的DVB-C系统采用了卷积交织技术,使用12个分支,递增延时单位是17。解交织则是按照与交织相反的方式把数据重新排列回原来的顺序,一般需要与交织相同的存储器,结构上也类似。
[0007] 在相同的交织长度下,与块交织相比可节省一半的存储器资源,而且卷积交织延时更短,因此卷积交织适合高码率、连续数据流传输系统,如数字电视广播系统。卷积交织也常与RS编码联合使用。
[0008] 卷积交织解交织基本原理的详细说明:
[0009] 如图1所示,交织器由I个分支构成,从0到(I-1),通过切换开关的作用下依次对每个分支进行读写。每个分支的延时不同,从第0分支到第(I-1)分支,延时分别为0、M、2M、3M……(I-2)M、(I-1)M,由于各分支的延时不同,造成数据读出的顺序不同,实现交织功能。
[0010] 解交织器的原理基本相同,由I个分支构成,从0到(I-1),通过切换开关的作用下依次对每个分支进行读写。每个分支的延时不同,从第0分支到第(I-1)分支,延时分别为(I-1)M、(I-2)M……3M、2M、M、0,由于各分支的延时不同,造成数据读出的顺序不同,实现解交织功能。
[0011] 卷积交织器通常有三种实现方法:移位寄存器法、RAM分区循环移位法、RAM整块循环移位法。
[0012] 移位寄存器法是将每条延迟支路用一定长度的FIFO来实现,对于交织器来说,这种方案所用的寄存器个数为:0+M+2M+L(I-2)+(I-1)=I(I-1)/2,每个字节为8位,需要4I(I-1)bit寄存器,因此,这种方法的优点是比较直观,实施简单,缺点是当I、M数值较大时,寄存器资源消耗非常大,硬件难以实现。
[0013] RAM分区循环移位法是利用对RAM不同地址的读写来实现各个分支的延时。把RAM分成I个区,每个区的大小因为延时不同所用的空间不同。在对各个区进行循环读写的同时,每个区的内部也进行循环读写。这种方法的重点在于对读写地址的控制,地址产生器输出的地址为区的首地址与区内偏移地址的和。这种方法采用RAM实现卷积交织,节省了资源,使总的规模减小,但是这种方法仍需用于存放每个区的区内偏移地址的FIFO,容量为(I-1)个单元,而且这种方法的控制比较复杂。
[0014] RAM整块循环移位法同样是利用对RAM不同地址的读写来实现各个分支的延时。这种方法队整块RAM循环读写,不需使用FIFO,进一步节省了资源,是用RAM实现卷积交织器的最优方法。

发明内容

[0015] 本发明的目的在于提出一种新的卷积交织和解交织的方法。交织器采用读-写的方法,因此对于RAM中的一个地址空间而言,操作时,先将存在此地址空间的数据读出,下一个时钟再将输入数据写入此地址空间中,本方法对所用RAM空间进行整块循环读写。在解交织器中,由于解交织器和RS解码器共用此RAM,所以对RAM进行两次读操作,相当于两个内容相同输出,只是输出时间不同。因此,解交织器对RAM进行读-读-写操作,其中,第二次读的地址与第一次读的地址相差2M,写操作的地址与第一次读的地址相同。
[0016] 本交织器由I个分支构成,从0到(I-1),各个分支的地址相差M、2M、3M……(I-1)M、IM,故总共所需RAM空间为N,N=I(I+1)M/2。可以把RAM看成首地址和尾地址相接的环形RAM,如图2所示。
[0017] 交织时,对各个支路依次进行读写操作。假设当前交织的读写数据是参与第i条延迟支路对应的RAM读写地址为An,那么下一交织的读写数据的地址就对应于第i+1条延迟支路相应的读写地址为An+1,则有:
[0018] An+1=An+(i+1)M 当i!=(I-1),An+(i+1)M<N;
[0019] An+1=An+(i+1)M-N 当i!=(I-1),An+(i+1)M≥N;
[0020] An+1=An+IM+1 当i=(I-1),An+IM+1<N;
[0021] An+1=An+IM+1-N 当i=(I-1),An+IM+1≥N;
[0022] 传输开始时,数据读写地址分别为第0个分支、第1个分支、……第(I-1)个分支的第一个地址空间,然后进行下一轮的读写,读写地址分别为第0个分支、第1个分支、……第(I-1)个分支的第二个地址空间,紧挨着上一轮读写所写的地址空间。
[0023] 当进行第M+1轮读写时,第0个分支第M+1个地址空间为第1个分支的第一个地址空间,如图3所示。接着进行下轮读写……。
[0024] 当读写第(I-1)个分支的第IM+1个地址空间时,因为第(I-1)个分支的第IM个地址空间为RAM的尾地址,所以第(I-1)个分支的第IM+1个地址空间读写地址为第0个分
支的第一个地址空间,如图4所示。同样的道理,对于下一轮读写,第0个分支的第二个地址空间为第(I-1)个分支的第IM+2地址空间,接着进行下一轮读写……。
[0025] 每一轮读写都要进行I次读写操作,这I次输入的地址相差分别为M、2M、3M……(I-1)M、IM,把RAM看成首地址和尾地址相接的环形RAM,初地址为0,读写地址为:
[0026] 0、M、3M、6M、……(I-2)(I-1)M/2、(I-1)IM/2、
[0027] 1、M+1、3M+1、6M+1、……(I-2)(I-1)M/2+1、(I-1)IM/2+1、
[0028] 2、M+2、3M+2、3M+2、6M+2、……(I-2)(I-1)M/2+2、(I-1)IM/2+2……。
[0029] 接收端的解交织器,原理上与发射端的交织器基本相同,由于解交织器和RS解码器共用此RAM,所以对RAM进行两次读操作,所以与发射端的交织器又有些差别。解交织器对RAM进行读-读-写操作,其中第二次读的地址与第一次读的地址相差2M,写操作的地址与第一次读的地址相同。
[0030] 本解交织器同样由I个分支构成,从0到(I-1),各个分支的地址相差(I+1)M、IM……4M、3M、2M,对I个分支依次进行读写,总共所需RAM空间为N,N=I(I+3)M/2。
[0031] 因此,假设当前解交织参与第i条延迟支路对应的RAM第一次读的地址为An,那么第i+1条延迟支路相应的第一次读地址为An+1,把RAM看成首地址和尾地址相接的环形RAM,则有
[0032] An+1=An+(I-i+1)M 当i!=(I-1),An+(I-i+1)M<N;
[0033] An+1=An+(I-i+1)M-N 当i!=(I-1),An+(I-i+1)M≥N;
[0034] An+1=An+2M+1 当i=(I-1),An+2M+1<N;
[0035] An+1=An+2M+1-N 当i=(I-1),An+2M+1≥N;
[0036] 对第i条延迟支路进行第二次读操作,对应的RAM地址为Bn,与An相隔2M-1个空间,如图6所示,即Bn-An=2M,如图6所示。即当前交织的读写数据是参与第i条延迟支
路对应的RAM读写地址为Bn,那么下一交织的读写数据的地址就对应于第i+1条延迟支路
相应的读写地址为Bn+1,则有:
[0037] Bn+1=An+(I-i+3)M 当i!=(I-1),An+(I-i+3)M<N;
[0038] Bn+1=An+(I-i+3)M-N 当i!=(I-1),An+(I-i+3)M≥N;
[0039] Bn+1=An+4M+1 当i=(I-1),An+4M+1<N;
[0040] Bn+1=An+4M+1-N 当i=(I-1),An+4M+1≥N;
[0041] 解交织器的写操作的地址与第一次读操作的地址相同,即An。
[0042] 下面对两次读操作中的第一次读操作做详细说明。
[0043] 传输开始,第一轮操作中第一次读的地址分别是第0个分支、第1个分支、……第(I-1)个分支的第一个地址空间,第二轮操作中第一次读的地址分别是第0个分支、第1个分支、……第(I-1)个分支的第二个地址空间,……。
[0044] 当进行第2M+1轮读写时,第(I-1)个分支的第2M+1个地址空间为第0个分支的第一个地址空间,如图6所示。接着进行下轮读写……。
[0045] 第0个分支的第一个地址空间0,所以地址分别是:0、(I+1)M、(I+1)M+IM、……((I+1)M+IM+(I-1)M+L 3M)、((I+1)M+IM+(I-1)M+L 2M)、1、(I+1)M+1、(I+1)M+IM+1、……((I+1)M+IM+(I-1)M+L 3M+1)、((I+1)M+IM+(I-1)M+L 2M+1)、2、(I+1)M+2、……2M、(I+1)M+2M、……((I+1)M+IM+(I-1)M+L 3M+2M)、0、2M+1、(I+1)M+2M+1……。
[0046] 本发明提出了一种新的卷积交织和解交织的方法。本发明通过对存储结构RAM进行读写实现交织的功能,为了节省存储空间和简化读写地址产生器,本发明交织器采取先读后写的方法,对所用RAM空间进行整块循环读写;解交织器采用对R读-读-写的方法,同样对所用RAM空间进行整块循环读写,和RS解码器共用此RAM。本发明实现对RAM进行
整块循环读写,并且解交织器与RS解码器共用一个RAM,不需要FIFO,节省资源。
[0047] 以下结合附图和实施例对本发明给予进一步说明。

附图说明

[0048] 图1为卷积交织器和解交织器。
[0049] 图2为把RAM看成首地址和尾地址相接的环形RAM。
[0050] 图3为交织器中,第M+1轮读写第0个分支的第M+1个地址空间。
[0051] 图4为交织器中,读写第(I-1)个分支的第IM+1个地址空间。
[0052] 图5为解交织器的两次读操作。
[0053] 图6为解交织器中,第2M+1轮中对第(I-1)个分支的第一次读操作。
[0054] 图7为交织器的工作原理图。

具体实施方式

[0055] 在本实施例中,I选12,M选17。交织时,占用RAM空间N=I(I+1)M/2,即占用1326个空间,对RAM进行一轮一轮的读-写的操作。读写的地址由地址产生器产生,如图7所示,每一轮各个地址相差17、34、……287、204。
[0056] 本交织器由12个分支构成,从0到11,假设当前交织的读写数据是参与第i条延迟支路对应的RAM读写地址为An,那么下一交织的读写数据的地址就对应于第i+1条延迟
支路相应的读写地址为An+1,则有:
[0057] An+1=An+17(i+1) 当i!=11,An+17(i+1)<1326;
[0058] An+1=An+17(i+1)-1326 当i!=11,An+17(i+1)≥1326;
[0059] An+1=An+12×17+1 当i=11,An+12×17+1<1326;
[0060] An+1=An+12×17+1-1326 当i=11,An+12×17+1≥1326;
[0061] 初始地址为0,则读写的地址为:
[0062] 0、17、51、102、170、255、357、476、612、765、935、1122、1、18、52、103、171、256、358、477、613、766、936、1123、2、19、53、104、172、257、359、478、614、767、937、1124、……17、34、
68、119、187、272、374、493、629、782、952、1139、18、35、69、120、188、273、375、494、630、783、
953、1140、19、35、……203、220、254、305、373、458、560、679、815、968、1138、1325、204、221、
255、306、374、459、561、680、816、969、1139、0、205、222、……。
[0063] 解交织时,占用RAM空间N=I(I+3)M/2,即占用1530个空间。每一轮各个地址相差221、204、187、……51、34。本解交织器由12个分支构成,从0到11,假设当前解交织参与第i条延迟支路对应的RAM第一次读的地址为An,那么第i+1条延迟支路相应的第一次读地址为An+1,把RAM看成首地址和尾地址相接的环形RAM则有:
[0064] An+1=An+17(12-i+1) 当i!=11,An+17(12-i+1)<1530;
[0065] An+1=An+17(12-i+1)-1530 当i!=11,An+17(12-i+1)≥1530
[0066] An+1=An+2×17+1 当i=11,An+2×17+1<1530;
[0067] An+1=An+2×17+1-1530 当i=11,An+2×17+1≥1530;
[0068] 初始地址为0,则第一次读的地址为:
[0069] 0、221、425、612、782、935、1071、1190、1292、1377、1445、1496、1、222、426、613、783、936、1072、1191、1293、1378、1446、1497、2、223、……34、255、459、646、816、969、1105、
1224、1326、1401、1479、0、35、256......。
[0070] 写的地址与第一次读的地址相同。第二次读的地址Bn与第一次读的地址An相差2M,即34个空间。
[0071] Bn+1=An+17(12-i+3) 当i!=11,An+17(12-i+3)<1530;
[0072] Bn+1=An+17(12-i+3)-1530 当i!=11,An+17(12-i+3)≥1530;
[0073] Bn+1=An+4×17+1 当i=11,An+4×17+1<1530;
[0074] Bn+1=An+4×17+1-1530 当i=11,An+4×17+1≥1530;
[0075] 因此,第二次读的地址为:
[0076] 34、255、459、646、815、969、1105、1224、1326、1411、1479、0、35、256、460、647、816、970、1106、1225、1327、1412、14801、36、257、 ……68、289、493、680、850、1003、1139、1258、
1360、1435、1513、1513、34、69、290......。
[0077] 本发明卷积过程控制简单,解交织器和RS解码器可以共用一个RAM,节约资源。