时间解交错电路与执行时间解交错处理的方法与流程

文档序号:11845135阅读:261来源:国知局
时间解交错电路与执行时间解交错处理的方法与流程

本发明是关于时间解交错的电路与方法,尤其是关于可以减少对系统存储器的存取次数的时间解交错的电路与方法。



背景技术:

一般而言,地面数位视讯广播(digital video broadcasting-Second Generation terrestrial,DVB-T2)的广播信号在发送之前会先将数据经过单元交错(Cell-interleaving,CI)运算及时间交错(Time-interleaving,TI)运算以尽可能降低传输过程中各种干扰对传输数据的影响,接收端才可以取得正确的传输数据,而信号接收端在接收信号后必须先经过时间解交错(Time de-interleaving)运算及单元解交错(Cell de-interleaving)运算才能将数据正确解码。请参阅图1,其是已知信号接收端的功能方块图。信号接收端100包含调制解调电路(demodulator)110、频率解交错(frequency de-interleaving)电路120、时间解交错电路130、单元解交错电路140、去映射(de-mapping)电路150以及解码电路160。输入信号为调制过后的信号(例如基于正交分频多工(orthogonal frequency division multiplexing,OFDM)的正交振幅调制(quadrature amplitude modulation,QAM)信号),经过调制解调电路110处理后所得到的交错信号包含两个正交的分量(I、Q)及信号杂讯比(signal to noise ratio,SNR)等资讯,之后经由频率解交错电路120、时间解交错电路130、单元解交错电路140的解交错运算后,使该些资讯以正确的顺序重新排列,再经过去映射电路150的运算后还原成位元资讯,最后经由解码电路160的运算后(例如低密度奇偶检查(Low-density parity-check,LDPC)及BCH解码)得到传输数据。

时间交错的运算是以一个TI区块为单位,每一个TI区块包含NFEC个向前错误校正(forward error correction,以下简称FEC)区块,而每个FEC区块包含Ncell个单元(cell)。假设一个TI区块包含4个FEC区块(NFEC=4),每个FEC区块包含40个单元(Ncell=40),在传送端执行时间交错运算时,其动态随机存取存储器(dynamic random access memory,DRAM)的大小设定为Nr列及Nc栏,其中Nr为Ncell/5(此例 中等于8),Nc为NFEC×5(此例中等于20)。请参阅图2a及图2b,其是已知用于时间交错运算的存储器的配置图。存储器的大小为Nr×Nc个单元,每一格的数字代表所写入/读出(图2a为写入的顺序,图2b为读出的顺序)的存储器位置的顺序。在此例中,存储器每次写入/读出的字组(word)大小等于一个单元的大小(例如都为32bits),在图2a的写入程序中,从左上角开始直向依序写入单元,写满一栏后再换至下一栏,而在图2b的读出程序中,从左上角开始横向依序读出单元,读完一列后再换下一列,若图2a中写入的地址顺序亦代表写入的单元的编号,则写入的单元的编号顺序为:0、1、2、3、…、79、80、…、158、159,而读出的单元的编号顺序为:0、8、16、24、…、155、4、…、151、159,因此达到将单元分散的效果。

请参阅图3,其是已知信号接收端的时间解交错电路及单元解交错电路的功能方块图。时间解交错电路130包含DRAM 132、写入地址产生器134及读取地址产生器136。藉由写入地址产生器134及读取地址产生器136的控制,写入TI区块的每个单元时从DRAM 132的左上角开始直向依序写入,满一栏后再换至下一栏,而读取时从DRAM 132的左上角开始横向依序读出,读完一列后再换下一列,以完成时间解交错运算,然而其栏与列的个数分别等于传送端的列与栏的个数,因此DRAM132的大小设计为Nc×Nr(如果以横向的顺序写入DRAM 132,而以直向的顺序读出,则DRAM 132的大小为Nr×Nc)。请参阅图4a及图4b,其是已知用于时间解交错运算且存储器频宽与单元大小相同时的存储器读写位置的顺序。同样的,每一格的数字代表所写入/读出(图4a为写入的顺序,图4b为读出的顺序)的存储器地址的顺序,而且DRAM 132每次写入/读出的字组大小同样等于一个单元的大小。因此在图4a的写入程序中,从左上角开始直向依序写入单元,写满一栏后再换至下一栏,而在图4b的读出程序中,从左上角开始横向依序读出单元,读完一列后再换下一列。DRAM 132所收到的单元编号的顺序即为单元交错后的顺序:0、8、16、24、…、155、4、…、151、159,以图4a的顺序写入DRAM 132后,单元编号在DRAM 132中的排列正好与图4b所示的读取顺序的号码相同,因此从DRAM 132所读出的单元的编号顺序为:0、1、2、3、…、79、80、…、158、159,而完成时间解交错的运算(共需对DRAM 132写入/读取160+160=320次)。之后单元解交错电路140再以FEC区块为单位(单元编号0~39为第0个FEC区块、单元编号40~79为第1个FEC区块,以此类推),利用CDI(Cell De-interleaving,单元解交错)暂存器142(一般以SRAM实作)依据交换函数(permutation function)进行单元解交错的运算。

为了适应系统单芯片(system on chip,SoC)设计的潮流,时间解交错电路130所使用的DRAM 132必须与系统的其他电路共用,然而因为DRAM 132的频宽有限,因此每个电路皆必须尽可能减少对DRAM 132的存取次数,才不致于拖累系统的效能。减少DRAM 132存取次数的方法之一,便是增加其频宽,使每次读写的字组增大。假设DRAM 132的频宽变为原来的4倍(字组变为128bits,每次读写4个单元),存储器的配置虽不变(同样为20×8),但其写入/读出的地址顺序则会改变。请参阅图5a及图5b,其是已知用于时间解交错处理且存储器频宽为单元大小的4倍时存储器中单元的储存地址及读写顺序的一示意图。直向的数字(0~159)代表单元的编号,横向的数字(图5a为0~39,图5b为0~159)代表写入/读取的顺序。图5a为写入DRAM 132的顺序,写入时同样从左上角开始直向依序写入字组,第0次写入时写入包含单元编号0、8、16、24的字组,第1次写入时写入包含单元编号32、40、48、56的字组,以此类推,因此160个单元总共需要对DRAM 132进行40次的写入操作;图5b为读取DRAM 132的顺序,读取时从左上角开始横向依序读取字组,但需以单元编号为0、1、2、3、…的顺序读出单元,所以第0次读取包含单元编号0、8、16、24的字组,但只取单元编号0使用,第1次读取包含单元编号1、9、17、25的字组,但只取单元编号1使用,以此类推,所以写入时的每个字组于读取时皆要被读取4次,40个字组共需读取160次,因此,以此方法对160个单元进行解交错处理共需对DRAM 132进行的写入/读取次数为40+160=200次。请参阅图6a及图6b,其是已知用于时间解交错处理且存储器频宽为单元大小的4倍时存储器中单元的储存地址及读写顺序的另一示意图。图6a为写入DRAM 132的顺序,在这个操作方法中,虽然每次传送4个单元的数据给DRAM 132,但只写入一个单元,也就是包含单元编号0、8、16、24的字组分4次写入(对应写入次数第0次、第1次、第2次、第3次),包含单元编号32、40、48、56的字组分4次写入(对应写入次数第4次、第5次、第6次、第7次),以此类推,所以40个字组分160次写入;图6b为读取DRAM 132的顺序,读取时则依所需的单元编号的顺序进行读取,因此第0次读取包含单元编号0、1、2、3的字组,第1次读取包含单元编号4、5、6、7的字组,以此类推,160个单元共需读取40次。因此以此方法对160个单元进行解交错处理共需对DRAM 132进行的写入/读取次数为160+40=200次。

虽然提高DRAM的频宽(图5a/5b及图6a/6b的方法)可以减少对DRAM 132的写入或读取次数,但对于存储器使用频率高的系统,若能进一步减少进行时间解交错处理时对存储器的读写次数,有助提升系统的整体效能。



技术实现要素:

鉴于先前技术的不足,本发明的一目的在于提供一种时间解交错电路及时间解交错的方法,以减少时间解交错程序对存储器的读写次数。

本发明揭示了一种时间解交错电路,位于一通信系统的信号接收端,用来对一交错信号进行时间解交错处理,该交错信号包含多个单元,该时间解交错电路包含:一存储器模块,用来储存该些单元,该些单元以多个单元为单位形成多个单元组,该存储器模块的读写是以一单元组为单位;以及一暂存存储器模块,自该存储器模块暂存该些单元的部分,以安排该些单元的输出顺序。

本发明另揭示了一种时间解交错电路,位于一通信系统的信号接收端,用来对一交错信号进行时间解交错处理,该交错信号包含多个单元,该时间解交错电路包含:一存储器模块,用来储存该些单元,该些单元以多个单元为单位形成多个单元组,该存储器模块的读写是以一单元组为单位;以及一暂存存储器模块,用来暂存欲写入至该存储器模块的该些单元的部分,以安排该些单元写入至该存储器模块的顺序。

本发明另揭示了一种时间解交错的方法,应用于一通信系统的一时间解交错电路,用来对一交错信号进行时间解交错处理,该交错信号包含多个单元,该时间解交错电路包含一存储器模块,该存储器模块的读写是以一单元组为单位,每一单元组包含多个单元,该方法包含:将该交错信号的该些单元写入该存储器模块;以及自该存储器模块读取该些单元之后,选择性地暂存该些单元;其中,在该时间解交错处理的过程中,对同一单元组而言,对该存储器模块的写入操作及读取操作各为一次。

本发明另揭示了一种时间解交错的方法,应用于一通信系统的一时间解交错电路,用来对一交错信号进行时间解交错处理,该交错信号包含多个单元,该时间解交错电路包含一存储器模块,该存储器模块的读写是以一单元组为单位,每一单元组包含多个单元,该方法包含:于接收该交错信号的该些单元之后及将该些单元写入该存储器模块之前,选择性地暂存该些单元;选取该些暂存单元的部分以组成 一单元组;将该单元组写入该存储器模块;以及自该存储器模块读取该单元组;其中,在该时间解交错处理的过程中,对该单元组而言,对该存储器模块的写入操作及读取操作各为一次。

本发明的时间解交错电路及执行时间解交错运算的方法利用额外的暂存存储器来减少时间解交错程序对系统的主存储器的读写次数。相较于已知技术,本发明中由同样单元所组成的单元组对主存储器的写入及读取次数各为一次,因此可以更有效地减少对系统的主存储器的读写次数,使系统效能获得提升。

有关本发明的特征、实作与功效,兹配合附图作较佳实施例详细说明如下。

附图说明

图1为已知信号接收端的功能方块图;

图2a及图2b为已知用于时间交错处理的存储器的配置图;

图3为已知信号接收端的时间解交错电路及单元解交错电路的功能方块图;

图4a及图4b为已知用于时间解交错处理当存储器频宽与单元大小相同时的存储器读写位置的顺序;

图5a及图5b为已知用于时间解交错处理当存储器频宽为单元大小的4倍时存储器中单元的储存地址及读写顺序的一示意图;

图6a及图6b为已知用于时间解交错处理当存储器频宽为单元大小的4倍时存储器中单元的储存地址及读写顺序的另一示意图;

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

图8a及图8b为本发明用于时间解交错处理当存储器频宽为单元大小的4倍时存储器714及存储器721中的单元编号及读写顺序的示意图。

图9a~图9d为本发明用于时间解交错处理当存储器频宽为单元大小的4倍时存储器714及存储器721中的存储器地址、单元编号及读写顺序的另一示意图;

图10a~图10d为本发明用于时间解交错处理当存储器频宽为单元大小的2倍时存储器714及存储器721中的存储器地址、单元编号及读写顺序的示意图;

图11a~图11d为本发明用于时间解交错处理当存储器频宽为单元大小的8倍时存储器714及存储器721中的存储器地址、单元编号及读写顺序的示意图;

图12a及图12b为本发明在不同LDPC区块长度及不同调制模式下的存储器的使用量及存储器的读写次数;

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

图14a及图14b为其本发明用于时间解交错处理当存储器频宽为单元大小的4倍时存储器1314及存储器1321中的单元编号及读写顺序的一示意图。

图15a~图15d为本发明用于时间解交错处理当存储器频宽为单元大小的4倍时存储器1314及存储器1321中的存储器地址、单元编号及读写顺序的另一示意图;

图16a~图16d为本发明用于时间解交错处理当存储器频宽为单元大小的2倍时存储器1314及存储器1321中的存储器地址、单元编号及读写顺序的示意图;

图17a~图17d为本发明用于时间解交错处理当存储器频宽为单元大小的8倍时存储器1314及存储器1321中的存储器地址、单元编号及读写顺序的示意图;

图18a及图18b为本发明在不同LDPC区块长度及不同调制模式下的存储器的使用量及存储器的读写次数;

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

图20为本发明的时间解交错的方法的另一实施例的流程图。

符号说明

100:信号接收端

110:调制解调电路

120:频率解交错电路

130:时间解交错电路

140:单元解交错电路

150:去映射电路

160:解码电路

132:动态随机存取存储器

134、713、1313:写入地址产生器

136、715、1315:读取地址产生器

142:CDI暂存器

700、1300:时间解交错电路

710、1310:储存电路

711、716、1311:缓存单元

712、1312:存储器模块

714、721、1314、1321:存储器

720、1320:暂存存储器模块

722、1322:地址产生器

730、1330:选择单元

S1910~S1930、S2010~S2050:步骤

具体实施方式

以下说明内容的技术用语是参照本技术领域的习惯用语,如本说明书对部分用语有加以说明或定义,该部分用语的解释是以本说明书的说明或定义为准。

本发明揭露内容包含时间解交错电路及时间解交错的方法,能够减少时间解交错程序对存储器的读写次数。在实施为可能的前提下,本技术领域具有通常知识者能够依本说明书的揭示内容来选择等效的元件或步骤来实现本发明,亦即本发明的实施并不限于后叙的实施例。由于本发明的时间解交错电路所包含的部分元件单独而言可能为已知元件,因此在不影响该装置发明的充分揭示露及可实施性的前提下,以下说明对于已知元件的细节将予以节略。此外,本发明的时间解交错的方法可藉由本发明的时间解交错电路或其等效装置来执行,在不影响该方法发明的充分揭示及可实施性的前提下,以下方法发明的说明将着重于步骤内容而非硬件。

请参阅图7,其是本发明时间解交错电路的一实施例的功能方块图。时间解交错电路700包含储存电路710、暂存存储器模块720以及选择单元730。储存电路710包含缓存单元711、存储器模块712以及缓存单元716。在此实施例中,存储器模块712的频宽为w个位元(bit)(亦即每次读写的字组为w个位元),而一个单元的大小为c个位元,当缓存单元711(例如是先进先出暂存器)储存w/c个单元(w个元位)后,再一并写入存储器模块712的存储器714;同理,从存储器模块712读出的字组也先暂存至缓存单元716(例如是先进先出暂存器),之后再以单元为单位输出至暂存存储器模块720及选择单元730。存储器模块712包含写入地址产生器713及读取地址产生器715,分别用来对存储器714的写入及读取操作时产生目标存储器地址;同理,暂存存储器模块720包含地址产生器722,用来产生存储器721的读写地址。在一个较佳的实施例中,存储器714为DRAM,存储器721为静态随机存取存储器(static random access memory,SRAM)。选择单元730选择性地以储存电路710的直接输出或是以暂存存储器模块720的暂存数据作为时间解交错电路700的输出。

请参阅图8a,其是本发明用于时间解交错处理且存储器频宽为单元大小的4倍时存储器714中的单元编号及写入顺序的一示意图。同样的,直向的号码代表单元编号(0~159),横向的数字(0~39)为写入存储器714的顺序。160个单元分布在20列及8栏,写入时以一个单元组为单位,从左上角开始直向依序写入单元组,写满一栏后再换至下一栏。此实施例中一个单元组(即一个字组)包含4个单元,160个单元共被分为40个单元组,所以总共需要40次的写入操作。请参阅图8b,其是本发明用于时间解交错处理且存储器频宽为单元大小的4倍时存储器714及存储器721中的单元编号及读取顺序的一示意图。单元自存储器714读出时同样以一个单元组为单位,因此160个单元需要40次的读取操作,但读取的顺序为从左上角开始横向依序读取单元组,读完一列后再换至下一列。第0次读取的单元编号为0、8、16、24(如图中斜线区块所示的单元组),此单元组先暂存在缓存单元716(未绘示),缓存单元716以一个单元大小为单位输出数据,输出的单元部分进到暂存存储器模块720的存储器721,部分直接输出给选择单元730。由图可见,在第0次的读取,编号为0的单元直接输出给选择单元730,其他编号的单元则写入存储器721的第一列;同理,在第1次的读取中,编号为1的单元直接输出给选择单元730,其他编号的单元(9、17、25)则写入存储器721的第2列;以此类推。待第7次读取后(此时编号为7的单元已直接输出给选择单元730,其他编号的单元(15、23、31)则写入存储器721的第8列),选择单元130选择从存储器721输出暂存的单元(输出的顺序为单元编号8、9、10、11、…、15、16、17…、30、31),并且连续输出24个后(即输出存储器721中的所有暂存单元),于接下来的对存储器714的读取操作中,再继续选择以缓存单元716的部分输出直接作为时间解交错电路700的输出,而其他未直接输出的部分则暂存至存储器721。上述的操作将一直重复直到将存储器714中的所有单元读取完毕,时间解交错电路700所输出的单元顺序即为解交错处理后的结果。综上所述,在本实施例中,藉由存储器721的辅助,可安排或改变该些单元的输出顺序,对同一个单元组而言,只需对存储器714进行各一次的写入操作及读取操作,即可完成解交错处理。所以本实施例的时间解交错电路700只需对存储器714总共进行40+40=80次的读写操作,相较于已知技术大幅减少对存储器714的读写次数。

以下将进一步以不同的单元个数(64个)及频宽与单元大小的比值(w/c)来说明本发明对存储器714及721进行读写操作的细节。请参阅图9a、图9b、图9c及图9d,其是本发明用于时间解交错处理且存储器频宽为单元大小的4倍时存储器714 及存储器721中的存储器地址、单元编号及读写顺序的另一示意图。图9a为存储器714的地址编号,共有16个(0~15)地址,每个地址可以写入一个单元组(包含4个单元)。图9b为写入存储器714的顺序,从左上角开始横向依序写入单元组,写满一列后再换至下一列,写入地址产生器713遵循以下的规则产生地址:

WRi=Ci×Nr+Ri}

其中i代表缓存单元711依序输出的单元组的编号,共有个单元组(除数4代表一个字组包含4个单元),mod为取余数的运算子,div为取商的运算子,WRi为写入的地址,因此写入地址及写入的内容如下:

第0次在存储器地址0写入包含编号{0、8、16、24}等单元的单元组;

第1次在存储器地址8写入包含编号{32、40、48、56}等单元的单元组;

第2次在存储器地址1写入包含编号{1、9、17、25}等单元的单元组;

第14次在存储器地址7写入包含编号{7、15、23、31}等单元的单元组;

第15次在存储器地址15写入包含编号{39、47、55、63}等单元的单元组。

图9c为读取存储器714的顺序,从左上角开始直向依序读取单元组,读完一栏后再换至下一栏,读取地址产生器715遵循以下的规则产生地址:

Ci=i div Nr

Ri=i mod Nr

RDi=Ci×Nr+Ri=i}

RDi为读取的地址,因此读取地址及读取的内容如下:

第0次在存储器地址0读取包含编号{0、8、16、24}的单元组,编号为0的单元直接输出,编号8、16、24的单元暂存至存储器721;

第1次在存储器地址1读取包含编号{1、9、17、25}的单元组,编号为1的单元直接输出,编号9、17、25的单元暂存至存储器721;

第2次在存储器地址2读取包含编号{2、10、18、26}的单元组,编号为2的单元直接输出,编号10、18、26的单元暂存至存储器721;

第14次在存储器地址14读取包含编号{38、46、54、62}的单元组,编号为38的单元直接输出,编号46、54、62的单元暂存至存储器721;

第15次在存储器地址15读取包含编号{39、47、55、63}的单元组,编号为39的单元直接输出,编号47、55、63的单元暂存至存储器721。

存储器721可以同时储存个单元(w代表一个字组的数据量,c代表一个单元的数据量),本实施例w/c=4,因此存储器721可同时储存Nr×3(=24)个单元。图9d为存储器721的地址编号,共有24个(0~23)地址,写入时地址产生器722是遵循以下的规则产生地址:

for(i=0;i<3Nr;i=i+1){

BufWRi=i

}

读取存储器721时地址产生器722遵循以下的规则产生地址:

for(i=0;i<3Nr;i=i+1){

<mrow> <mi>Buf</mi> <msub> <mi>RD</mi> <mi>i</mi> </msub> <mo>=</mo> <mrow> <mo>(</mo> <mi>i</mi> <mi>mod</mi> <msub> <mi>N</mi> <mi>r</mi> </msub> <mo>)</mo> </mrow> <mo>&times;</mo> <mrow> <mo>(</mo> <mfrac> <mi>w</mi> <mi>c</mi> </mfrac> <mo>-</mo> <mn>1</mn> <mo>)</mo> </mrow> <mo>+</mo> <mrow> <mo>(</mo> <mi>i </mi> <mi>div</mi> <msub> <mi>N</mi> <mi>r</mi> </msub> <mo>)</mo> </mrow> </mrow>

}

在此实施中,选择单元730每次选择从缓存单元716连续输出Nr(=8)个单元后,便接着从存储器721连续输出(w/c-1)×Nr个单元,也就是输出所有暂存于存储器721中的单元。

请参阅图10a、图10b、图10c及图10d,其是本发明用于时间解交错处理当存储器频宽为单元大小的2倍时存储器714及存储器721中的存储器地址、单元编号及读写顺序的示意图。图10a为存储器714的地址编号,共有32个(0~31)地址,每个地址可以写入一个单元组(包含2个单元)。图10b为写入存储器714的顺序,从左上角开始横向依序写入单元组,写满一列后再换至下一列,写入地址产生器713遵循以下的规则产生地址:

WRi=Ci×Nr+Ri

}

其中i代表缓存单元711依序输出的单元组的编号,共有个单元组(除数2代表一个字组包含2个单元)。

图10c为读取存储器714的顺序,从左上角开始直向依序读取单元组,读完一栏后再换至下一栏,读取地址产生器715是遵循以下的规则产生地址:

Ci=i div Nr

Ri=i mod Nr

RDi=Ci×Nr+Ri=i

}

存储器721可以同时储存个单元,本实施例w/c=2,因此存储器721可同时储存Nr(=8)个单元。图10d为存储器721的地址编号,共有8个(0~7)地址,写入时地址产生器722遵循以下的规则产生地址:

for(i=0;i<Nr;i=i+1){

BufWRi=i

}

读取存储器721时地址产生器722遵循以下的规则产生地址:

for(i=0;i<Nr;i=i+1){

BufRDi=i

}

在此实施中,选择单元730每次选择从缓存单元716连续输出Nr(=8)个单元后,便接着从存储器721连续输出(w/c-1)×Nr个单元。

请参阅图11a、图11b、图11c及图11d,其本发明用于时间解交错处理且当存储器频宽为单元大小的8倍时存储器714及存储器721中的存储器地址、单元编号及读写顺序的示意图。图11a为存储器714的地址编号,共有8个(0~7)地址,每个地址可以写入一个单元组(包含8个单元)。图11b为写入存储器714的顺序,写入地址产生器713遵循以下的规则产生地址:

WRi=Ci×Nr+Ri

}

其中i代表缓存单元711依序输出的单元组的编号,共有个单元组(除数8代表一个字组包含8个单元)。

图11c为读取存储器714的顺序,读取地址产生器715遵循以下的规则产生地址:

Ci=i div Nr

Ri=i mod Nr

RDi=Ci×Nr+Ri=i

}

存储器721可以同时储存个单元,本实施例w/c=8,因此存储器721可同时储存Nr×7(=56)个单元。图11d为存储器721的地址编号,共有56个(0~55)地址,写入时地址产生器722遵循以下的规则产生地址:

for(i=0;i<7Nr;i=i+1){

BufWRi=i

}

读取存储器721时地址产生器722遵循以下的规则产生地址:

for(i=0;i<7Nr;i=i+1){

<mrow> <mi>Buf</mi> <msub> <mi>RD</mi> <mi>i</mi> </msub> <mo>=</mo> <mrow> <mo>(</mo> <mi>i</mi> <mi>mod</mi> <msub> <mi>N</mi> <mi>r</mi> </msub> <mo>)</mo> </mrow> <mo>&times;</mo> <mrow> <mo>(</mo> <mfrac> <mi>w</mi> <mi>c</mi> </mfrac> <mo>-</mo> <mn>1</mn> <mo>)</mo> </mrow> <mo>+</mo> <mrow> <mo>(</mo> <mi>i</mi> <mi>div</mi> <msub> <mi>N</mi> <mi>r</mi> </msub> <mo>)</mo> </mrow> </mrow>

}

在此实施中,选择单元730选择从缓存单元716连续输出完Nr(=8)个单元后,便接着从存储器721连续输出(w/c-1)×Nr个单元。

请参阅图12a及图12b,其是本发明在不同LDPC区块长度及不同调制模式下的存储器的使用量及存储器的读写次数。图12a显示不同的LDPC区块长度及不同的调制模式下存储器714与存储器721所需的大小,其中存储器721又细分为上面所讨论的三种态样(频宽大小为单元大小的2倍、4倍及8倍)。图12b显示不同的LDPC区块长度及不同的调制模式下存储器714的读写次数(同样细分为上述的三种态样),以及与已知存储器读写次数的比值。结果显示,在同一种LDPC区块长度及同一种调制模式下,不论频宽大小与单元大小的倍数(w/c)为何,相较于习知的方法,皆能有效降低存储器的读写次数,尤其当w/c愈大时,效果愈显著。

请参阅图13,其是本发明时间解交错电路的另一实施例的功能方块图。时间解交错电路1300包含储存电路1310、暂存存储器模块1320以及选择单元1330。储存电路1310包含缓存单元1311以及存储器模块1312。当交错信号的各单元输入时间解交错电路1300时,一部分会直接传送至选择单元1330,而一部分则储存至暂存存储器模块1320,选择单元1330用以决定选取直接输入的单元或是暂存的单元传送给储存电路1310的缓存单元1311。当缓存单元1311(例如是先进先出暂存器)储存w/c个单元(即一个单元组)后,再一并写入存储器模块1312的存储器714。存储器模块1312包含写入地址产生器1313及读取地址产生器1315,分别用来对存储器1314的写入及读取操作时产生目标存储器地址;同理,暂存存储器模块1320包含地址产生器1322,用来产生存储器1321的读写地址。在一个较佳的实施例中,存储器1314为DRAM,存储器1321为SRAM。

请参阅图14a,其是本发明用于时间解交错处理且当存储器频宽为单元大小的4倍时存储器1314及存储器1321中的单元编号及写入顺序的一示意图。同样的,直向的数字(0~159)代表单元编号,横向的数字(0~39)为写入存储器1314的顺序。单元进入时间解交错电路1300的编号顺序为0、8、16、24、…、152、1、9、153、2、10、…、154,依序暂存至存储器1321,待单元编号3进入时间解交错电路1300后,选择单元1330从存储器读取编号0、1、2的单元,并且连同编号3的单元传送给缓存单元1311(未绘示),该4个单元在缓存单元1311构成一个单元组,之后写入存储器1314;同理,当单元编号11进入时间解交错电路1300后,选择单元1330从存储器读取编号8、9、10的单元,该4个单元在缓存单元1311构成一个单元组,之后写入存储器1314;其余类推。因此160个单元以每4个为一单元组的形式写入,共对存储器1314进行40次的写入操作。请参阅图14b,其是本发明用于时间解交错处理当存储器频宽为单元大小的4倍时存储器1314中单元编号及读取顺序的一示意图。读取的顺序如图中横向的数字所示,读取时同样以一个单元组为单位,160个单元共需读取40次,而输出单元的编号依序为0、1、2、…、79、80、81、…158、159,达到时间解交错处理的效果。综上所述,在本实施例中,藉由存储器1321的辅助,对同一个单元组而言,只需对存储器1314进行各一次的写入操作及读取操作,即可完成解交错处理。所以本实施例的时间解交错电路1300只需对存储器1314进行40+40=80次的读写操作,相较于已知技术大幅减少对存储器1314的读写次数。

以下将进一步以不同的单元个数(64个)及频宽与单元大小的比值(w/c)来说明本发明对存储器1314及1321读写的操作细节。请参阅图15a、图15b、图15c及图15d,其是本发明用于时间解交错处理当存储器频宽为单元大小的4倍时存储器1314及存储器1321中的存储器地址、单元编号及读写顺序的另一示意图。图15a为将输入的单元暂存于存储器1321及将单元组写入存储器1314的顺序。图15b为存储器1321的地址编号,存储器1321可以同时储存个单元,所以共有24个(0~23)地址,写入存储器1321时地址产生器1322是遵循以下的规则产生地址:

for(i=0;i<3Nc;i=i+1){

BufERi=i

}

读取存储器1321时地址产生器1322遵循以下的规则产生地址:

for(i=0;i<3Nc;i=i+1){

<mrow> <mi>Buf</mi> <msub> <mi>RD</mi> <mi>i</mi> </msub> <mo>=</mo> <mrow> <mo>(</mo> <mi>i</mi> <mi>mod</mi> <mrow> <mo>(</mo> <mfrac> <mi>w</mi> <mi>c</mi> </mfrac> <mo>)</mo> </mrow> <mo>-</mo> <mn>1</mn> <mo>)</mo> </mrow> <mo>&times;</mo> <msub> <mi>N</mi> <mi>c</mi> </msub> <mo>+</mo> <mrow> <mo>(</mo> <mi>i </mi> <mi>div</mi> <mrow> <mo>(</mo> <mfrac> <mi>w</mi> <mi>c</mi> </mfrac> <mo>-</mo> <mn>1</mn> <mo>)</mo> </mrow> <mo>)</mo> </mrow> </mrow>

}

图15c为存储器1314的地址编号,共有16个(0~15)地址,每个地址可以写入一个单元组(包含4个单元)。写入存储器1314时(请参阅图15a)从左上角开始横向依序写入单元组,写满一列后再换至下一列,写入地址产生器1313遵循以下的规则产生地址:

Ci=i mod Nc

Ri=i div Nc

}

共有个单元组(除数4代表一个字组包含4个单元),写入地址及写入的内容如下:

第0次从存储器1321读取编号0、1、2的单元,连同直接输入的编号3的单元写入存储器1314的地址0;

第1次从存储器1321读取编号8、9、10的单元,连同直接输入的编号11的单元写入存储器1314的地址2;

第2次从存储器1321读取编号16、17、18的单元,连同直接输入的编号19的单元写入存储器1314的地址4;

第14次从存储器1321读取编号52、53、54的单元,连同直接输入的编号55的单元写入存储器1314的地址13;

第15次从存储器1321读取编号60、61、62的单元,连同直接输入的编号63的单元写入存储器1314的地址15。

图15d为读取存储器1314的顺序,从左上角开始直向依序读取单元组,读完一栏后再换至下一栏,读取地址产生器1315遵循以下的规则产生地址:

}

读取地址及读取的内容如下:

第0次在存储器地址0读取包含单元编号{0、1、2、3}的单元组;

第1次在存储器地址1读取包含单元编号{4、5、6、7}的单元组;

第2次在存储器地址2读取包含单元编号{8、9、10、11}的单元组;

第14次在存储器地址14读取包含单元编号{56、57、58、59}的单元组;

第15次在存储器地址15读取包含单元编号{60、61、62、63}的单元组。

请参阅图16a、图16b、图16c及图16d,其是本发明用于时间解交错处理当存储器频宽为单元大小的2倍时存储器1314及存储器1321中的存储器地址、单元编号及读写顺序的示意图。图16a为将输入的单元暂存于存储器1321及将单元组写入存储器1314的顺序。图16b为存储器1321的地址编号,存储器1321可以同时储存个单元,共有8个(0~7)地址,写入存储器1321时地址产生器1322遵循以下的规则产生地址:

for(i=0;i<Nc;i=i+1){

BufWRi=i

}

读取存储器1321时地址产生器1322遵循以下的规则产生地址:

for(i=0;i<Nc;i=i+1){

BufRDi=i

}

图16c为存储器1314的地址编号,共有32个(0~31)地址,每个地址可以写入一个单元组(包含2个单元)。写入存储器1314时(请参阅图16a)写入地址产生器1313遵循以下的规则产生地址:

Ci=i mod Nc

Ri=i div Nc

<mrow> <msub> <mi>WR</mi> <mi>i</mi> </msub> <mo>=</mo> <msub> <mi>C</mi> <mi>i</mi> </msub> <mo>&times;</mo> <mfrac> <msub> <mi>N</mi> <mi>r</mi> </msub> <mn>2</mn> </mfrac> <mo>+</mo> <msub> <mi>R</mi> <mi>i</mi> </msub> </mrow>

}

共有个单元组(除数2代表一个字组包含2个单元)。

图16d为读取存储器1314的顺序,从左上角开始直向依序读取单元组,读完一栏后再换至下一栏,读取地址产生器1315遵循以下的规则产生地址:

}

请参阅图17a、图17b、图17c及图17d,其是本发明用于时间解交错处理当存储器频宽为单元大小的8倍时存储器1314及存储器1321中的存储器地址、单元编号及读写顺序的示意图。图17a为将输入的单元暂存于存储器1321及将单元组写入存储器1314的顺序。图17b为存储器1321的地址编号,存储器1321可以同时储存个单元,共有56个(0~55)地址,写入存储器1321时地址产生器1322遵循以下的规则产生地址:

for(i=0;i<7Nc;i=i+1){

BufWRi=i

}

读取存储器1321时地址产生器1322遵循以下的规则产生地址:

for(i=0;i<7Nc;i=i+1){

BufRDi=(i mod 7)×Nc+(i div 7)

}

图17c为存储器1314的地址编号,共有8个(0~7)地址,每个地址可以写入一个单元组(包含8个单元)。写入存储器1314时(请参阅图17a)写入地址产生器1313遵循以下的规则产生地址:

Ci=i mod Nc

Ri=i div Nc

}

共有个单元组(除数8代表一个字组包含8个单元)

图17d为读取存储器1314的顺序,读取地址产生器1315遵循以下的规则产生地址:

}

请参阅图18a及图18b,其是本发明在不同LDPC区块长度及不同调制模式下的存储器的使用量及存储器的读写次数。图18a显示不同的LDPC区块长度及不同的调制模式下存储器1314与存储器1321所需的大小,其中存储器1321又细分为上面所讨论的三种态样(频宽大小为单元大小的2倍、4倍及8倍)。图18b显示不同的LDPC区块长度及不同的调制模式下存储器1314的读写次数(同样细分为上述的三种态样),以及与已知存储器读写次数的比值。结果显示,在同一种LDPC区块长度及同一种调制模式下,不论频宽大小与单元大小的倍数(w/c)为何,相较于已知的方法,皆能有效降低存储器的读写次数,尤其当w/c愈大时,效果愈显著。

请参阅图19,其是本发明的时间解交错的方法的一实施例的流程图。除前述的时间解交错电路外,本发明亦相对应地揭示了一种时间解交错的方法,应用于通 信系统的信号接收端。本方法由前揭时间解交错电路700或其等效电路来执行。如图19所示,本发明执行时间解交错的方法之一实施例包含下列步骤:

步骤S1910:提供一储存电路,该储存电路包含一存储器模块。该存储器模块的读写操作以一个字组为单位,一个字组包含K个单元,K为大于1的正整数,例如是前述实施例的2、4、8,但不以此为限;

步骤S1920:将多个单元写入该储存电路,每次写入一个单元组。一个单元组的大小即为一个字组的大小,以图8a为例,每次写入的单元组包含4个单元;以及

步骤S1930:于自该储存电路读取该些单元之后及将该些单元输出之前,选择性地暂存该些单元。每次读取一个单元组的数据量,为了使单元以时间解交错后的顺序输出,每次从储存电路读出的数个单元其中有些不会立即输出,而是先暂存以待稍后使用,以减少对存储器模块的读取次数。

步骤S1930中暂存该单元组的单元时可以选择输出其中一个,而暂存其他的(K-1)个,如图8b的示意图所示。而且如图8b、图9c、图10c、图11c所示,当从该储存电路连续输出Nr个单元后,接下来连续输出Nr×(K-1)个暂存的单元。事实上,在不同的实施方式中,步骤S1930可以于每次读取一个单元组后,暂存全部的单元,而不立即输出,待暂存Nr个单元组后(对应图8a、图9c、图10c及图11c的存储器721的大小分别调整为8×4、8×4、8×2及8×8个),再连续输出所有的暂存的单元。

请参阅图20,其是本发明的时间解交错的方法的另一实施例的流程图。本方法由前揭时间解交错电路1300或其等效电路来执行。如图20所示,本发明时间解交错的方法的一实施例包含下列步骤:

步骤S2010:提供一储存电路,该储存电路包含一存储器模块。该存储器模块的读写操作以一个字组为单位,一个字组包含K个单元,K为大于1的正整数,例如是前述实施例的2、4、8,但不以此为限;

步骤S2020:于接收单元之后及将单元写入该储存电路之前,选择性地暂存单元。为了在之后的读取流程中每次读取的单元组的单元符合时间解交错的顺序,在将接收到的单元写入储存电路前,必须先将部分的单元暂存,以调整单元写入储存电路的顺序。如图14a、图15a、图16a及图17a所示,共有连续Nc×(K-1)个单元被暂存;

步骤S2030:选取该些暂存单元的部分以组成一单元组。连续暂存Nc×(K-1)个单元之后,每当有新接收的单元,即从暂存的单元中选取(K-1)个来跟新接收的单元组成一个单元组;

步骤S2040:将该单元组写入该储存电路。一个单元组的大小即为存储器模块的一个字组的大小,以图14a为例,每次写入的单元组包含4个单元;以及

步骤S2050:自该储存电路读取该单元组。读取时每次读取一个单元组,因为每个单元组的单元顺序于写入该储存电路之前已经过调整,所以读出的单元组的单元顺序即是时间解交错后的单元顺序。

步骤S2020暂存该单元组的单元时可以连续暂存Nc×(K-1)个,如图14a的示意图所示。而且如图14a、图15a、图16a及图17a所示,当连续暂存Nc×(K-1)个单元后,每接收一个新单元,便输出(K-1)个暂存的单元,来与新接收的单元组成一个单元组。事实上,在不同的实施方式中,步骤S2020可以连续暂存Nc×K个单元(对应图14a、图15a、图16a及图17a的存储器1321的大小分别调整为20×4、8×4、8×2及8×8个),之后再连续输出Nc个单元组至该储存电路。

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

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