区块交错与解交错的编码方法

文档序号:7506167阅读:334来源:国知局

专利名称::区块交错与解交错的编码方法
技术领域
:本发明有关于一种通信系统中交错及解交错的方法,特别有关一种执行区块交错及解交错的方法与装置。
背景技术
:通道编码(channelcoding)主要功用是用来检测及纠正无线通信系统在传输中随机噪声(randomnoise)所造成的错误,这种错误的发生通常是零零散散的,分布在数据的各处。然而,在传送过程中,有些时候会有一连串错误(bursterror)的发生,这种错误很可能会超过一般编码器的错误纠正能力,而无法将错误的数据恢复,导致数据损失或需要重新传送。交错(interleaving)为一种可提高对抗连续错误的能力的方法。交错是于数据传送之前,将数据、也就是编码符号(codesymbol)原本的顺序重新组合。如此一来,当传输过程中发生一连串错误时,这些错误将会因解交错(de-interleaving)时被打散至许多位置。通过将一连串错误分散至数据内各个位置,而减少错误的连续个数。于是,解码器便可增进将检测到的错误纠正回来的能力。交错器(interleaver)是传送端用来把要传送的数据打散成不同顺序的装置;在接收端,其对应的处理单元为解交错器(de-interleaver)。其目的是把原来被交错到不同位置的数据恢复回原来的地方。区块交错(blockinterleaving)为一种常用、且容易执行的交错方法。区块交错将编码器产生的一串编码符号分成许多区块,并将每个区块的先后顺序重新排列。如图1A及图1B所示,一般区块交错先将编码序列按照横式的排列顺序填入一矩阵,执行完区块交错的改变顺序后,再将编码符号以直式读出,依序输至调制器。图1A表示执行区块交错之前,编码符号在矩阵中的排列顺序,图1B则表示编码符号执行完区块交错后在矩阵中的排列顺序。如图所示,编码符号填入矩阵时,按照横式的排列顺序,先将第一列填满,再依次填入下面的每一列。在此例子中,执行区块交错会使原本矩阵中行的顺序从(0,1,2,3)更改为(0,2,1,3),也就是将中间两行的位置互换。当编码符号执行完区块交错后,输出至调制器的顺序以直式排列,先将如图1B所示的新排列好的顺序中的第一行输出,再依次输出之后每一行的编码符号到调制器。而在接收端的区块解交错器则是执行相反的操作。通常进行区块交错与解交错的两端,会将编码符号按照类似图1A与图1B中C行R列(C*R)的矩阵所构呈的顺序,读出以及写入存储器中。编码符号从存储器读出时,所排列的顺序会与写入时的顺序不同,而传统技术需要先将执行交错前的编码符号依序存储在存储单元(memorycell)中,执行区块交错后,再将按照新顺序排列的编码符号存储在另外的存储单元中。这样的程序步骤导致每一个编码符号必须在存储器中被存储两次,也就是需要两倍编码符号总数(2RC)的存储单元。另外,利用公知技术进行交错时,由于存储器的读写顺序先依序写入矩阵的每一列,再依新的交错顺序读出矩阵的每一行。因此最快开始输出的时间,是在开始写入编码符号的最后一列的时候。这是由于至少要等到最后一列的第一个编码符号写入后,交错器才可收集到完整的一行,以输出至调制器。如此,导致延迟的时间至少为C(R-1)+1次写入存储器所费的时间。
发明内容本发明提供一种新的执行区块交错及解交错的地址产生方法,及地址发生器,可有效的缩短处理区块交错及解交错所花费的时间,并减少执行交错时所需用到的存储单元。本发明的方法由于允许在读编码符号的同时,立刻计算输出时的新地址,确保可在最短的延迟时间内,完成区块交错或解交错。本发明于读到每一个编码符号时,即刻输出编码符号的新地址至调制器,无须等到读至最后一列才开始输出新地址。这种即时算出新地址的技术,让每一个编码符号只需要一次的读写即可完成区块交错或解交错,且不必再等候C(R-1)+1次写入存储器所费的时间。本发明的编码符号在输入时写入的存储单元,可与输出所需的存储单元相重迭,最多可重迭与预设矩阵的列数(R)相同数目的存储单元。不但如此,本发明的交错与解交错的方法十分容易实施于实际应用上,且本发明的地址发生器,可用作执行区块交错或区块解交错。本发明提供的区块交错与解交错的方法,交错时包括提供M个编码符号执行区块交错,其中第一个编码符号存储在一存储器的一输入起始地址对应的一存储单元中,之后多个编码符号依序存储在上述输入起始地址之后对应的多个存储单元中。执行交错及执行解交错的两端协定一列值(volumnvalue)(C),用在分割上述多个编码符号。将上述多个编码符号的数目(M)除以上述列值(C),计算得到一整数(R),以及一余数(W)。接着分割上述多个编码符号为多个区块,其中包括有R组区块,各有C个编码符号,假如W不等于零,还包括一第(R+1)组区块,有W个编码符号。由执行交错及执行解交错的两端协定一顺序对照表,包括C个对应值,用来指定执行交错的排列顺序。依序将每一个上述多个对应值当作一参考值,从上述存储器中读出各组上述R组区块中一对应上述参考值的编码符号,如果上述参考值小于上述余数(W),更读出上述第(R+1)组区块中一对应上述参考值的编码符号。最后,按照上述读出编码符号的顺序,在每一上述多个编码符号读出时,将多个编码符号从上述存储器的一输出起始地址对应的一存储单元开始,依序写入之后多个存储单元中。本发明提供的区块解交错的地址产生的方法,包括提供M个编码符号执行区块解交错,其中第一个编码符号存储在一存储器的一输入起始地址对应的一存储单元中,之后多个编码符号依序存储在上述输入起始地址之后对应的多个存储单元中。由执行交错及执行解交错的两端协定一列值(C)。将上述多个编码符号的数目(M)除以上述列值(C),计算得到一整数(R),以及一余数(W)。由执行交错及执行解交错的两端协定一顺序对照表,包括C个对应值,用来指定交错的排列顺序。接着,分割上述多个编码符号为对应上述C个对应值的C组区块,各组上述区块的上述对应值与上述余数比较,决定各组上述区块包括R或(R+1)个编码符号。这时将每一上述多个编码符号依序从上述存储器中读出,再依序将各组上述区块的上述对应值当作一参考值,以上述存储器中一输出起始地址结合上述参考值为开始存储单元,将各组上述区块的上述多个编码符号,以R为间隔写入上述存储器的多个存储单元中。本发明还公开一种实施执行区块交错及解交错的地址发生器,该地址发生器可被划分为数个功能块,其中包括一输入功能块、一存储重迭功能块、一计算地址功能块、以及一输出功能块。其中上述输入功能块用来接收多个输入参数,包括一输入起始地址、一编码符号的数目(M)、一列值(C)、一时钟信号、以及一重设信号。上述存储重迭功能块,连接于上述输入功能块,利用上述多个输入参数计算一输出起始地址。上述计算地址功能块,连接上述输入功能块与计忆重迭功能块,用来计算上述多个编码符号的输出及输入的地址。而输出功能块则是连接上述计算地址功能块,输出一写入地址阵列与一读出地址阵列。为了让本发明的上述和其他目的、特征、和优点能更明显易懂,下文特举一较佳实施例,并配合所附图示,作详细说明如下。图1A表示区块交错前编码符号以矩阵排列之范例;图1B表示区块交错后编码符号以矩阵排列之范例;图2表示本发明之编码符号在存储体中读出及写入地址之范例;图3为本发明之地址产生器的方块图;图4为本发明之地址产生器的逻辑电路图。符号说明200、220-存储块;300-输入功能块;302-计算地址功能块;304-存储重叠功能块;306-输出功能块;308、408-输入起始地址;310、410-编码符号的数目(M);312、412-列值(C);314、414-时钟信号;316、416-重设信号;318、418-写入地址;320、420-读出地址;400-除法单元;402、404-回路;406-地址修正功能块具体实施例方式图1A、图1B、以及图2为实施本发明的一个简单的范例。本发明的区块交错与解交错的方法,可先通过图1A及图1B解释说明本发明所欲达到的效果。由于利用矩阵来说明本发明的方法较为简单,因此图1A与图1B将原本如图2中一串的存储器地址以矩阵的形式表示。在此范例中,进行区块交错的编码符号总数(M)为26,这些示意图中编码符号的号码(0-25)代表编码符号输入的顺序。此范例将列值(C)设为4,代表要将编码符号分割成C个区块,此列值由执行交错及执行解交错的两端互相协定的。在这个例子中,编码符号的总数26无法被列值4整除,除出来的整数为6(R=M/C),余数则为2(W=M%C)。图1A描述编码符号在进行区块交错前,在矩阵中以横式做排列,也就是从左至右依次将矩阵的第0列到第6列(R)填入。因为这个范例的余数为2(W),最后一列(即第6列)仅有两个编码符号。此时,执行交错以及执行解交错的两端会协定一个包括4(C)个对应值的顺序对照表(T0,T1,T2,T3)。此范例的顺序对照表为(0,2,1,3),表示执行交错时会将原本行数0-3,改为此顺序对照表所指定的顺序。如图1B所示,矩阵中第0与第3行保留跟图1A,即交错前的位置相同,而第1与第2行则于交错后互相对调。编码符号在存储器中的顺序会是图1B的矩阵中,从第0行由上到下,再同样的将之后的每一行由上到下排列而成。将输入的编码符号按照该顺序对照表排成这样的顺序即是执行区决交错所欲达到的。解交错则执行相反的任务,将接收到的编码符号由第0行上至下排列,在依次排列每一行,排成图1B的状态。执行区块解交错按照顺序对照表将行的顺序还原至图1A的状态。再将图1A从第0排由左至右,并同样的依序将每一排读出。在较清楚本发明的交错及解交错所欲达到的效果后,请参阅图2,其中所要交错总共有26个地址,列数为6,在本发明中可以26+26-6=46单位的存储器来暂存交错数据,存储块200及存储块220各为具有26单位的存储器,有6单位的存储器重迭,表示可以节省一些存储器容量。以下就交错过程中所包含的四个步骤进一步说明本发明的方法步骤。步骤A中先将执行区块交错的编码符号存储在存储块220中,也就是从地址20开始往下至地址45存储26个编码符号。本发明的方法只须将存储在存储器中的编码符号按照一规律跳读,读出后再由地址0开始的存储器开始依序填入即可,当数据由地址0写入时,如有需要,可以马上将数据传送出去不需要等到所有的区块交错完成才送出去。步骤B则是以一定的规律,通过参考该顺序对照表中的值,对应一参考点,并以C为间隔读出存储在存储器中的编码符号,再依读出的顺序从该输出地址0开始写入存储器中。此范例中顺序对照表是(0,2,1,3),即先将参考点设为地址20,参考点为第一个读出的编码符号,第二个读出的编码符号则位于输入地址20后面4(C)个的地址。同样地再跳4个地址即可读出第三个编码符号,重复此跳读的操作直到读出第R个编码符号,如步骤B所示,由地址20读出数据0后写入地址0,而后由地址20后面4个的地址的地址24读出数据4,依序写入地址1,依此规律直到读区块220的结尾,亦即如步骤B所示,直到数据24被写入地址6,接下来按照顺序对照表中第二个数值,计算下一个参考点,此范例为地址22的第二个数值为2,因此新的参考点为输入起始地址20之后的第二个地址,也就是对应此数值的输出的第一个编码符号行,亦依此规律直到读区块220的结尾;而有关区块200与区块220重迭的部分,如步骤C所示,当要开始由地址20开始写入时,地址23读出数据3后,在重迭部分的地址20-25的初始数据都已读出,因此可以顺利的写入此重迭区块,完成重迭的数据如步骤D所示,可以看到由地址0到地址25已经把数据用预计的交错方式重新排列。如图1A的矩阵中每一行编码符号的数目可能为6(R)个,也可能为7(R+1)个,因此当读到顺序对照表中每一个数值所对应的第6(R)个编码符号时,检验是否需要读第7(R+1)个编码符号。检验的方法很简单,将正在执行的顺序对照表的数值,与编码符号总数(M)除以列值(C)所得的余数比较,如果小于此余数,则要多跳C个地址读出该行的最后一个编码符号。由于顺序对照表的第二个数值2并不小于此范例的余数2(W),所以第6(R)个编码符号便是对应该数值的最后一个编码符号。以相同的方法,将顺序对照表其余的数值一一执行上述的步骤。这里特别要注意,执行完区块交错的编码符号写入存储器时,可与执行区块交错之前存在存储器的编码符号重迭6(R)个存储器地址,以节省6(R)个存储器单元。输出起始地址0计算的方法为输入起始地址20减去编码符号的数目26(M),再加上6(R)。执行区块解交错时,同样地,将要执行解交错的编码符号从输入起始地址20开始存储。并在解交错的时候将每一个编码符号按照输入的顺序读出,对应该顺序对照表中每一个值各找出一参考点,并将读出的编码符号依次写入参考点之后每间隔C个地址的存储器中。如本范例的顺序对照表(0,2,1,3),第一参考点为输出起始地址0,第二参考点为该第一参考点之后两个地址,第三与第四参考点则分别为该第一参考点之后一个及三个地址。将读出的第一个编码符号写入第一参考点,第二个编码符号写入与第一参考点间隔4(C)个地址的存储器单元,之后跳4个地址写入,直到执行此写入操作6(R)次。此时与执行区块交错一样,需要检测是否要再跳4个地址写入第7(R+1)个编码符号。检测的方法也与交错时一样,比较所对应顺序对照表的值,如果比余数(W)小,表示需要执行第7次的写入操作。接着将读出的编码符号写入顺序对照表的下一个值所对应的参考点,以及其参考点之后每隔C个地址。对顺序对照表中的每一个值都要做这样的跳写步骤,才可将所有编码符号完成解交错。解交错端的存储器中输出起始地址和输入起始地址之间的间隔与交错端相同。本发明还公开一种执行上述区块交错及解交错的地址发生器。请参阅图3,图3将此地址发生器以简易方块图作为说明。地址发生器的输入功能块300用于接收多个参数,包括输入起始地址308、编码符号的数目(M)310、列值(C)312、时钟信号314、以及重设信号316。输入功能块300将编码符号的数目310除以列值312,得到整数R(M/C)与余数W(M%C)。存储重迭功能块304从输入功能块300得到输入起始地址308、编码符号的数目310、以及余数W,算出输出起始地址。地址发生器的计算地址功能块302中有两个回路,并有一个顺序对照表,按照顺序对照表的值,计算每一个编码符号的输入与输出的地址索引。每个编码符号的输入地址索引以输入起始地址308为起点,得到一对应的读出地址,而输出地址索引则以输出起始地址为起点,得到一对应的写入地址。此计算地址功能块302还包括地址修正功能块,在计算写入地址时,侦测顺序对照表中对应的值是否小于余数(W),以决定是否对输出地址索引进行适当修正,确保编码符号的余数也可被写入正确的地址。最后输出功能块306将所计算出来的地址输出成一读出地址阵列以及一写入地址阵列。图4为实施第三图的地址发生器的逻辑电路图。方块400将编码符号的数目410除以列值412,得到一整数R与余数W。回路402与回路404结合地址修正功能块406,计算每一个编码符号读出及写入的地址。重设信号会在每一次执行区块交错或解交错的一开始,重设逻辑电路中锁存器、延迟正反器、及回路402与404等逻辑单元。本发明的区块交错及解交错的方法,可用简单的程序说明解释,而执行本发明方法的地址发生器也是按照此程序的逻辑构成的。下面举例执行区块交错及区块解交错的程序,其中C为设定好的列值、R为编码符号总数除以C的整数值、W为其余数。Z为地址累积偏移值,用来修正输出地址索引以得到正确的写入地址。T_table为顺序对照表,一包含C个数值的阵列。传送端的区块交错程序为Z=0;for(y=0;y<C;y++){T=T-_table[y];for(x=0;x<R;x++){out[y*R+x+Z]=in[x*C+T];}if(T<W){Z++;out[y*R+x+Z]=in[x*C+T];}}接收端的区块解交错程序为Z=0;for(y=0;y<C;y++){T=T_table[y];for(x=0;x<R;x++){out[x*C+T]=in[y*R+x+Z];}if(T<W){Z++;out[x*C+T]=in[y*R+x+Z];<!--SIPO<DPn="8">--><dpn="d8"/>}}综上所述,虽然本发明已以较佳实施例公开如上,然其并非用以限定本发明,任何本领域技术人员,在不脱离本发明的精神和范围的情况下,可进行各种更动与修改,因此本发明的范围以所提出的权利要求限定的范围为准。权利要求1.一种区块交错的地址产生的编码方法,包括下列步骤提供M个编码符号在一存储器上执行区块交错,上述存储器包含一写入存储器与一读出存储器,上述写入存储器包括一输出地址,上述读出存储器包括一输入地址;将上述M个编码符号依序存储在上述输入地址之后对应的M个存储单元中;设定一列值(C),用来分割上述M个编码符号,设定一顺序对照表,包括C个对应值,用来指定执行交错的排列顺序;依上述顺序对照表,由C个对应值选择一对应值,用来设定一参考地址,由该参考地址开始以C的间隔,由上述读出存储器的输入地址,依序读出编码符号并依序的将读出的编码符号写入上述写入存储器的上述输出地址对应的存储单元;重复上述步骤,直至上述顺序对照表的C个对应值均曾被设定成参考地址。2.如权利要求1所述的区块交错的地址产生的编码方法,还包括将上述M个编码符号的数目(M)除以上述列值(C),计算得到一整数(R)以及一余数(W)。3.如权利要求2所述的区块交错的地址产生的编码方法,还包括分割上述M个编码符号为多个区块,其中包括有R组区块,各有C个编码符号,以及一余数W,假如W不等于零,还包括一第(R+1)组区块,有W个编码符号。4.如权利要求2所述的区块交错的地址产生的编码方法,上述读出存储器与写入存储器,与从上述输入地址重迭R个存储单元。5.如权利要求2所述的区块交错的地址产生的编码方法,其中上述输出地址的计算方法由上述输入地址,减去上述M个编码符号的数目(M),再加上R。6.如权利要求2所述的区块交错的地址产生的编码方法,还包括当计算到上述参考值小于上述余数(W)时,更读出上述第(R+1)组区块中一对应上述参考值的编码符号。7.如权利要求1所述的区块交错的地址产生的编码方法,其中上述顺序对照表以及上述列值(C)是由执行交错及执行解交错的两端所协定的。8.一种执行区块解交错的地址产生的编码方法,包括下列步骤提供M个编码符号在一存储器上执行区块解交错,上述存储器包含一写入存储器与一读出存储器,上述写入存储器包括一输出地址,而上述读出存储器包括一输入地址;将上述M个编码符号依序存储在上述读出存储器的一输入地址后对应的M个存储单元中;设定一列值(C),用来分割上述M个编码符号;设定一顺序对照表,包括C个对应值,用来指定交错的排列顺序;分割上述M个编码符号为对应上述C个对应值的C组区块;将每一上述M个编码符号依序从上述读出存储器的上述输入地址开始读出;以及依序将各组上述区块的上述对应值当作一参考值,以上述写入存储器中上述输出地址结合上述参考值开始,将各组上述区块的上述M个编码符号,以一特定间隔跳着写入上述写入存储器中,直到填满整个写入存储器。9.如权利要求8所述的执行区块解交错的地址产生的编码方法,还包括将上述M个编码符号的数目(M)除以上述列值(C),计算得到一整数(R),以及一余数(W)。10.如权利要求9所述的执行区块解交错的地址产生的编码方法,其中写入上述写入存储器时跳跃的上述特定间隔为整数R。11.如权利要求9所述的执行区块解交错的地址产生的编码方法,其中分割上述M个编码符号为对应上述C个对应值的C组区块时,还包括将各组上述区块的上述对应值与上述余数(W)比较,决定各组上述区块包括R或(R+1)个编码符号,即如果上述对应值小于上述余数(W)时,对应的上述区块便包括(R+1)个编码符号。12.如权利要求9所述的执行区块解交错的地址产生的编码方法,其中上述M个编码符号从上述输入起始地址开始存储的多个上述存储单元,与从上述输出起始地址开始存储的多个上述存储单元,重迭R个存储单元。13.如权利要求9所述的执行区块解交错的地址产生的编码方法,其中上述输出地址的计算方法是由上述输入地址,减去上述M个编码符号的数目(M),再加上R而得到的。14.一种执行区块交错及解交错的地址编码器,对M个编码符号执行交错与解交错的编码,包括一输入功能块,用来接收多个输入参数,上述多个参数包括一输入地址、一编码符号的数目(M)、一列值(C)、一时钟信号、以及一重设信号;一存储重迭功能块,连接于上述输入功能块,利用上述多个参数计算一输出地址;一计算地址功能块,连接上述输入功能块与计忆重迭功能块,用于计算读与写每一个上述M个编码符号的地址;以及一输出功能块,连接上述计算地址功能块,输出一读出地址阵列与一写入地址阵列;其中上述计算地址功能块利用两个回路,得到每一个上述M个编码符号的一输入地址索引及一输出地址索引,并结合上述输入地址、上述输出地址、以及执行交错及解交错的两端协定的一顺序对照表,计算读出与写入每一个上述M个编码符号所对应的地址。15.如权利要求14所述的执行区块交错与解交错的地址编码器,其中上述计算地址功能块还包括一地址修正功能块,利用上述M个编码符号的数目(M)被上述列值(C)除,而得到的一余数(W),在计算地址时,判断是否将上述输出地址索引进行适当修正。16.如权利要求14所述的执行区块交错与解交错的地址编码器,其中上述计算地址功能块利用二维逻辑方式计算上述M个编码符号的地址,将地址以大小为C行R列的矩阵表示。17.如权利要求14所述的执行区块交错与解交错的地址编码器,其中上述读出地址阵列包括M个地址,对应一读出存储器中M个地址。18.如权利要求14所述的执行区块交错与解交错的地址编码器,其中上述写入地址阵列包括M个地址,对应一写入存储器中M个地址。19.如权利要求16所述的执行区块交错与解交错的地址编码器,其中上述写入地址阵列与读出地址阵列,有R个重复的地址。全文摘要一种区块交错及解交错的编码方法,与执行该方法的地址编码发生器。本发明的方法可有效节省交错及解交错所费的时间,并可减少存储器的使用。本发明的区块交错按照一预定的列值(C)将编码符号分成数等份,并依序按照顺序对照表(T0TC-1)中多个对应值,先读出每一等份的第T0个编码符号,再读出每一等份的第T1个编码符号,重复直到读完每一等份的第TC-1个编码符号。之后再将此读出的顺序依序存储在以一输出起始地址为开始的存储器中。区块解交错则依序将每一个输入的编码符号读出,再根据同样的列值与顺序对照表,计算出对应的地址,还原编码符号原本的顺序。文档编号H03M13/00GK1642018SQ20041000122公开日2005年7月20日申请日期2004年1月2日优先权日2004年1月2日发明者杨秉忠申请人:明基电通股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1