CN101800625A - 一种解交织方法和装置 - Google Patents
一种解交织方法和装置 Download PDFInfo
- Publication number
- CN101800625A CN101800625A CN 201010111391 CN201010111391A CN101800625A CN 101800625 A CN101800625 A CN 101800625A CN 201010111391 CN201010111391 CN 201010111391 CN 201010111391 A CN201010111391 A CN 201010111391A CN 101800625 A CN101800625 A CN 101800625A
- Authority
- CN
- China
- Prior art keywords
- deinterleaving
- code stream
- dateout
- numbering
- row
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0071—Use of interleaving
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Error Detection And Correction (AREA)
Abstract
本发明实施例公开了一种解交织方法和装置,所述方法包括:根据待解交织码流的有效信息长度,计算待解交织码流需要虚拟添加的哑元数、解交织前矩阵的行数和虚拟添加的哑元在解交织前矩阵中的列坐标;通过需要虚拟添加哑元数,确定解交织后码流在其前端虚拟添加哑元后各待输出数据的编号;根据待输出数据编号在解交织前矩阵中的行坐标及列坐标、解交织前矩阵的行数、列坐标之前的列中的哑元数,获取待输出数据的编号对应的待解交织码流数据地址;依次从与待输出数据编号对应的待解交织码流数据地址读取数据,形成解交织后码流。通过虚拟添加哑元缩短了解交织的时间。
Description
技术领域
本发明涉及通信领域,尤其是一种解交织方法和装置。
背景技术
目前,LTE(Long Time Evolution,长期演进)协议中的PUSCH(PhysicalUplink Shared Channel,上行物理共享信道)链路中的CQI(Channel QualityInformation,信道质量信息)译码部分,在对其中的CC(Convolutional Code,卷积码)译码前需要进行解速率匹配。从UE(User Equipment,用户设备)侧编码到基站侧译码过程中,为了降低突发性噪声干扰,以及达到资源与传输效率的平衡,通常采用在UE侧编码后进行速率匹配和在基站侧译码前进行解速率匹配的操作。
在UE侧,原数据信息经过卷积编码(在LTE中采用(3,1,7)编码)后,会形成3路等长的编码后码流。所述速率匹配对应的过程为交织、比特汇聚和比特选择。其中,对于各路编码后码流,交织的作用是对带有CRC(Cyclic Redundancy Check,循环冗余校验)码的所述编码后码流按照预置的规则进行置乱,避免在上行信道中传输时受到突发性噪声干扰而造成的一连串数据错误。
以其中一路编码后码流为例,交织的过程是:1)将所述编码后码流按行输入到具有32列的交织前矩阵中;对于比特数不足32整数倍的编码后码流,在其前端加入相应数目的哑元,以使添加哑元后的编码后码流比特数达到32的整数倍。下面以3路编码后码流中的第0路编码后码流为例进行说明。若第0路编码后码流长度为49,则需添加的哑元数为64-49=15个,如图1所示,其中带阴影的表示哑元,编码后码流前端的第0~14位均为哑元(图1中未全部示出)。
表1为协议中规定的CQI-CC的列置换表,其右下方的数字串表示交织后矩阵的列分布,其中的数字为交织前矩阵中的列号。2)按照表1进行列置换后,得到图2所示的第0路编码后码流的交织后矩阵,其他两路编码后码流的交织方法相同。
表1
比特汇聚是按照第0路、第1路、第2路的顺序,将三个交织后矩阵中的数据循环的、按列顺次输出,形成汇聚码流。比特选择是打掉汇聚码流中的哑元并逐个比特(bit)进行输出,直到完成预定的输出bit数,如1000个,还是以编码后码流长度为49为例,则所述1000bit中有效信息的位数为49,由于有3路编码后码流,因此所述1000bit是以49×3作为周期进行重复。每一周期中的其中一路码流按后续顺序输出:33、17、49、41、25、57、37……。
在基站侧,接收到UE发送的数据流后,在译码前要对接收的数据流进行解速率匹配。解速率匹配包括解重复、分流和解交织。解重复的过程是先获得各路所述有效信息的长度、需添加的哑元数和添加哑元的位置并添加哑元。还是使用上面的例子进行说明:所述数据流中第0路码流长度为49(基站之前获得了有效信息的位数),需添加15个哑元,计算出添加哑元的位置并添加哑元;之后完成码率的转换,即将大于或小于1/3码率的码流,通过累加饱和或者补零的方法将码流的码率转换为1/3;其他两路码流的解重复方法相同。所述解重复与比特选择相对应。然后将添加哑元后的数据分流成三路数据,所述分流过程与上述比特汇聚相对应。
解交织的作用是将置乱后的码流还原成原始码流的顺序,以备后续译码使用。解交织的过程是:将添加有哑元的三路码流行按列输入到三个解交织前矩阵(所述交织前矩阵、交织后矩阵、解交织前矩阵和解交织后矩阵都是行数不定、列数为32的矩阵),将解交织前矩阵按照表1进行逆向列置换,得到解交织后矩阵,打掉各解交织前矩阵第一行的15个哑元并按行输出,得到三路输出数据,以备后续译码使用。
发明人在实现本发明的过程中,发现现有技术至少存在如下问题:
基站侧在解重复时,会先在计算出的哑元位置上添加哑元;而在LTE的CQI-CC译码链路中,存在需要添加的哑元数目较多且码率较低的情况,例如,输入的CC数据长度为33,则需要加入的哑元数目为64-33=31,代表着48.4%的时间是在做哑元的添加和累加操作,若按照单软比特解重复,在码率为1/12时会造成31×3(三路数据)×4(重复4次)=372个时钟的浪费。这样,大量的时间用于完成哑元的添加和哑元的累加,造成解速率匹配耗时较长,进而译码延迟增大和吞吐量下降。
发明内容
本发明实施例的目的是提供一种解交织方法和装置。
一方面,本发明实施例提供了一种解交织方法,包括:
根据待解交织码流的有效信息长度,计算所述待解交织码流需要虚拟添加的哑元数、解交织前矩阵的行数和虚拟添加的哑元在所述解交织前矩阵中的列坐标;
通过所述需要虚拟添加哑元数,确定解交织后码流在其前端虚拟添加哑元后各待输出数据的编号;
由所述各待输出数据的编号得到解交织后码流中各待输出数据编号在解交织前矩阵中的行坐标;
根据待输出数据编号与解交织前矩阵中列坐标的映射关系,获得所述各待输出数据编号在解交织前矩阵中的列坐标;
根据所述待输出数据编号在解交织前矩阵中的行坐标及列坐标、解交织前矩阵的行数、所述列坐标之前的列中的哑元数,获取所述待输出数据的编号对应的待解交织码流数据地址;
依次从与待输出数据编号对应的待解交织码流数据地址读取数据,形成解交织后码流。
另一方面,本发明实施例还提供了一种解交织装置,包括:
计算模块,用于根据待解交织码流的有效信息长度,计算所述待解交织码流需要虚拟添加的哑元数、解交织前矩阵的行数和虚拟添加的哑元在所述解交织前矩阵中的列坐标;
编号模块,用于通过所述需要虚拟添加哑元数,确定解交织后码流在其前端虚拟添加哑元后的各待输出数据的编号;
行坐标获取模块,用于由所述各待输出数据的编号得到解交织后码流中各待输出数据编号在解交织前矩阵中的行坐标;
列坐标获取模块,用于根据待输出数据编号与解交织前矩阵中列坐标的映射关系,获得所述各待输出数据编号在解交织前矩阵中的列坐标;
地址获取模块,用于根据所述待输出数据编号在解交织前矩阵中的行坐标及列坐标、解交织前矩阵的行数、所述列坐标之前的列中的哑元数,获取所述待输出数据的编号对应的待解交织码流数据地址;
码流形成模块,用于依次从与待输出数据编号对应的待解交织码流数据地址读取数据,形成解交织后码流。
本发明实施例的解交织方法和装置,根据待解交织码流的有效信息长度,计算待解交织码流需要虚拟添加的哑元数和虚拟添加哑元的位置,但是并不真正进行添加哑元的操作;虚拟添加哑元,是为了确定解交织后码流中各待输出数据的编号,然后通过待输出数据编号与解交织前矩阵中列坐标的映射关系得到各待输出数据编号在解交织前矩阵中的列坐标,根据待输出数据编号在解交织前矩阵中的行坐标及列坐标、解交织前矩阵的行数、列坐标之前的列中的哑元数,获取待输出数据的编号对应的待解交织码流数据地址,由此避免了解重复时添加哑元和输出解交织后码流前去掉哑元的过程,缩短了对需添加哑元数目较多且码率低的输入码流解交织的时间,增强了CQI译码的吞吐能力。
附图说明
图1是现有的交织前矩阵的示意图;
图2是现有的交织后矩阵的示意图;
图3是本发明实施例的解交织方法的第一实施例的流程示意图;
图4是本发明实施例的解交织方法的第二实施例的流程示意图
图5是本发明实施例的解交织方法的第三实施例的流程示意图;
图6是本发明实施例的解交织装置实施例的结构示意图。
具体实施方式
为使本发明实施例的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明实施例作进一步详细的说明。
第一实施例
如图3所示,本实施例的解交织方法包括:
S101,基站根据待解交织码流的有效信息长度,计算所述待解交织码流需要虚拟添加的哑元数、解交织前矩阵的行数和虚拟添加的哑元在所述解交织前矩阵中的列坐标;
所述待解交织码流的有效信息长度,为基站接收到的数据流中有效数据的位数,基站在解交织前可以从UE获得接收的数据流中有效信息的长度,可以采用现有技术实现,本发明实施例对此不做限定。本实施例中,基站从UE接收的数据流分为三路待解交织码流,根据基站从UE获得的接收的数据流中有效信息的长度即可得到待解交织码流的有效信息长度。
本发明实施例中,需要使用到解交织前矩阵,因此需要计算出待解交织码流需要虚拟添加的哑元数、解交织前矩阵的行数和虚拟添加的哑元在所述解交织前矩阵中的列坐标,保证被处理的数据串长度为32的整数倍。由于哑元都是在解交织前矩阵的第0行中虚拟添加,因此获得虚拟添加的哑元在解交织前矩阵中的列坐标就足够了。
计算虚拟添加的哑元在解交织前矩阵中的列坐标,可以利用现有技术在解重复时计算添加哑元位置的方式,然后根据哑元的位置算出哑元在解交织前矩阵中的列坐标,例如,具体可以使用公式:虚拟添加的哑元在解交织前矩阵中的列坐标=虚拟添加哑元的位置/解交织前矩阵行数;由于虚拟添加的哑元的位置均为n*k,其中n为解交织前矩阵的行数,k为虚拟添加的哑元所在列的列坐标,因此通过上述公式计算的列坐标结果可以保证是整数。
S102,通过所述需要虚拟添加哑元数,确定解交织后码流在其前端虚拟添加哑元后的各待输出数据的编号;
由于在解交织后码流的前端虚拟添加哑元,因此,解交织后码流中的待输出数据的编号要在虚拟添加哑元后进行排列。若解交织后码流的位数为49,则其前端需添入的哑元数为15个,那么该路解交织后码流待输出数据的编号为15到63。
S103,由所述各待输出数据的编号得到解交织后码流中各待输出数据编号在解交织前矩阵中的行坐标;
由各待输出数据的编号可以得到各待输出数据编号在解交织前矩阵中的行坐标,例如,使用公式:待输出数据行坐标=[待输出数据编号/32]取整,如编号为25的待输出数据在解交织前矩阵中的行坐标为0,编号为48的待输出数据行坐标为1。
S104,根据待输出数据编号与解交织前矩阵中列坐标的映射关系,获得所述各待输出数据编号在解交织前矩阵中的列坐标;
所述待输出数据编号与解交织前矩阵中列坐标的映射关系可以通过预置的逆向列映射表进行对应,所述逆向列映射表如表2所示:
表2
各待输出数据编号与表2中的位置对应,所述位置上的数字即为该编号在解交织前矩阵中的列坐标。其中,每个待输出数据编号在表2中的位置可以通过将待输出数据编号对32求余数,该余数即为所述待输出数据编号在表2中的位置。
S105,根据所述待输出数据编号在解交织前矩阵中的行坐标及列坐标、解交织前矩阵的行数、所述列坐标之前的列中的哑元数,获取所述待输出数据的编号对应的待解交织码流数据地址;
所述获取待输出数据的编号对应的待解交织码流数据地址具体可以按照如下公式计算:解交织后码流中的待输出数据编号对应的待解交织码流数据地址=所述列坐标×解交织前矩阵的行数+所述行坐标-所述列坐标之前的列中的哑元数。
其中,所述“列坐标之前的列”在本发明实施例中包含当前列。
S106,依次从与待输出数据编号对应的待解交织码流数据地址读取数据,形成解交织后码流。
本实施例的解交织方法,根据待解交织码流的有效信息长度,计算待解交织码流需要虚拟添加的哑元数和虚拟添加哑元的位置,但是并不真正进行添加哑元的操作;虚拟添加哑元,是为了确定解交织后码流中各待输出数据的编号,然后通过待输出数据编号与解交织前矩阵中列坐标的映射关系得到各待输出数据编号在解交织前矩阵中的列坐标,根据待输出数据编号在解交织前矩阵中的行坐标及列坐标、解交织前矩阵的行数、列坐标之前的列中的哑元数,获取待输出数据的编号对应的待解交织码流数据地址,由此避免了解重复时添加哑元和输出解交织后码流前去掉哑元的过程,缩短了对需添加哑元数目较多且码率低的输入码流解交织的时间,增强了CQI译码的吞吐能力。
实施例二
本实施例中,基站在接收到UE发送的数据流后,会对所述数据流进行分流操作,则在进行解交织时,输入码流包括分流后的三路待解交织码流,解交织后的输出码流包括三路并行解交织后码流。本实施例中的待解交织码流为接收到的数据流分流后的三路码流中的一路码流。
本实施例可以采用两种方式对所述分流后的三路待解交织码流进行解交织;
第一种:对所述三路待解交织码流采用相同的方式进行解交织;
第二种:对其中一路待解交织码流进行解交织,然后直接利用所述待解交织码流的解交织结果得到另两路的解交织后码流。
无论采用上述哪种方式,其中一路待解交织码流的解交织方法,如图4所示,包括:
S201,基站根据待解交织码流的有效信息长度,计算所述待解交织码流需要虚拟添加的哑元数、解交织前矩阵的行数和虚拟添加的哑元在所述解交织前矩阵中的列坐标。
本发明实施例中,需要使用到解交织前矩阵,因此需要计算出待解交织码流需要虚拟添加的哑元数、解交织前矩阵的行数和虚拟添加的哑元在所述解交织前矩阵中的列坐标,保证被处理的数据串长度为32的整数倍。由于哑元都是在解交织前矩阵的第0行中添加,因此获得哑元在解交织前矩阵中的列坐标就足够了。
计算虚拟添加的哑元在解交织前矩阵中的列坐标,可以利用现有技术计算在分流前的码流中添加哑元位置的过程,然后根据哑元的位置算出哑元在解交织前矩阵中的列坐标,例如,具体可以使用公式:虚拟添加的哑元在解交织前矩阵中的列坐标=虚拟添加哑元的位置/解交织前矩阵行数。对于有效信息长度为49的待解交织码流,参见图2,按照以列读取的方式,虚拟添加哑元位置为第0、4、8、……、54、58位,以使每路待解交织码流虚拟添加哑元后长度为32的整数倍,便于利用解交织前矩阵(列数为32)进行计算。若虚拟添加的哑元在某路待解交织码流中的位置为54,则通过54/2=27可知,所述虚拟添加的哑元在解交织前矩阵中的列坐标为27,与图2很好的吻合。
S202,通过所述需要虚拟添加哑元数,确定解交织后码流在其前端虚拟添加哑元后各待输出数据的编号。
由于在解交织后码流的前端虚拟添加哑元,因此,解交织后码流中的待输出数据的编号要在虚拟添加哑元后进行排列。若解交织后码流的位数为49,如a0、a1、a2、a3、……、a48,则其前端需要虚拟添入的哑元数为15个,那么该路解交织后码流待输出数据(a0~a48)的编号为15到63。
S203,由所述各待输出数据的编号得到解交织后码流中各待输出数据编号在解交织前矩阵中的行坐标。
由各待输出数据的编号可以得到各待输出数据编号在解交织前矩阵中的行坐标,例如,使用公式:待输出数据行坐标=[待输出数据编号/32]取整,以步骤S202中的例子进一步进行说明,如a10编号为25,[25/32]取整=0,则a10在解交织前矩阵中的行坐标为0,同理,a33编号为48,其待输出数据行坐标为1。
S204,根据待输出数据编号与解交织前矩阵中列坐标的映射关系,获得所述各待输出数据编号在解交织前矩阵中的列坐标。
本发明实施例提供了两种获得待输出数据编号在解交织前矩阵中的列坐标的方式:
A)通过预置的逆向列映射表获得各待输出数据编号在解交织前矩阵中的列坐标。
发明人通过对表1进行转换得到如表2所示的逆向列映射表,表2与表1互为逆向列映射表,本实现方式中表2需要预存起来以备解交织时使用。解交织后码流中各待输出数据编号都拥有一个在解交织前矩阵中的列坐标。各待输出数据编号与表2中的位置(第0~31位)对应,所述位置上的数字即为该编号在解交织前矩阵中的列坐标。其中,每个待输出数据编号在表2中的位置可以通过将待输出数据编号对32求余数,该余数即为所述待输出数据编号在表2中的位置。如待输出数据编号为25,其对32的余数为25,则其在表2中的位置为25,通过表2可以查询到第25位上的数字为3,则编号为25的待输出数据在解交织前矩阵中的列坐标为3;若待输出数据编号为60,其对32的余数为28,则其在表2中的位置为28,通过表2查询第28位上的数字为23,则编号为60的待输出数据在解交织前矩阵中的列坐标为23。
B)通过FPGA(Field Programmable Gate Array,现场可编程门阵列)进行具体实现。
所述根据待输出数据编号与解交织前矩阵中列坐标的映射关系,获得所述解交织后码流中各待输出数据编号在解交织前矩阵中的列坐标具体可以包括:将待输出数据编号对应的五位二进制数倒序重排并高位取反,得到待输出数据编号在解交织前矩阵中的列坐标。
其中,待输出数据编号对应的五位二进制数具体可以计算为:将待输出数据编号对32取余数,所述余数的五位二进制数倒序重排并高位取反,即为所述待输出数据编号在解交织前矩阵中的列坐标。
例如,待输出数据的编号为25,其对32取余数后为25,该余数的五位二进制数为11001,倒序重排并高位取反后变成00011即3,则编号为25的待输出数据在解交织前矩阵中的列号为3。若编号为60,其对32取余数后为28,该余数的五位二进制数为11100,倒序重排并高位取反后变成10111即23,则编号为60的待输出数据在解交织前矩阵中的列号为23。
在通过FPGA具体实现时,可以通过寄存器交叉映射,并在高位输出端后接一个非门。通过一个非门实现了原有的由32个多路选择器实现的32分支的逻辑语句,节省了逻辑资源,提高了此处支持的最大频率。
发明人对上述表2中的逆向列映射表进行了辛勤的付出,在大量认真的比较研究后,发现了待输出数据编号与解交织前矩阵中列坐标的映射关系以及其简便的FPGA实现方式,大幅提高了从待输出数据编号获得其对应的解交织前矩阵中列坐标的效率。
S205,根据所述待输出数据编号在解交织前矩阵中的行坐标及列坐标、解交织前矩阵的行数、所述列坐标之前的列中的哑元数,获取所述待输出数据的编号对应的待解交织码流数据地址。
所述获取待输出数据的编号对应的待解交织码流数据地址按照如下公式计算:解交织后码流中的待输出数据编号对应的待解交织码流数据地址=所述列坐标×解交织前矩阵的行数+所述行坐标-所述列坐标之前的列中的哑元数。
例如,对于编号为25的待输出数据,通过步骤S203可以获得其在解交织前矩阵中的列坐标为3,所述行坐标在形成编号的时候就可以直接计算出来,则其对应的输入数据地址为:3×2+0-2=4(可以参见图2),其中,编号为25的待输出数据在解交织前矩阵中的位置为(0,3),解交织前矩阵的行数为2,解交织前矩阵中,第3列之前的哑元数为2。
S206,依次从与待输出数据编号对应的待解交织码流数据地址读取数据,形成解交织后码流。
在获得各待输出数据编号对应的待解交织码流数据地址后,依次从与待输出数据编号对应的待解交织码流数据地址读取数据,形成解交织后码流,解交织后码流与UE侧卷积编码后的码流对应。
至此,已完成对一路待解交织码流的解交织操作。
对于在本实施例开始部分提及的第一种方式,可以在其中一路待解交织码流解交织的同时,其余两路待解交织码流也采用上述S201~S206的操作过程进行解交织。
对于第二种方式,在获取其中一路解交织后码流中待输出数据的编号对应的待解交织码流数据地址后,还可以包括步骤S207:根据所述待解交织码流数据地址,直接获取另两路解交织后码流中各相应待输出数据的编号分别对应的待解交织码流数据地址。由于三路待解交织码流的有效信息长度相同,交织方式相同,因此三路解交织后码流中相同待输出数据编号分别对应的待解交织码流数据地址也必然相同,所以可以先对其中一路待解交织码流解交织,然后直接使用其解交织后码流中各待输出数据编号对应的待解交织码流数据地址,形成其他两路解交织后码流。
在解交织前,还包括解重复,对于本发明实施例,解重复是将接收到的数据流的码率直接转换为设定码率的输入码流。目前在LTE系统中,所述设定码率为1/3,由于不用插入哑元,所以本发明实施例的解重复部分需要完成的功能更简单,即实现补零或累加饱和,节省了添加哑元的时间。
本实施例的解交织方法,根据待解交织码流的有效信息长度,计算待解交织码流需要虚拟添加的哑元数和虚拟添加哑元的位置,但是并不真正进行添加哑元的操作;虚拟添加哑元,并确定解交织后码流中各待输出数据的编号,然后通过待输出数据编号与解交织前矩阵中列坐标的映射关系得到各待输出数据编号在解交织前矩阵中的列坐标,根据待输出数据编号在解交织前矩阵中的行坐标及列坐标、解交织前矩阵的行数、列坐标之前的列中的哑元数,获取待输出数据的编号对应的待解交织码流数据地址,由此避免了解重复时添加哑元和输出解交织后码流前去掉哑元的过程,缩短了对需添加哑元数目较多且码率低的待解交织码流解交织的时间,增强了CQI译码的吞吐能力。
实施例三
与实施例二不同,本实施例中,基站在接收到UE发送的数据流后,不需对所述数据流进行分流操作,而是将包含三路待解交织码流的一个数据串作为解交织的输入码流,所述三路待解交织码流在输入码流中依次首尾相接,而输出码流仍然为三路并行解交织后码流。基站能够根据输入码流的有效信息长度识别出每路待解交织码流在输入码流中的起止点。本实施例中的待解交织码流为接收到的数据流分流前与一路码流对应的数据串。
本实施例可以采用两种方式对所述输入码流进行解交织;
第一种:对所述输入码流中的三路待解交织码流采用相同的方式进行解交织;
第二种:对所述输入码流中的一路待解交织码流进行解交织,然后直接利用所述待解交织码流的解交织结果得到另两路解交织后码流。
无论采用上述哪种方式,对输入码流中一路待解交织码流的解交织方法,如图5所示,包括:
S301,基站根据输入码流的有效信息长度,计算输入码流中各待解交织码流需要虚拟添加的哑元数、解交织前矩阵的行数和虚拟添加的哑元在所述解交织前矩阵中的列坐标。
基站侧能够获得输入码流的有效信息长度,获取的方式可使用现有技术,本发明实施例对此不做限定。对于从UE接收到的数据流,无论是否分流,其有效信息长度都是不变的,即实施例二中待解交织码流的有效信息长度等于本实施例中输入码流的有效信息长度。基站根据该有效信息长度计算各路待解交织码流需要虚拟添加的哑元数、解交织前矩阵的行数和虚拟添加的哑元在所述解交织前矩阵中的列坐标。
S302,通过所述需要虚拟添加哑元数,确定解交织后码流在其前端虚拟添加哑元后的各待输出数据的编号。
由于三路解交织后码流是各自独立进行编号的,因此所述三路解交织后码流的编号范围相同,即各路解交织后码流中第M个待输出数据的编号相同,M为自然数。
S303,由所述各待输出数据的编号得到解交织后码流中各待输出数据编号在解交织前矩阵中的行坐标。
所述行坐标在确定各待输出数据编号的同时就可以得出。
S304,根据待输出数据编号与解交织前矩阵中列坐标的映射关系,获得所述各待输出数据编号在解交织前矩阵中的列坐标。
对步骤S303中计算过行坐标的解交织后码流,进一步通过所述映射关系获得其中各待输出数据编号在解交织前矩阵中的列坐标。通过所述映射关系获得各待输出数据编号在解交织前矩阵中的列坐标的操作,可以参见实施例二中的描述,此处不再赘述。
S305,根据所述待输出数据编号在解交织前矩阵中的行坐标及列坐标、解交织前矩阵的行数、所述列坐标之前的列中的哑元数,获取所述待输出数据的编号对应的待解交织码流数据地址。
所述获取待输出数据的编号对应的待解交织码流数据地址按照如下公式计算:解交织后码流中的待输出数据编号对应的待解交织码流数据地址=所述列坐标×解交织前矩阵的行数+所述行坐标-所述列坐标之前的列中的哑元数。
S306,依次从与待输出数据编号对应的输入码流数据地址读取数据,形成输出码流。
至此,完成了对输入码流中的其中一路待解交织码流的解交织。
对于本实施例开始部分提及的第一种方式,可以在输入码流中的一路待解交织码流解交织的同时,对输入码流中的其他两路待解交织码流也采用上述S301~S306的操作过程进行解交织。
对于第二种方式,在获取所述解交织后码流中待输出数据的编号对应的待解交织码流数据地址后,还可以包括步骤S307:根据所述解交织后码流中各待输出数据的待解交织码流数据地址和待解交织码流的有效信息长度,获取另两路解交织后码流中各待输出数据的编号对应的待解交织码流数据地址。
优选的,所述解交织后码流为第0路解交织后码流;则所述获取另两路解交织后码流中各待输出数据的编号对应的待解交织码流数据地址为:
对所述获取的地址增加1倍的所述有效信息长度,获得第1路解交织后码流中各待输出数据的编号对应的第1路待解交织码流数据地址;以及,对所述获取的地址增加2倍的所述有效信息长度,获得第2路解交织后码流中各待输出数据的编号对应的第2路待解交织码流数据地址。
第0路解交织后码流的第1bit在从相应的输入码流数据地址读取出数据后,对该地址分别增加1倍和2倍的有效信息长度,即分别得到第1路和第2路解交织后码流的第1bit的输入码流数据地址,由此可以在得到第0路解交织后码流的第1bit数据的同时获得第1路和第2路解交织后码流的第1bit数据;之后,可以通过三个内部寄存器暂存这三个数据,并将它们串行输入到FIFO(First In First Out,先进先出)中,然后按照此方法计算三路解交织后码流的其他比特的输入码流数据地址。当三路解交织后码流都解交织完毕后,就可以将FIFO中的三路解交织后码流作为输出码流同步传输给译码核,以进行后续译码。
在解交织前,还包括解重复:将接收到的数据流的码率直接转换为设定码率的输入码流。本实施例的解重复不需添加哑元,直接进行补零或累加饱和,节省了添加哑元的时间。而且,解重复后不需分流,在完成解交织的同时就开始分流成三路输出数据。
本实施例的方法是对三路待解交织码流中的其中一路进行逆推计算存储地址的操作,利用一路待解交织码流的有效数据串长度和所述得到的地址,就可以得到另两路解交织后码流的存储地址,即计算一次地址,对该地址使用三次,进一步缩短了解交织所需的时间;而且,本实施例的方法是在解交织的同时完成对输入码流的分流操作,相比于现有技术将分流后的三路待解交织码流存储到三个RAM(Random Access Memory,随机存取存储器)后再进行解交织操作而言,本实施例的方法可以使用内部寄存器对三路解交织后码流进行分流,使用一个FIFO对三路解交织后码流进行同步,节约了3个RAM资源。
本实施例的解交织方法,根据待解交织码流的有效信息长度,计算待解交织码流需要虚拟添加的哑元数和虚拟添加哑元的位置,但是并不真正进行添加哑元的操作;虚拟添加哑元,并确定解交织后码流中各待输出数据的编号,然后通过待输出数据编号与解交织前矩阵中列坐标的映射关系得到各待输出数据编号在解交织前矩阵中的列坐标,根据待输出数据编号在解交织前矩阵中的行坐标及列坐标、解交织前矩阵的行数、列坐标之前的列中的哑元数,获取待输出数据的编号对应的待解交织码流数据地址,由此避免了解重复时添加哑元和输出解交织后码流前去掉哑元的过程,缩短了对需添加哑元数目较多且码率低的输入码流解交织的时间;而且对一个地址使用三次,进一步缩短了解交织所需的时间;增强了CQI译码的吞吐能力;本实施例的方法是在解交织的同时使用内部寄存器对输入码流进行分流、使用FIFO进行三路解交织后码流的同步操作,节约了3个RAM资源。
当然,本领域技术人员可以基于本发明实施例公开的思想,对上述实施例进行组合,进而发展出更多的实施例,这些实施例均应包含在本发明实施例的保护范围内。
第四实施例
本发明实施例提供了一种解交织装置,如图6所示,包括:计算模块10,编号模块20,行坐标获取模块30,列坐标获取模块40,地址获取模块50,码流形成模块60。
计算模块10,用于根据待解交织码流的有效信息长度,计算所述待解交织码流需要虚拟添加的哑元数、解交织前矩阵的行数和虚拟添加的哑元在所述解交织前矩阵中的列坐标。
编号模块20,用于通过所述需要虚拟添加哑元数,确定解交织后码流在其前端虚拟添加哑元后的各待输出数据的编号。
行坐标获取模块30,用于由所述各待输出数据的编号得到解交织后码流中各待输出数据编号在解交织前矩阵中的行坐标。
列坐标获取模块40,用于根据待输出数据编号与解交织前矩阵中列坐标的映射关系,获得所述各待输出数据编号在解交织前矩阵中的列坐标。
所述列坐标获取模块40可以包括:
第一列坐标获取单元,用于通过预置的逆向列映射表获得所述解交织后码流中的各待输出数据编号在解交织前矩阵中的列坐标,所述逆向列映射表如表2所示;和/或
第二列坐标获取单元,用于将所述解交织后码流中各待输出数据编号对应的五位二进制数倒序重排并高位取反,得到各待输出数据编号在解交织前矩阵中的列坐标。在通过FPGA具体实现时,第二列坐标获取单元可以采用寄存器交叉映射,并在高位输出端后接一个非门。通过一个非门实现原有的由32个多路选择器实现的32分支的逻辑语句,节省了逻辑资源,提高了此处支持的最大频率。
地址获取模块50,用于根据所述待输出数据编号在解交织前矩阵中的行坐标及列坐标、解交织前矩阵的行数、所述列坐标之前的列中的哑元数,获取所述待输出数据的编号对应的待解交织码流数据地址。
所述地址获取模块50获取所述待输出数据的编号对应的待解交织码流数据地址具体可以按照下列公式计算:解交织后码流中的待输出数据编号对应的待解交织码流数据地址=所述列坐标×解交织前矩阵的行数+所述行坐标-所述列坐标之前的列中的哑元数。
码流形成模块60,用于依次从与待输出数据编号对应的待解交织码流数据地址读取数据,形成解交织后码流。
所述待解交织码流可以为接收到的数据流分流后的三路码流中的一路码流、或接收到的数据流分流前与一路码流对应的数据串。则地址获取模块50还可以包括:
第一获取单元,用于当所述待解交织码流为所述分流后的一路码流时,根据所述待解交织码流数据地址,直接获取另两路解交织后码流中各相应待输出数据的编号分别对应的待解交织码流数据地址;或
第二获取单元,用于当所述待解交织码流为所述分流前与一路码流对应的数据串时,根据所述解交织后码流中各待输出数据的待解交织码流数据地址和所述待解交织码流的有效信息长度,获取另两路解交织后码流中各待输出数据的编号对应的待解交织码流数据地址。
优选的,所述解交织后码流为第0路解交织后码流;则所述第二获取单元包括:
第一子单元,用于对所述获取的地址增加1倍的所述有效信息长度,获得第1路解交织后码流中各待输出数据的编号对应的第1路待解交织码流数据地址;
第二子单元,用于对所述获取的地址增加2倍的所述有效信息长度,获得第2路解交织后码流中各待输出数据的编号对应的第2路待解交织码流数据地址。
所述装置还可以包括:转换模块,用于在解交织前,将接收到的数据流的码率直接转换为设定码率的输入码流。
本实施例的解交织装置,根据待解交织码流的有效信息长度,计算待解交织码流需要虚拟添加的哑元数和虚拟添加哑元的位置,但是并不真正进行添加哑元的操作;虚拟添加哑元,并确定解交织后码流中各待输出数据的编号,然后通过待输出数据编号与解交织前矩阵中列坐标的映射关系得到各待输出数据编号在解交织前矩阵中的列坐标,根据待输出数据编号在解交织前矩阵中的行坐标及列坐标、解交织前矩阵的行数、列坐标之前的列中的哑元数,获取待输出数据的编号对应的待解交织码流数据地址,由此避免了解重复时添加哑元和输出解交织后码流前去掉哑元的过程,缩短了对需添加哑元数目较多且码率低的输入码流解交织的时间,增强了CQI译码的吞吐能力。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (12)
1.一种解交织方法,其特征在于,包括:
根据待解交织码流的有效信息长度,计算所述待解交织码流需要虚拟添加的哑元数、解交织前矩阵的行数和虚拟添加的哑元在所述解交织前矩阵中的列坐标;
通过所述需要虚拟添加哑元数,确定解交织后码流在其前端虚拟添加哑元后各待输出数据的编号;
由所述各待输出数据的编号得到解交织后码流中各待输出数据编号在解交织前矩阵中的行坐标;
根据待输出数据编号与解交织前矩阵中列坐标的映射关系,获得所述各待输出数据编号在解交织前矩阵中的列坐标;
根据所述待输出数据编号在解交织前矩阵中的行坐标及列坐标、解交织前矩阵的行数、所述列坐标之前的列中的哑元数,获取所述待输出数据的编号对应的待解交织码流数据地址;
依次从与待输出数据编号对应的待解交织码流数据地址读取数据,形成解交织后码流。
2.如权利要求1所述的方法,其特征在于,所述待解交织码流为接收到的数据流分流后的三路码流中的一路码流、或接收到的数据流分流前与一路码流对应的数据串。
3.如权利要求2所述的方法,其特征在于,在获取所述解交织后码流中待输出数据的编号对应的待解交织码流数据地址后,还包括:
若所述待解交织码流为所述分流后的一路码流,则根据所述待解交织码流数据地址,直接获取另两路解交织后码流中各相应待输出数据的编号分别对应的待解交织码流数据地址;
若所述待解交织码流为所述分流前与一路码流对应的数据串,则根据所述解交织后码流中各待输出数据的待解交织码流数据地址和所述待解交织码流的有效信息长度,获取另两路解交织后码流中各待输出数据的编号对应的待解交织码流数据地址。
4.如权利要求3所述的方法,其特征在于,所述解交织后码流为第0路解交织后码流;
则所述获取另两路解交织后码流中各待输出数据的编号对应的待解交织码流数据地址具体包括:
对所述获取的地址增加1倍的所述有效信息长度,获得第1路解交织后码流中各待输出数据的编号对应的第1路待解交织码流数据地址;
以及,对所述获取的地址增加2倍的所述有效信息长度,获得第2路解交织后码流中各待输出数据的编号对应的第2路待解交织码流数据地址。
5.如权利要求1-4任一项所述的方法,其特征在于,所述获取待输出数据的编号对应的待解交织码流数据地址按照如下公式计算:
解交织后码流中的待输出数据编号对应的待解交织码流数据地址=所述列坐标×解交织前矩阵的行数+所述行坐标-所述列坐标之前的列中的哑元数。
6.如权利要求1-4任一项所述的方法,其特征在于,所述根据待输出数据编号与解交织前矩阵中列坐标的映射关系,获得解交织后码流中各待输出数据编号在解交织前矩阵中的列坐标具体包括:
通过预置的逆向列映射表获得各待输出数据编号在解交织前矩阵中的列坐标。
7.如权利要求1-4任一项所述的方法,其特征在于,所述根据待输出数据编号与解交织前矩阵中列坐标的映射关系,获得解交织后码流中各待输出数据编号在解交织前矩阵中的列坐标具体包括:
将所述解交织后码流中各待输出数据编号对应的五位二进制数倒序重排并高位取反,得到各待输出数据编号在解交织前矩阵中的列坐标。
8.一种解交织装置,其特征在于,包括:
计算模块,用于根据待解交织码流的有效信息长度,计算所述待解交织码流需要虚拟添加的哑元数、解交织前矩阵的行数和虚拟添加的哑元在所述解交织前矩阵中的列坐标;
编号模块,用于通过所述需要虚拟添加哑元数,确定解交织后码流在其前端虚拟添加哑元后的各待输出数据的编号;
行坐标获取模块,用于由所述各待输出数据的编号得到解交织后码流中各待输出数据编号在解交织前矩阵中的行坐标;
列坐标获取模块,用于根据待输出数据编号与解交织前矩阵中列坐标的映射关系,获得所述各待输出数据编号在解交织前矩阵中的列坐标;
地址获取模块,用于根据所述待输出数据编号在解交织前矩阵中的行坐标及列坐标、解交织前矩阵的行数、所述列坐标之前的列中的哑元数,获取所述待输出数据的编号对应的待解交织码流数据地址;
码流形成模块,用于依次从与待输出数据编号对应的待解交织码流数据地址读取数据,形成解交织后码流。
9.如权利要求8所述的装置,其特征在于,所述待解交织码流为接收到的数据流分流后的三路码流中的一路码流、或接收到的数据流分流前与一路码流对应的数据串。
10.如权利要求9所述的装置,其特征在于,所述地址获取模块还包括:
第一获取单元,用于当所述待解交织码流为所述分流后的一路码流时,根据所述待解交织码流数据地址,直接获取另两路解交织后码流中各相应待输出数据的编号分别对应的待解交织码流数据地址;或
第二获取单元,用于当所述待解交织码流为所述分流前与一路码流对应的数据串时,根据所述解交织后码流中各待输出数据的待解交织码流数据地址和所述待解交织码流的有效信息长度,获取另两路解交织后码流中各待输出数据的编号对应的待解交织码流数据地址。
11.如权利要求10所述的装置,其特征在于,所述解交织后码流为第0路解交织后码流;
则所述第二获取单元包括:
第一子单元,用于对所述获取的地址增加1倍的所述有效信息长度,获得第1路解交织后码流中各待输出数据的编号对应的第1路待解交织码流数据地址;
第二子单元,用于对所述获取的地址增加2倍的所述有效信息长度,获得第2路解交织后码流中各待输出数据的编号对应的第2路待解交织码流数据地址。
12.如权利要求8-11任一项所述的装置,其特征在于,所述列坐标获取模块包括:
第二列坐标获取单元,用于将所述解交织后码流中各待输出数据编号对应的五位二进制数倒序重排并高位取反,得到各待输出数据编号在解交织前矩阵中的列坐标。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010111391 CN101800625B (zh) | 2010-02-02 | 2010-02-02 | 一种解交织方法和装置 |
PCT/CN2011/070764 WO2011095115A1 (zh) | 2010-02-02 | 2011-01-28 | 一种解交织方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010111391 CN101800625B (zh) | 2010-02-02 | 2010-02-02 | 一种解交织方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101800625A true CN101800625A (zh) | 2010-08-11 |
CN101800625B CN101800625B (zh) | 2013-03-20 |
Family
ID=42596135
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201010111391 Active CN101800625B (zh) | 2010-02-02 | 2010-02-02 | 一种解交织方法和装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN101800625B (zh) |
WO (1) | WO2011095115A1 (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011095115A1 (zh) * | 2010-02-02 | 2011-08-11 | 华为技术有限公司 | 一种解交织方法和装置 |
CN102201892A (zh) * | 2011-05-13 | 2011-09-28 | 中兴通讯股份有限公司 | 一种交织或解交织的实现方法和装置 |
CN102624484A (zh) * | 2012-03-02 | 2012-08-01 | 华为技术有限公司 | 交织实现方法和设备 |
CN102201892B (zh) * | 2011-05-13 | 2016-12-14 | 中兴通讯股份有限公司 | 一种交织或解交织的实现方法和装置 |
CN109510688A (zh) * | 2018-12-18 | 2019-03-22 | 京信通信系统(中国)有限公司 | 速率匹配方法、解速率匹配方法、装置和基站 |
CN109768843A (zh) * | 2018-12-18 | 2019-05-17 | 京信通信系统(中国)有限公司 | 速率匹配方法、解速率匹配方法、装置和基站 |
CN112731282A (zh) * | 2020-12-09 | 2021-04-30 | 浙江工业大学 | 一种基于虚拟子阵交织的声阵列空间滤波方法及系统 |
CN115225203A (zh) * | 2022-06-08 | 2022-10-21 | 芯翼信息科技(上海)有限公司 | 一种数据的解交织方法、装置、电子设备及存储介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006063210A2 (en) * | 2004-12-09 | 2006-06-15 | Conexant Systems, Inc. | Method and system for dynamic interleaver adaptation scheme |
JP2006295861A (ja) * | 2005-04-05 | 2006-10-26 | Ist Kk | 移動体通信プロトコル解析装置のためのデインターリーブ方法 |
CN101388751B (zh) * | 2008-10-28 | 2012-12-26 | 重庆重邮信科通信技术有限公司 | 解速率匹配方法 |
CN101510781B (zh) * | 2009-03-24 | 2011-08-10 | 华为技术有限公司 | 交织和解交织处理中哑元的填充方法和装置及处理系统 |
CN101800625B (zh) * | 2010-02-02 | 2013-03-20 | 上海华为技术有限公司 | 一种解交织方法和装置 |
-
2010
- 2010-02-02 CN CN 201010111391 patent/CN101800625B/zh active Active
-
2011
- 2011-01-28 WO PCT/CN2011/070764 patent/WO2011095115A1/zh active Application Filing
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011095115A1 (zh) * | 2010-02-02 | 2011-08-11 | 华为技术有限公司 | 一种解交织方法和装置 |
CN102201892A (zh) * | 2011-05-13 | 2011-09-28 | 中兴通讯股份有限公司 | 一种交织或解交织的实现方法和装置 |
WO2012155458A1 (zh) * | 2011-05-13 | 2012-11-22 | 中兴通讯股份有限公司 | 一种交织或解交织的实现方法和装置 |
CN102201892B (zh) * | 2011-05-13 | 2016-12-14 | 中兴通讯股份有限公司 | 一种交织或解交织的实现方法和装置 |
CN102624484A (zh) * | 2012-03-02 | 2012-08-01 | 华为技术有限公司 | 交织实现方法和设备 |
CN102624484B (zh) * | 2012-03-02 | 2014-12-10 | 华为技术有限公司 | 交织实现方法和设备 |
CN109510688A (zh) * | 2018-12-18 | 2019-03-22 | 京信通信系统(中国)有限公司 | 速率匹配方法、解速率匹配方法、装置和基站 |
CN109768843A (zh) * | 2018-12-18 | 2019-05-17 | 京信通信系统(中国)有限公司 | 速率匹配方法、解速率匹配方法、装置和基站 |
CN109768843B (zh) * | 2018-12-18 | 2021-09-03 | 京信网络系统股份有限公司 | 速率匹配方法、解速率匹配方法、装置和基站 |
CN112731282A (zh) * | 2020-12-09 | 2021-04-30 | 浙江工业大学 | 一种基于虚拟子阵交织的声阵列空间滤波方法及系统 |
CN112731282B (zh) * | 2020-12-09 | 2023-12-26 | 浙江工业大学 | 一种基于虚拟子阵交织的声阵列空间滤波方法及系统 |
CN115225203A (zh) * | 2022-06-08 | 2022-10-21 | 芯翼信息科技(上海)有限公司 | 一种数据的解交织方法、装置、电子设备及存储介质 |
CN115225203B (zh) * | 2022-06-08 | 2024-04-12 | 芯翼信息科技(上海)有限公司 | 一种数据的解交织方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2011095115A1 (zh) | 2011-08-11 |
CN101800625B (zh) | 2013-03-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101800625B (zh) | 一种解交织方法和装置 | |
CN101540654B (zh) | 一种交织速率匹配和解交织解速率匹配方法 | |
WO2015124107A1 (zh) | Ldpc码字的交织映射方法及解交织解映射方法 | |
CN101553990B (zh) | Turbo码交织器尺寸的确定 | |
CN101667887A (zh) | 编码方法及其装置、解码方法及其装置 | |
CN116032422A (zh) | 一种数据传输方法和装置 | |
US20230268932A1 (en) | Ethernet coding method and apparatus | |
CN101087181A (zh) | 一种解交织和解速率匹配的方法 | |
CN101060374B (zh) | Turbo编码流水处理装置及方法 | |
CN1179489C (zh) | 用于利用单工码产生(n,3)码和(n,4)码的装置和方法 | |
CN102447521A (zh) | 一种解速率匹配方法及装置 | |
CN108282265A (zh) | 纠错编码方法、装置、设备及计算机可读存储介质 | |
CN1265575C (zh) | W-cdma调制的方法和装置 | |
WO2019237624A1 (zh) | 加扰方法、设备及可读存储介质 | |
KR101038095B1 (ko) | 유사직교부호 발생기 | |
CN104468022B (zh) | 一种传输格式组合的译码方法及装置 | |
CN111371465B (zh) | Ldpc码字的比特交织方法、系统与介质 | |
CN103873188B (zh) | 一种并行解速率匹配方法和装置 | |
CN107408950A (zh) | 发送器及其奇偶校验置换方法 | |
CN113922852B (zh) | 码本确定方法、装置、电子设备及计算机可读存储介质 | |
CN102136878B (zh) | 一种速率匹配实现方法和系统 | |
CN102035558B (zh) | Turbo译码方法和装置 | |
CN111181572B (zh) | Ldpc码字的交织映射方法及解交织解映射方法 | |
CN108039938A (zh) | 电力物联网低功耗并发数据帧编码方法及系统 | |
CN102340319A (zh) | Turbo码速率匹配方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |