时间解交错电路与方法与流程

文档序号:11582552阅读:317来源:国知局
时间解交错电路与方法与流程

本发明是关于时间解交错电路与方法,尤其是关于行列(row-column)或区块(block)解交错电路与方法。



背景技术:

为避免造成短时间内大量的位错误,导致无法使用错误更正来还原传送的数据,通信系统中经常利用交错处理将欲传送的数据打散,使得原本是连续性的错误进而变成随机性的错误,因此可以藉由错误更正的处理,更正大部分的错误,进而降低错误率。时间交错处理(time-interleavingprocess)是通信系统中常见的一种交错处理,其于传送端将一数据区块一列一列地依序写入一存储器中,再一行一行地依序自存储器中读出,使得数据区块的数据重新分布而形成一时间交错区块,由于时间交错处理以区块为单位进行处理,故又称为区块交错处理。而通信系统的接收端再进行对应的时间解交错处理。

一个时间交错(time-interleaving,以下简称ti)区块包含nfec个向前错误校正(forwarderrorcorrection,以下简称fec)区块,每个fec区块包含ncell个单元(cell),nfec及ncell由相关通信标准所定义。已知的时间解交错电路通常需要预留2个存储器区块,在某个操作阶段其中一个供写入数据另一个供读取数据,下个阶段时两者角色互换。请参阅图1a及图1b,其为已知用于时间解交错的存储器配置的示意图。图1a及图1b各包含2个存储器区块110及120,每块存储器配置为nr(=ncell/5,此例中ncell=20,因此nr=4)行及nc(=nfec×5,此例中nfec=2,因此nc=10)列,亦即每块存储器可储存一个ti区块的数据量(此例中一个ti区块包含nfec×ncell=2×20=40个单元)。图1a的状态为存储器区块110正好写入一个ti区块a的所有单元(a0~a39),原本储存于存储器区块120的所有单元正好被读取完毕。下个阶段将从存储器区块110读取数据,新进的数据则写入存储器区块120。图1b为存储器区块110与存储器区块120各经过20次读取及写入后的配置示意图,由图1a及图1b可以发现,任何时间点皆有等同于一个ti区块的数据量的存储器空间(亦即等效于一个存储器区块110或120的大小)处于闲置状态,此乃因为无论是存储器区块110或存储器区块120皆以一个ti区块的数据量为单位做设计,因而降低存储器的使用效率。



技术实现要素:

鉴于现有技术的不足,本发明的一目的在于提供一种时间解交错电路与方法,以节省存储器。

本发明揭示一种时间解交错方法,应用于一通信系统的信号接收端,用来对一交错信号进行时间解交错处理,该交错信号包含一第一时间交错区块及一第二时间交错区块,其包含:自一存储器中读出该第一时间交错区块的一第一部分单元;释放该第一部分单元于该存储器中所对应的一存储器空间;以及自该存储器将该第一时间交错区块完全读出前,将该第二时间交错区块的一第二部分单元写入该存储器空间。

本发明还揭示一种时间解交错电路,应用于一通信系统的信号接收端,用来对一交错信号进行时间解交错处理,该信号接收端包含一存储器,该交错信号包含一第一时间交错区块及一第二时间交错区块,其包含:一读取地址产生器,用来产生一读取地址;一写入地址产生器,用来产生一写入地址;以及一存储器控制单元,用来依据该读取地址自该存储器的一存储器空间读出该第一时间交错区块的一第一部分单元,以及于完全读出该第一时间交错区块前,依据该写入地址于该存储器空间写入一第二时间交错区块的一第二部分单元。

本发明的时间解交错电路与方法利用小于一个ti区块的数据量的存储器子区块为存取单位,使存储器更能灵活运用,从而减少时间解交错处理对存储器的需求。

有关本发明的特征、实作与功效,在此结合附图对实施例详细说明如下。

附图说明

图1a~1b为现有技术的用于时间解交错的存储器配置的示意图;

图2为本发明的时间解交错电路的一实施方式的功能方块图;

图3为本发明的时间解交错方法的一实施例的流程图;以及

图4a~4m为本发明用于时间解交错的存储器配置的示意图。

【附图符号说明】

110、120存储器区块

210频率解交错电路

200时间解交错电路

221存储器

222存储器控制单元

223写入地址产生器

224读取地址产生器

226地址对应表

228使用状态表

230单元解交错电路

410、420、430、440、450、460存储器子区块

s310~s390步骤

具体实施方式

本发明所揭示内容包含时间解交错电路与方法,在实施为可能的前提下,本领域技术人员能够依本说明书的揭示内容来选择等效的元件或步骤来实现本发明,亦即本发明的实施并不限于后叙的实施例。

图2为本发明的时间解交错电路的一实施方式的功能方块图。时间解交错电路200包含存储器221、存储器控制单元222、写入地址产生器223、读取地址产生器224、地址对应表226以及使用状态表228。写入地址产生器223及读取地址产生器224依据地址对应表226和/或使用状态表228分别产生写入地址及读取地址,而存储器控制单元222则依据写入地址及读取地址将交错数据中的ti区块写入及读出存储器221,以进行时间解交错处理。在另一实施例中,本发明的时间解交错电路可利用一外接的存储器来进行时间解交错处理。

图3为本发明的时间解交错方法的一实施例的流程图,以下结合图4a~图4m的存储器配置的示意图,来说明时间解交错电路200的工作原理。步骤s310决定存储器子区块的大小,在此实施例中,以子区块的列数c=5以及行数r=2为例,因此每个子区块可储存2行×5列共10个单元。接着依据ti区块的大小及存储器子区块的大小,决定存储器子区块的需求个数(步骤s320)。子区块的个数k可依据以下的算式决定:

延续图1的例子(即ncell=20,nfec=2),可得到本发明所需的子区块个数为k=(5×2/5+1)×(20/5/2)=3×2=6。如图4a所示,存储器221包含6个大小相同的存储器子区块410~460。事实上,方程式(1)可以改写为:

其中(nc/c)×(nr/r)即为图1中存储器区块110或存储器区块120等效的子区块个数,因此已知的解交错处理共需2×(nc/c)×(nr/r)=2×(10/5)×(4/2)=8个子区块,较本发明多了(nc/c-1)×(nr/r)个子区块。由此可见,以同样大小的ti区块而言(即nc及nr相同),当本发明采用的子区块数越多(亦即每个子区块越小,也就是r值或c值越小),本发明所省下的存储器就越多。

接下来提供一使用状态表228(步骤s330)。使用状态表228用来指示各个存储器子区块的使用状态,在一个实施例中,使用状态表228具有k个位,每个位对应一个子区块,以逻辑值1/0分别代表子区块为未使用或使用中。接下来提供一地址对应表226(步骤s340)。地址对应表226用以记录存取存储器221时的逻辑子区块的逻辑地址与实体子区块的实体地址的对应关系,写入地址产生器223及读取地址产生器224可以据以产生写入地址及读取地址。写入地址产生器223及读取地址产生器224在操作时先假设共可存取2×(nc/c)×(nr/r)个逻辑子区块(或称虚拟子区块),再通过地址对应表226对应到实体的子区块地址。承上例,因此地址对应表226的字段数目等于2×(nc/c)×(nr/r)=8,而每个字段必须有足够的位数来指示对应的实体子区块,其所需的位数为实施上,使用状态表228及地址对应表226储存于存储器中,例如储存于静态随机存取存储器(sram)。

以下以表1所显示的地址对应表226及使用状态表228的变化顺序说明本发明的操作流程。图4a显示时间解交错电路200正好将一个完整的ti区块a(单元a0~a39)的写入存储器221以及读取完毕先前存入的另一个ti区块,此时对应表1的第0次读写操作(round=0)可以得到使用状态表228为{0,0,0,0,1,1}(由左至右分别代表子区块410~460,此例中子区块410~440的状态为使用中,子区块450~460的状态为未使用)及地址对应表226为{0,1,2,3,x,x,x,x}(字段数值在此以十进位表示,0代表子区块410、1代表子区块420,以此类推)。请注意,表1所显示的使用状态表228、地址对应表226及对应附图均为该次读写操作后的结果(底线为当次操作更改的部分),且表1所列的读写操作顺序为简化后的表示,亦即只举例说明读取一个完整的ti区块a及写入一个完整的ti区块b(单元b0~b39)的操作顺序,本领域技术人员可以由以下的说明推广至更多ti区块的操作。另外,写入地址产生器223及读取地址产生器224实际上包含计数器,分别依据脉冲信号clk1及clk2计数(两者分别与单元写入及读出存储器221的速度有关),且写入地址产生器223及读取地址产生器224还各自包含判断单元,其依据计数值、地址对应表226和/或使用状态表228分别产生写入地址及读取地址(步骤s350),还决定是否需更新使用状态表228和/或地址对应表226(步骤s360)。更详细地说,在步骤s360中,写入地址产生器223的判断单元依据ti区块大小(即ncell、nfec)、子区块大小(即c值、r值)及计数值可得知目前是否正要写入一个空的子区块,如果是,则在步骤s370中从使用状态表228寻找空的子区块,并且在找到后对应修改使用状态表228及地址对应表226;另一方面,读取地址产生器224的判断单元依据ti区块大小、子区块大小及计数值可得知目前是否正在读取一个子区块的最后一个单元,如果是,则在步骤s370中更新使用状态表228。在不同的实施例中,更新使用状态表228和/或地址对应表226的动作可由存储器控制单元222依据写入地址产生器223和/或读取地址产生器224的输出来执行。事实上,表1的读写操作顺序(round)与计数值(cnt)的关系为:round=cntmod(ncell×nfec),故以下虽以round作说明,然而实际上round即代表计数值。

表1:

以下列举说明当地址对应表226和/或使用状态表228有变化时,该次操作的细节及存储器221的配置情形(图4a~4m)。

round=1:依据ti区块大小、子区块大小及计数值,写入地址产生器223得知目前需写入一个新的子区块,并且从使用状态表228得知子区块450为空,于是产生对应子区块450的地址(c0,r0)的写入地址,另一方面读取地址产生器224产生对应子区块410的地址(c0,r0)的读取地址(步骤s350);之后步骤s360判断为是,接下来(步骤s370),写入地址产生器223将使用状态表228中对应子区块450的逻辑值由1改为0,并且将地址对应表226中对应第5逻辑子区块地址的值填入4(对应子区块450);

round=2:依据ti区块大小、子区块大小及计数值,读取地址产生器224及写入地址产生器223分别产生对应子区块410的地址(c1,r0)的读取地址及对应子区块450的地址(c0,r1)的写入地址(步骤s350),之后步骤s360判断为否;

round=3:依据ti区块大小、子区块大小及计数值,写入地址产生器223得知目前需写入一个新的子区块,并且从使用状态表228得知子区块460为空,于是产生对应子区块460的地址(c0,r0)的写入地址,另一方面读取地址产生器224产生对应子区块410的地址(c2,r0)的读取地址(步骤s350);之后步骤s360判断结果为是,接下来(步骤s370),写入地址产生器223将使用状态表228中对应子区块460的逻辑值由1改为0,并且将地址对应表226中对应第6逻辑子区块地址的值填入5(对应子区块460);

……

round=6:依据ti区块大小、子区块大小及计数值,读取地址产生器224可以决定下一个要读取的逻辑子区块为2,而依据地址对应表226,逻辑子区块2对应实体子区块2(即子区块430),于是产生对应子区块430的地址(c0,r0)的读取地址,另一方面写入地址产生器223产生对应子区块450的地址(c1,r1)的写入地址(步骤s350);步骤s360判断结果为否;

……

round=15:依据ti区块大小、子区块大小及计数值,读取地址产生器224得知此次操作将读取子区块410的最后一个单元a17(即地址(c4,r1)),另一方面,写入地址产生器223产生对应子区块460的地址(c3,r0)的写入地址(步骤s350);步骤s360判断结果为是,读取地址产生器224将使用状态表228中对应子区块410的标志改成1(步骤s370),亦即表示存储器控制单元222释放子区块410;

……

round=20:与round=15类似,读取地址产生器224得知此次操作将读取子区块430的最后一个单元a37(即地址(c4,r1)),另一方面,写入地址产生器223产生对应子区块460的地址(c4,r1)的写入地址(步骤s350);步骤s360判断结果为是,读取地址产生器224将使用状态表228中对应子区块430的标志改成1(步骤s370),亦即表示存储器控制单元222释放子区块430;

round=21:与round=1类似,读取地址产生器224产生对应子区块420的地址(c0,r0)的读取地址,写入地址产生器223产生对应子区块410的地址(c0,r0)的写入地址(步骤s350);步骤s360判断结果为是,接下来(步骤s370),写入地址产生器223在使用状态表228中对应子区块410的逻辑值由1改为0,并且在地址对应表226中将逻辑子区块7对应至实体子区块0(即子区块410);

……

round=23:与round=3类似,读取地址产生器224产生对应子区块420的地址(c2,r0)的读取地址,写入地址产生器223产生对应子区块430的地址(c0,r0)的写入地址(步骤s350);步骤s360判断结果为是,接下来(步骤s370),写入地址产生器223在使用状态表228中对应子区块430的逻辑值由1改为0,并且在地址对应表226中将逻辑子区块8对应至实体子区块2(即子区块430);

……

round=35:与round=15类似,读取地址产生器224得知此次操作将读取子区块420的最后一个单元a19(即地址(c4,r1)),写入地址产生器223产生对应子区块430的地址(c3,r0)的写入地址(步骤s350);步骤s360判断结果为是,因此在步骤s370中将使用状态表228中对应子区块420的标志改成1;

……

round=40:与round=35类似,读取地址产生器224得知此次操作将读取子区块440的最后一个单元a39(即地址(c4,r1)),写入地址产生器223产生对应子区块430的地址(c4,r1)的写入地址(步骤s350);步骤s360判断结果为是,因此在步骤s370中将使用状态表228中对应子区块440的标志改成1。

至此已完成ti区块a的读取及ti区块b的写入程序,接下重复以上的流程来读写其他的ti区块。由表2及图4l与图4m可以推知接下来读取ti区块b及写入ti区块c的详细流程,故不再赘述。最后当所有的ti区块都处理完毕,即结束本发明的时间解交错流程(步骤s380、步骤s390)。上述的ti区块c于时间上紧接于该ti区块b之后,ti区块b于时间上紧接于该ti区块a之后。

表2:

上述的存储器子区块可以设计为存储器221的一个同列存取存储单位(简称为tile),可进一步降低对存储器221的存取次数。本发明可适用但不限于dvb-t2(digitalvideobroadcasting,数字视频广播)及dvb-c2的传输标准,根据其规范,一个ti区块至多可包含219+215个单元,因此可以算出下表中的nfec_ti_max=(219+215)/ncell,行数及最大列数可分别依据ncell-及nfec_ti_max算出。

表3:

表4为本发明与已知方法所需存储器大小的比较。假设一个单元的大小为32位,本发明一个存储器子单元的大小设计为r=c=16,也就是可以储存256个单元,因此一个存储器子单元的大小为256×32=8192位=1kb。以nldpc=64800且nr=6480为例,已知方法所需存储器的大小为4,860kb,而本发明的存储器221的大小为2,835kb,加上地址对应表226及使用状态表228所占的大小((2,835+58,320)/8/1024=7.5kb)共需2,842.5kb,仅需已知方法的58.5%左右的存储器,可见本发明确实有效减少对存储器的需求。

表4:

虽然本发明的实施例如上所述,然而该些实施例并非用来限定本发明,本领域技术人员可依据本发明的明示或隐含的内容对本发明的技术特征施以变化,凡此种种变化均可能属于本发明所寻求的专利保护范围,换言之,本发明的专利保护范围须视本说明书的权利要求为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1