一种实现第二次交织的方法和系统及一种随机存取内存的制作方法

文档序号:7958640阅读:208来源:国知局
专利名称:一种实现第二次交织的方法和系统及一种随机存取内存的制作方法
技术领域
本发明涉及网络通信技术,特别是涉及一种实现第二次交织的方法和系统及一种随机存取内存(RAM)。
背景技术
在网络通信中,为了在无线传输链路上提供传输服务,在下行信道上通常会对数据流进行编码。其中,一种较为常用的信道编码方案为第二次交织。
目前,第二次交织通过一个行列交互排列的模块交叉来实现。输入到第二次交织的符号数据symbol,如up1,up2,up3,...,upU,被按行写入到如下R2×C2的正交矩阵中up1up2up3...up30up31up32up33...up60...............up,((R2-1)30+1)up,((R2-1)30+2)up,((R2-1)30+3)...up,(R230)]]>在上述R2×C2的正交矩阵中,列数C2固定为30,从左到右的列编号依次为0,1,2,...,29;而行数R2是满足不等式U≤R2C2的最小整数,其中,U是在一个无线帧中的物理信道上的比特数。
在现有技术中,实现第二次交织的过程包括对于接收到的上述R2×C2正交矩阵中的数据,首先对其进行列置换;然后根据按行写的规则,计算R2×C2正交矩阵中当前一个比特数据的输出地址,并根据所计算出的输出地址,将该比特数据写入RAM中,重复执行,直至将R2×C2正交矩阵中的所有比特数据均写入RAM中;当需要读取RAM中的数据时,从RAM中顺序读出所写入的数据,并输出。
由以上描述可以看出,在现有技术中,是以一个比特数据为一次写操作的处理对象,即一次写入操作仅将一个比特的数据写入RAM中。但是,在目前,芯片中RAM的位宽通常不为1,其最小位宽通常为4。因此,在每次执行将一个比特数据写入RAM中特定地址的时候,现有技术必须首先将RAM中该特定地址中已有的数据读出来,然后将所读出的数据与当前需写入RAM中的数据进行拼位,最后才能将拼位后的数据写入RAM中的特定地址。由此可见,在将任意一个比特的数据写入RAM中时,现有技术均必须执行读数据、拼位和写数据三个操作,而执行该三个操作需要占用多个系统周期。另外,在现有技术中,每次将数据写入RAM中,均需要计算写入RAM中的地址,因此,进一步增加了写数据过程所占用的系统周期。这样,如果在每个系统周期均有数据输入,那么,现有技术则根本无法实现第二次交织的过程。
另外,由于在上述R2×C2的正交矩阵中,列数固定为30,这样,如果输入的一个无线帧数据存在压缩的情况,即输入的数据量不是30的倍数,那么,在上述R2×C2的正交矩阵中,数据将无法写满最后一行,从而无法执行后续的列置换和数据拼位写入RAM中的过程,即无法实现第二次交织的过程。

发明内容
有鉴于此,本发明的主要目的在于提供一种实现第二次交织的方法和系统,本发明的另一目的在于提供一种RAM,以便在输入数据连续的情况下,实现第二次交织过程。
为了达到上述目的,本发明的技术方案是这样实现的一种实现第二次交织的方法,该方法基于一种RAM和一种移位寄存器实现,其中,RAM的宽度根据第二次交织后所要求连续输出的有效数据的比特数目确定,其深度为物理信道最大数据承载能力除以该RAM的宽度;移位寄存器的位宽为对应于一次写操作处理对象的比特位数,该方法还包括A、将R2×C2正交矩阵中未处理的对应于一次写操作处理对象的数据写入移位寄存器中;B、对移位寄存器中对应于一次写操作处理对象的数据进行交织;C、将交织后的对应于一次写操作处理对象的数据写入RAM中当前未写入数据的最小地址中;D、重复执行步骤A至步骤C,直至将R2×C2正交矩阵中所有数据均写入RAM中;E、按照RAM中地址从最小到最大依次读取的方式,一次读取RAM一个地址中的数据,根据第二次交织后所要求连续输出的有效比特数据的个数,从一次读取的所有数据中取出有效比特数据输出,重复执行本步骤,直至输出RAM中所有的数据。
所述第二次交织后所要求连续输出的有效数据的比特数目为4;所述RAM的宽度为120比特;所述移位寄存器的位宽为120比特;所述未处理的对应于一次写操作处理对象的数据为R2×C2正交矩阵中当前未处理的前两行数据。
所述步骤B包括根据列间置换模式,对所述120比特位宽的移位寄存器中前30个符号数据和后30个符号数据分别进行交织;在步骤C中,所述将交织后的对应于一次写操作处理对象的数据写入RAM中当前未写入数据的最小地址中的步骤包括首先将所述前30个符号数据交织后的第一个符号数据和所述后30个符号数据交织后的第一个符号数据依次写入RAM中当前未写入数据的最小地址中,然后,将所述前30个符号数据交织后的第二个符号数据和所述后30个符号数据交织后的第二个符号数据依次写入RAM中当前未写入数据的最小地址中,依此类推,直至将所述前30个符号数据交织后的最后一个符号数据和所述后30个符号数据交织后的最后一个符号数据依次写入RAM中当前未写入数据的最小地址中。
所述第二次交织后所要求连续输出的有效数据的比特数目为2;
所述RAM的宽度为60比特;所述移位寄存器的位宽为60比特;所述未处理的对应于一次写操作处理对象的数据为R2×C2正交矩阵中当前未处理的第一行数据。
所述移位寄存器的个数为2;在步骤A中,所述移位寄存器为上次未被写入对应于一次写操作处理对象数据的移位寄存器。
在步骤A中,在执行将数据写入移位寄存器中之前,进一步包括将所述移位寄存器初始化为无效2比特数据。
所述第二次交织后所要求连续输出的有效数据的比特数目为4;在步骤E中,所述从一次读取的所有数据中取出数据并输出的步骤包括E11、从一次读取的所有数据中取出前4个比特数据;E12、判断所取的4个比特数据中是否不包括无效2比特数据,如果不包括,则执行步骤E13,如果包括两个无效2比特数据,则执行步骤E14,如果仅包括一个无效2比特数据,则执行步骤E15;E13、直接输出该4个比特数据,结束当前流程;E14、直接丢弃该4个比特数据,结束当前流程;E15、在所读取的4个比特数据中,丢弃其中一个无效2比特数据;E16、判断当前是否存在之前缓存的2比特有效数据,如果存在,则将之前缓存的2比特有效数据与当前所读取的4个比特数据中的2比特的有效数据拼位成一个4比特有效数据后输出,如果不存在,则缓存所读取4个比特数据中的2比特有效数据。
所述第二次交织后所要求连续输出的有效数据的比特数目为2;在步骤E中,所述从一次读取的所有数据中取出数据并输出的步骤包括E21、从一次读取的所有数据中取出前2个比特数据;
E22、判断所取的2个比特数据是否为无效2比特数据,如果是,则执行步骤E23,否则,执行步骤E24;E23、直接丢弃所取出的数据,结束当前流程;E24、直接输出所取出的数据。
一种实现第二次交织的系统,该系统包括写控制单元、RAM以及读控制单元,写控制单元中包括移位寄存器子单元和写处理子单元,移位寄存器子单元中包括至少一个移位寄存器,其中,RAM的宽度根据第二次交织后所要求连续输出的有效数据的比特数目来确定,其深度为物理信道最大数据承载能力除以该RAM的宽度;移位寄存器的位宽为对应于一次写操作处理对象的比特位数,并且,写处理子单元,用于将R2×C2正交矩阵中未处理的对应于一次写操作处理对象的数据写入移位寄存器中,并对移位寄存器中对应于一次写操作处理对象的数据进行交织后,写入RAM中当前未写入数据的最小地址中;任意一个移位寄存器,用于接收对应于一次写操作处理对象的数据;RAM,用于存储写处理子单元在自身的每个地址中所写入的数据;读控制单元,用于按照对RAM中地址从最小到最大依次读取的方式,一次读取RAM一个地址中的所有数据,并根据第二次交织后所要求连续输出的比特数目,在所读取的所有数据中取出数据。
所述移位寄存器子单元中包括两个移位寄存器;该两个移位寄存器轮流执行接收对应于一次写操作处理对象的数据。
所述写处理单元,进一步用于将移位寄存器子单元中的移位寄存器初始化为无效2比特数据。
该系统进一步包括输出数据处理单元,用于接收读控制单元所取出的数据,并丢弃所接收到数据中的无效2比特数据,根据第二次交织后所要求连续输出的有效数据比特数目,输出所接收到的数据。
所述读控制单元在所读取的所有数据中取出前4个比特的数据;所述输出数据处理单元,用于确定所接收到的4个比特数据中是否不包括无效2比特数据,如果不包括无效2比特数据,则直接输出该4个比特数据,如果包括两个无效2比特数据,则直接丢弃该4个比特数据,如果仅包括一个无效2比特数据,则在所读取的4个比特数据中,丢弃其中一个无效2比特数据并判断当前是否存在之前缓存的2比特有效数据,如果存在,则将之前缓存的2比特有效数据与当前所读取的4个比特数据中的2比特的有效数据拼位成一个4比特有效数据后输出,如果不存在,则缓存所读取4个比特数据中的2比特有效数据。
所述读控制单元在所读取的所有数据中取出前2个比特的数据;所述输出数据处理单元,用于确定所接收到的2个比特数据是否为无效2比特数据,如果是,则直接丢弃该2个比特数据,否则,直接输出该2个比特数据。
一种RAM,该RAM用于存储写处理子单元在自身的每个地址中所写入的数据,并且,该RAM的宽度根据第二次交织后所要求连续输出的有效数据的比特数目来确定,该RAM的深度为物理信道最大数据承载能力除以该RAM的宽度。
由此可见,本发明将R2×C2正交矩阵中至少一行即60比特的数据作为一次写操作的处理对象,这样,在将数据写入RAM中的一个地址时,则无需进行现有技术中读出数据、拼位和写入数据三个操作,而只需进行写入操作,因此,所占用的时间不会大于一个系统周期。另外,在本发明中,每次将数据写入RAM中,只需按照从最小地址到最大地址的方式写入即可,而无需进行写入RAM地址的计算,因此,进一步减少了写数据过程所占用的系统周期。这样,在每个系统周期均有数据输入时,本发明可以实现第二次交织过程。
另外,在本发明中,通过填充无效2比特数据即预先将移位寄存器初始化为无效2比特数据的作法,使得在一个无线帧数据存在压缩的情况时,也能够实现列置换及写入RAM的过程。因此,本发明在一个无线帧数据存在压缩情况下也可以实现第二次交织过程。


图1是本发明系统的基本结构示意图。
图1A是当第二次交织后要求连续输出4比特有效数据时本发明系统的基本结构示意图。
图1B是当第二次交织后连续输出2比特有效数据时本发明系统的基本结构示意图。
图2是本发明系统的优化结构示意图。
图3是在本发明实施例中实现第二次交织过程中写数据的流程图。
图4是在本发明实施例中对120比特位宽的移位寄存器中前30个符号数据和后30个符号数据分别进行交织的示意图。
图5是在本发明实施例中实现第二次交织过程中读数据的流程图。
图6是在本发明实施例中实现连续输出4个有效比特数据的流程图。
具体实施例方式
本发明提出了一种实现第二次交织的方法,其核心思想是预先设置RAM,该RAM的宽度根据第二次交织后所要求连续输出的有效数据的比特数目来确定,其深度则为物理信道最大数据承载能力除以该RAM的宽度;预先设置移位寄存器,该移位寄存器的位宽为对应于一次写操作处理对象的比特位数;将R2×C2正交矩阵中未处理的对应于一次写操作处理对象的数据写入移位寄存器中;对移位寄存器中对应于一次写操作处理对象的数据进行交织;将交织后的对应于一次写操作处理对象的数据写入RAM中当前未写入数据的最小地址中,重复执行,直至将R2×C2正交矩阵中所有数据均写入RAM中;按照RAM中地址从最小到最大依次读取的方式,一次读取RAM一个地址中的数据,取其中第二次交织后所要求连续输出的比特数据进行输出。
其中,为了在数据压缩情况下也可以实现第二次交织过程,每次将数据写入移位寄存器之前,均将移位寄存器初始化为60个无效2比特数据。
本发明还提出了一种实现第二次交织的系统。图1是本发明系统的基本结构示意图。参见图1,本发明系统主要包括写控制单元、RAM以及读控制单元,写控制单元中包括移位寄存器子单元和写处理子单元,移位寄存器子单元中包括至少一个移位寄存器,其中,RAM的宽度根据第二次交织后所要求连续输出的有效数据的比特数目来确定,其深度为物理信道最大数据承载能力除以该RAM的宽度;移位寄存器的位宽为对应于一次写操作处理对象的比特位数,并且,写处理子单元,用于将R2×C2正交矩阵中未处理的对应于一次写操作处理对象的数据写入移位寄存器中,并对移位寄存器中对应于一次写操作处理对象的数据进行交织后,写入RAM中当前未写入数据的最小地址中;任意一个移位寄存器,用于接收对应于一次写操作处理对象的数据;RAM,用于存储写处理子单元在自身的每个地址中所写入的数据;读控制单元,用于按照对RAM中地址从最小到最大依次读取的方式,一次读取RAM一个地址中的所有数据,并根据第二次交织后所要求连续输出的比特数目,取出所读取所有数据中的数据并输出。
在本发明系统中,为了在数据压缩情况下也可以实现第二次交织过程,所述写处理单元,进一步用于将移位寄存器子单元中的移位寄存器初始化为无效2比特数据。
图2是本发明系统的优化结构示意图。参见图2,在本发明系统中,可以进一步包括输出数据处理单元,用于接收读控制单元每次读取时所取出的数据,并删除所接收到数据中的无效2比特数据,根据第二次交织后所要求连续输出的有效数据比特数目,输出所接收到的数据。
参见图1A所示,在本发明中,如果考虑编码速率的要求,即第二次交织后要求连续输出4比特有效数据,那么,对应于一次写操作处理对象的数据为R2×C2正交矩阵中两行120比特的数据,此时,移位寄存器子单元中包括两个120比特位宽的移位寄存器,并且,所述的RAM的宽度为120比特,深度为物理信道最大数据承载能力/120。相应的,图2中所示的输出数据处理单元需要对读控制单元所读取的4比特数据进行删除无效2比特数据以及拼位4比特有效数据的相关处理,从而保证连续输出4比特有效数据。
参见图1B所示,在本发明中,如果不考虑编码速率的要求,即第二次交织后可以连续输出2比特有效数据,那么,对应于一次写操作处理对象的数据为R2×C2正交矩阵中当前未处理的第一行60比特的数据,此时,移位寄存器子单元中包括两个60比特位宽的移位寄存器,并且,所述的RAM的宽度为60比特,深度为物理信道最大数据承载能力/60。相应的,图2中所示的输出数据处理单元只需对读控制单元所读取的2比特数据进行删除无效2比特数据处理,从而保证连续输出2比特有效数据。
为使本发明的目的、技术方案和优点更加清楚,下面结合附图及具体实施例对本发明作进一步地详细描述。
图3是在本发明实施例中实现第二次交织过程中写数据的流程图。参见图3,利用本发明系统,本发明方法实现在第二次交织中将数据写入RAM的过程包括以下步骤步骤301预先设置一个RAM。
这里,所设置RAM的宽度根据第二次交织后所要求连续输出的有效数据的比特数目来确定;所设置RAM的深度则为物理信道最大数据承载能力除以该RAM的宽度。
参见图1A所示,如果考虑第二次交织的编码速率要求,即第二次交织后要求连续输出2个符号数据symbol,1个symbol为3值序列,由2比特表示,2个symbol则为4比特。那么,根据上述实现第二次交织的R2×C2的正交矩阵可以看出,由于数据symbol是被按列从R2×C2的正交矩阵中读出,因此,如果要满足第二次交织的编码速率要求,即一次从RAM中读出4比特的连续数据,也就是说,一次从RAM中读取R2×C2的正交矩阵中连续两行中相同列上的2个数据symbol,那么,在本发明中,应将R2×C2正交矩阵中连续两行120比特的数据作为一次写操作的处理对象,也就是说,所设置RAM的一个地址中应写入R2×C2的正交矩阵中连续两行的数据,即60个symbol为120比特。这样,在本发明中,所设置的RAM的宽度为120比特。并且,第二次交织所涉及的扩频因子为4的物理信道的数据承载能力为38400比特,也就是说,本发明所设置的RAM中应存储38400比特的数据,由于已确定RAM的宽度为120比特,那么,其深度则为物理信道的数据承载能力/宽度=38400/120=320,也就是说,本发明所设置的RAM中有320个地址。因此,可以得到如果考虑第二次交织的编码速率要求,在本步骤中所设置的RAM为320×120比特。
参见图1B所示,如果不考虑第二次交织的编码速率要求,第二次交织后可以连续输出1个symbol,即2比特数据。那么,根据上述实现第二次交织的R2×C2的正交矩阵可以看出,由于数据symbol是被按列从R2×C2的正交矩阵中读出,因此,如果一次从RAM中读出2比特的连续数据,那么,可以将R2×C2正交矩阵中一行60比特的数据作为一次写操作的处理对象,也就是说,所设置RAM的一个地址中可以写入R2×C2的正交矩阵中一行的数据,即30个symbol为60比特。这样,在本发明中,所设置的RAM的宽度为60比特。并且,第二次交织所涉及的扩频因子为4的物理信道的数据承载能力为38400比特,也就是说,本发明所设置的RAM中应存储38400比特的数据,由于已确定RAM的宽度为60比特,那么,其深度则为物理信道的数据承载能力/宽度=38400/60=640,也就是说,本发明所设置的RAM中有640个地址。因此,可以得到如果不考虑第二次交织的编码速率要求,在本步骤中所设置的RAM可以为640×60比特。
步骤302预先在写控制单元中,设置移位寄存器子单元,该移位寄存器子单元中包括两个移位寄存器。
这里,所设置的移位寄存器的位宽为对应于一次写操作处理对象的比特位数。也就是,参见图1A所示,如果第二次交织后要求连续输出4比特有效数据,即对应于一次写操作处理对象的比特位数为R2×C2正交矩阵中当前未处理的前两行120比特的数据,那么,在本步骤中,在移位寄存器子单元中,两个移位寄存器的位宽均为120比特;参见图1B所示,如果第二次交织后可以连续输出2比特有效数据,即对应于一次写操作处理对象的比特位数为R2×C2正交矩阵中当前未处理的第一行60比特的数据,那么,在本步骤中,在移位寄存器子单元中,两个移位寄存器的位宽均为60比特。
步骤303在写控制单元中,写处理子单元将移位寄存器子单元中当前使用的移位寄存器初始化为无效2比特数据。
这里,所述的无效2比特数据为“01”序列。
步骤304在写控制单元中,写处理子单元将R2×C2正交矩阵中对应于一次写操作处理对象的数据写入所设置的一个移位寄存器中。
需要说明的是,在本发明中,两个移位寄存器被轮流使用,也就是说,如果本次使用一个移位寄存器来接收对应于一次写操作处理的数据,那么,下次则使用另一个移位寄存器来接收对应于一次写操作处理的数据。
步骤305在写控制单元中,写处理子单元根据现有的列间置换模式对当前使用的移位寄存器中对应于一次写操作处理对象的数据进行交织处理。
在上述步骤304和步骤305中,所述的现有列间置换表可参见如下表1所示,

表1参见图1A和图4,如果第二次交织后要求连续输出4比特有效数据,那么,本步骤的具体实现过程包括根据列间置换模式,对所述120比特位宽的移位寄存器中前30个symbol的数据和后30个symbol的数据分别进行交织。
步骤306在写控制单元中,写处理子单元将交织后的对应于一次写操作处理对象的数据写入所设置RAM中当前未写入数据的最小地址。
这里,参见图1A所示,如果第二次交织后要求连续输出4比特有效数据,那么,本步骤的具体实现过程包括写处理子单元将交织后120比特的数据写入所设置RAM中当前未写入数据的最小地址,具体为,首先,将所述前30个符号数据交织后的第一个符号数据和所述后30个符号数据交织后的第一个符号数据依次写入RAM中当前未写入数据的最小地址中,然后,将所述前30个符号数据交织后的第二个符号数据和所述后30个符号数据交织后的第二个符号数据依次写入RAM中当前未写入数据的最小地址中,依此类推,直至将所述前30个符号数据交织后的最后一个符号数据和所述后30个符号数据交织后的最后一个符号数据依次写入RAM中当前未写入数据的最小地址中。
参见图1B所示,如果第二次交织后可以连续输出2比特有效数据,那么,本步骤的具体实现过程包括写处理子单元将交织后60比特的数据写入所设置RAM中当前未写入数据的最小地址。
步骤307根据上述步骤303至步骤306所述过程的原理,写控制单元依次执行移位寄存器接收R2×C2正交矩阵中对应于一次写操作处理对象的未处理数据,并进行交织后,写入所设置RAM中当前未写入数据的最小地址中。
需要说明的是,由于在数据存在压缩情况,比如打孔压缩或高层指定压缩时,输入的数据流可能不是30的整数倍。即,在R2×C2的正交矩阵中,可能会出现最后一行中60个比特数据不够的情况;或者,R2×C2的正交矩阵中,虽然最后一行中存在60个比特数据,但是行数为奇数。此时,为了实现第二次交织,则应该将不够的数据按照无效位“01”添加。在具体的实现中,可以通过执行上述步骤303的过程来实现不够的数据按照无效位“01”添加。这是因为,执行上述步骤303的过程,将所设置的移位寄存器分别初始化为无效2比特数据后,在向两个移位寄存器输入数据时,输入的数据更新了其所占用位置的数据,而不够的数据则由预先写入的无效位“01”来组成,从而实现了不够的数据按照无效位“01”添加的目的,避免了现有技术在数据存在压缩情况时无法实现第二次交织的缺点。
图5是在本发明实施例中实现第二次交织过程中读数据的流程图。参见图5,利用本发明系统,本发明方法实现在第二次交织中从RAM中读出数据的过程包括以下步骤步骤501读控制单元将循环变量的当前值设置为1。
步骤502读控制单元按照所设置RAM中地址从最小到最大依次读取的方式,一次读取RAM一个地址中的数据。
步骤503读控制单元每当读取一个地址中的数据,取第二次交织后所要求连续输出的比特数据。
这里,参见图1A所示,如果第二次交织后要求连续输出4比特有效数据,那么,在本步骤中,是取所读取一个地址中120比特数据中的前4个比特数据。
参见图1B所示,如果第二次交织后可以连续输出2比特有效数据,那么,在本步骤中,是取所读取一个地址中60比特数据中的前2个比特数据。
步骤504在本次地址循环中,当读取完RAM中最后一个地址中的数据后,读控制单元将循环变量的当前值加1。
步骤505读控制单元判断循环变量的当前值是否大于30,如果是,则结束当前流程,否则,返回步骤502。
至此,通过上述图3至图5所示的过程,本发明则实现了整个第二次交织的过程。
需要说明的是,在上述图5所示的过程中,如果不考虑编码速率的要求,即保证第二次交织后输出连续2比特有效数据,而在所取出的数据中又很可能包括无效2比特数据,那么,参见图2,在上述步骤503中,可以进一步包括输出数据处理单元接收读控制单元所取出的2比特数据,判断该2比特数据是否为无效2比特数据“01”,如果是,则删除该无效2比特数据,即不进行输出,如果不是,那么,则直接输出所读取的该2比特数据。
图6是在本发明实施例中实现连续输出4个有效比特数据的流程图。参见图6,在本发明中,如果考虑编码速率的要求,保证第二次交织后实现输出连续4个有效比特数据,那么,参见图2,本发明在上述步骤503中可以进一步包括以下步骤步骤601输出数据处理单元接收读控制单元所取出的4比特数据,判断该4个比特数据中是否不包括无效2比特数据,如果不包括,则执行步骤602,如果包括两个无效2比特数据,则执行步骤603,如果仅包括一个无效2比特数据,则执行步骤604。
步骤602输出数据处理单元直接输出所读取的4个比特数据,结束当前流程。
步骤603输出数据处理单元直接丢弃所读取的4个比特数据,结束当前流程。
步骤604输出数据处理单元在所读取的4个比特数据中,丢弃其中一个无效2比特数据。
步骤605输出数据处理单元判断当前是否存在之前缓存的2比特有效数据,如果是,则执行步骤606,否则,执行步骤607。
步骤606输出数据处理单元将之前缓存的2比特有效数据与当前所读取的4个比特数据中的2比特的有效数据拼位成一个4比特有效数据,并输出,结束当前流程。
步骤607输出数据处理单元缓存所读取4个比特数据中的2比特有效数据。
总之,以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种实现第二次交织的方法,其特征在于,该方法基于一种随机存取内存RAM和一种移位寄存器实现,其中,RAM的宽度根据第二次交织后所要求连续输出的有效数据的比特数目确定,其深度为物理信道最大数据承载能力除以该RAM的宽度;移位寄存器的位宽为对应于一次写操作处理对象的比特位数,该方法还包括A、将R2×C2正交矩阵中未处理的对应于一次写操作处理对象的数据写入移位寄存器中;B、对移位寄存器中对应于一次写操作处理对象的数据进行交织;C、将交织后的对应于一次写操作处理对象的数据写入RAM中当前未写入数据的最小地址中;D、重复执行步骤A至步骤C,直至将R2×C2正交矩阵中所有数据均写入RAM中;E、按照RAM中地址从最小到最大依次读取的方式,一次读取RAM一个地址中的数据,根据第二次交织后所要求连续输出的有效比特数据的个数,从一次读取的所有数据中取出有效比特数据输出,重复执行本步骤,直至输出RAM中所有的数据。
2.根据权利要求1所述的方法,其特征在于,所述第二次交织后所要求连续输出的有效数据的比特数目为4;所述RAM的宽度为120比特;所述移位寄存器的位宽为120比特;所述未处理的对应于一次写操作处理对象的数据为R2×C2正交矩阵中当前未处理的前两行数据。
3.根据权利要求2所述的方法,其特征在于,所述步骤B包括根据列间置换模式,对所述120比特位宽的移位寄存器中前30个符号数据和后30个符号数据分别进行交织;在步骤C中,所述将交织后的对应于一次写操作处理对象的数据写入RAM中当前未写入数据的最小地址中的步骤包括首先将所述前30个符号数据交织后的第一个符号数据和所述后30个符号数据交织后的第一个符号数据依次写入RAM中当前未写入数据的最小地址中,然后,将所述前30个符号数据交织后的第二个符号数据和所述后30个符号数据交织后的第二个符号数据依次写入RAM中当前未写入数据的最小地址中,依此类推,直至将所述前30个符号数据交织后的最后一个符号数据和所述后30个符号数据交织后的最后一个符号数据依次写入RAM中当前未写入数据的最小地址中。
4.根据权利要求1所述的方法,其特征在于,所述第二次交织后所要求连续输出的有效数据的比特数目为2;所述RAM的宽度为60比特;所述移位寄存器的位宽为60比特;所述未处理的对应于一次写操作处理对象的数据为R2×C2正交矩阵中当前未处理的第一行数据。
5.根据权利要求1至4中任意一项所述的方法,其特征在于,所述移位寄存器的个数为2;在步骤A中,所述移位寄存器为上次未被写入对应于一次写操作处理对象数据的移位寄存器。
6.根据权利要求1所述的方法,其特征在于,在步骤A中,在执行将数据写入移位寄存器中之前,进一步包括将所述移位寄存器初始化为无效2比特数据。
7.根据权利要求6所述的方法,其特征在于,所述第二次交织后所要求连续输出的有效数据的比特数目为4;在步骤E中,所述从一次读取的所有数据中取出数据并输出的步骤包括E11、从一次读取的所有数据中取出前4个比特数据;E12、判断所取的4个比特数据中是否不包括无效2比特数据,如果不包括,则执行步骤E13,如果包括两个无效2比特数据,则执行步骤E14,如果仅包括一个无效2比特数据,则执行步骤E15;E13、直接输出该4个比特数据,结束当前流程;E14、直接丢弃该4个比特数据,结束当前流程;E15、在所读取的4个比特数据中,丢弃其中一个无效2比特数据;E16、判断当前是否存在之前缓存的2比特有效数据,如果存在,则将之前缓存的2比特有效数据与当前所读取的4个比特数据中的2比特的有效数据拼位成一个4比特有效数据后输出,如果不存在,则缓存所读取4个比特数据中的2比特有效数据。
8.根据权利要求6所述的方法,其特征在于,所述第二次交织后所要求连续输出的有效数据的比特数目为2;在步骤E中,所述从一次读取的所有数据中取出数据并输出的步骤包括E21、从一次读取的所有数据中取出前2个比特数据;E22、判断所取的2个比特数据是否为无效2比特数据,如果是,则执行步骤E23,否则,执行步骤E24;E23、直接丢弃所取出的数据,结束当前流程;E24、直接输出所取出的数据。
9.一种实现第二次交织的系统,其特征在于,该系统包括写控制单元、RAM以及读控制单元,写控制单元中包括移位寄存器子单元和写处理子单元,移位寄存器子单元中包括至少一个移位寄存器,其中,RAM的宽度根据第二次交织后所要求连续输出的有效数据的比特数目来确定,其深度为物理信道最大数据承载能力除以该RAM的宽度;移位寄存器的位宽为对应于一次写操作处理对象的比特位数,并且,写处理子单元,用于将R2×C2正交矩阵中未处理的对应于一次写操作处理对象的数据写入移位寄存器中,并对移位寄存器中对应于一次写操作处理对象的数据进行交织后,写入RAM中当前未写入数据的最小地址中;任意一个移位寄存器,用于接收对应于一次写操作处理对象的数据;RAM,用于存储写处理子单元在自身的每个地址中所写入的数据;读控制单元,用于按照对RAM中地址从最小到最大依次读取的方式,一次读取RAM一个地址中的所有数据,并根据第二次交织后所要求连续输出的比特数目,在所读取的所有数据中取出数据。
10.根据权利要求9所述的系统,其特征在于,所述移位寄存器子单元中包括两个移位寄存器;该两个移位寄存器轮流执行接收对应于一次写操作处理对象的数据。
11.根据权利要求9所述的系统,其特征在于,所述写处理单元,进一步用于将移位寄存器子单元中的移位寄存器初始化为无效2比特数据。
12.根据权利要求11所述的系统,其特征在于,该系统进一步包括输出数据处理单元,用于接收读控制单元所取出的数据,并丢弃所接收到数据中的无效2比特数据,根据第二次交织后所要求连续输出的有效数据比特数目,输出所接收到的数据。
13.根据权利要求12所述的系统,其特征在于,所述读控制单元在所读取的所有数据中取出前4个比特的数据;所述输出数据处理单元,用于确定所接收到的4个比特数据中是否不包括无效2比特数据,如果不包括无效2比特数据,则直接输出该4个比特数据,如果包括两个无效2比特数据,则直接丢弃该4个比特数据,如果仅包括一个无效2比特数据,则在所读取的4个比特数据中,丢弃其中一个无效2比特数据并判断当前是否存在之前缓存的2比特有效数据,如果存在,则将之前缓存的2比特有效数据与当前所读取的4个比特数据中的2比特的有效数据拼位成一个4比特有效数据后输出,如果不存在,则缓存所读取4个比特数据中的2比特有效数据。
14.根据权利要求12所述的系统,其特征在于,所述读控制单元在所读取的所有数据中取出前2个比特的数据;所述输出数据处理单元,用于确定所接收到的2个比特数据是否为无效2比特数据,如果是,则直接丢弃该2个比特数据,否则,直接输出该2个比特数据。
15.一种RAM,其特征在于,该RAM用于存储写处理子单元在自身的每个地址中所写入的数据,并且,该RAM的宽度根据第二次交织后所要求连续输出的有效数据的比特数目来确定,该RAM的深度为物理信道最大数据承载能力除以该RAM的宽度。
全文摘要
本发明公开了一种实现第二次交织的方法和系统。该系统包括写控制单元、随机存取内存(RAM)和读控制单元。该方法基于一种RAM和移位寄存器实现,其中,RAM的宽度根据连续输出的有效数据的比特数目确定,深度为物理信道最大数据承载能力除以其宽度;将未处理的对应于一次写操作处理对象的数据写入移位寄存器中;将移位后的数据写入RAM中当前未写入数据的最小地址中;按照RAM中地址从最小到最大依次读取的方式,一次读取RAM一个地址中的数据并根据所要求连续输出的有效比特数据的个数取出其中的有效比特数据输出。本发明能够在每个系统周期均有数据输入以及一个无线帧数据存在压缩情况时实现第二次交织。
文档编号H04L1/00GK1983824SQ20061006639
公开日2007年6月20日 申请日期2006年4月5日 优先权日2006年4月5日
发明者王小璐 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1