CN102356554A - Turbo码数据交织处理方法和用于交织Turbo码数据的交织器 - Google Patents
Turbo码数据交织处理方法和用于交织Turbo码数据的交织器 Download PDFInfo
- Publication number
- CN102356554A CN102356554A CN2011800017717A CN201180001771A CN102356554A CN 102356554 A CN102356554 A CN 102356554A CN 2011800017717 A CN2011800017717 A CN 2011800017717A CN 201180001771 A CN201180001771 A CN 201180001771A CN 102356554 A CN102356554 A CN 102356554A
- Authority
- CN
- China
- Prior art keywords
- data
- piecemeal
- unit
- interleaving
- address
- 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
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/27—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes using interleaving techniques
- H03M13/2771—Internal interleaver for turbo codes
- H03M13/2775—Contention or collision free turbo code internal interleaver
Abstract
一种Turbo码数据交织处理方法和用于交织Turbo码数据的交织器,能够降低交织计算的复杂度。所述方法包括:将Turbo码数据块分割为m个数据分块,所述m个数据分块中的每个数据分块包括Kq个数据单位;m和Kq均为正整数;在一个数据分块内对所述Kq个数据单位进行交织处理,分别得到所述Kq个数据单位在所述一个数据分块内的交织地址;对所述m个数据分块进行交织处理,分别得到所述m个数据分块的交织地址;利用所述Kq个数据单位在所述一个数据分块内的交织地址以及所述m个数据分块的交织地址生成Kq×m个数据单位的交织地址结果。
Description
技术领域
本发明实施例涉及通信领域,尤其涉及一种Turbo码数据交织处理方法和用于交织Turbo码数据的交织器。
背景技术
Turbo(特博)码技术是一种具有较强纠错能力的差错控制编码技术,广泛应用于通信系统和大容量磁存储系统等领域。Turbo码译码器采用反馈迭代结构,每级译码模块除了交织器、解交织器外主要包括两个级联的分支译码器。一个分支译码器输出的软判决信息经过处理作为外信息输入另一个分支译码器,形成迭代译码,在迭代一定级数后硬判决输出。一个分支也称为一个数据分块。
如附图1所示,是Turbo码译码器的结构示意图。整个Turbo码译码器由上分支译码器(图中使用DEC1表示)和下分支译码器(图中使用DEC2表示)组成,两个译码器的内部实现结构可完全相同,两个译码器的输入输出数据不同。对于DEC1,其输入和输出数据均为顺序数据,而对于DEC2,其输入和输出数据均为交织数据。每个分支译码器的输入包含3路数据,分别是系统位数据校验位数据(或)和先验信息(或)。Turbo码译码是一个迭代过程,上分支译码器DEC1和下分支译码器DEC2交替进行。上分支译码器DEC1的输出作为下分支译码器DEC2的输入,而下分支译码器DEC2的输出又作为上分支译码器DEC1的输入。Turbo码译码有效地利用了迭代增益,通过外部信息(先验信息Le)提高译码性能。最终采用多少次迭代译码由系统性能仿真结果决定。首次译码迭代时的先验信息Le取值为0(表示无任何先验信息)。
由附图1可看出,输入下分支码译码器DEC2的数据需要经过交织处理,即,将顺序数据转换成交织数据,在输出时又将交织数据转换成顺序数据。交织地址的实时计算量比较大,一般采用在译码前通过迭代计算产生一个完整的交织地址查找表,所产生的交织地址查找表的大小为6144×13比特,具体的计算过程如下:
c′i=c∏(i)
Turbo内交织公式为:∏(i)=(f1·i+f2·i2)mod K
其中c0,c1,c2,c3,...,cK-1为输入序列,c′0,c′1,...,c′K-1为输出序列,K为码块长度,i为输入bit的序号,取值范围为0~K-1。f1,f2是由K决定的值。
由于以上的公式中包含乘法运算和求模mod(除法)运算,运算量相对较大。现有技术了提供以下的迭代方法来计算交织地址:
∏(j+1)=(f1·(j+1)+f2·(j+1)2)mod K
=(f1·j+f2·j2+f1+f2+2f2j)mod K
=(∏(j)+G(j))mod K
其中,G(j+1)=(G(j)+2f2)mod K。
从上述方法可以得知,现有技术提供的计算方法只需要进行加法和减法运算。交织地址计算过程可以如下表1所示:
j | G(j) | ∏(j) |
0 | (f1+f2)mod K | 0 |
1 | (G(0)+2f2)mod K | (G(0)+∏(0))mod K |
2 | (G(1)+2f2)mod K | (G(1)+∏(1))mod K |
3 | (G(2)+2f2)mod K | (G(2)+∏(2))mod K |
4 | (G(3)+2f2)mod K | (G(3)+∏(3))mod K |
... | ... | ... |
表1
虽然,上述现有技术提供的计算方法显著降低了计算的复杂度,但是这种计算方法比较复杂,产生的交织地址查找表相对较大,该方法需要针对每个数据分别进行交织计算,无论这样的处理通过软件还是硬件来实现,达到计算的成本都比较高。
发明内容
本发明实施例提供了一种Turbo码数据交织处理方法和用于交织Turbo码数据的交织器,能够降低交织计算的复杂度。
本发明实施例提供的一种Turbo码数据交织处理方法,所述方法包括:
将Turbo码数据块分割为m个数据分块,所述m个数据分块中的每个数据分块包括Kq个数据单位;m和Kq均为正整数;
在一个数据分块内对所述Kq个数据单位进行交织处理,分别得到所述Kq个数据单位在所述一个数据分块内的交织地址;
对所述m个数据分块进行交织处理,分别得到所述m个数据分块的交织地址;
利用所述Kq个数据单位在所述一个数据分块内的交织地址以及所述m个数据分块的交织地址生成Kq×m个数据单位的交织地址结果。
本发明实施例提供的一种用于Turbo码数据的交织器,包括:
分割单元,用于将Turbo码数据块分割为m个数据分块,所述m个数据分块中的每个数据分块包括Kq个数据单位;m和Kq均为正整数;
第一处理单元,用于在一个数据分块内对所述Kq个数据单位进行交织处理,分别得到所述Kq个数据单位在所述一个数据分块内的交织地址;
第二处理单元,用于对所述m个数据分块进行交织处理,分别得到所述m个数据分块的交织地址;
生成单元,用于利用所述Kq个数据单位在所述一个数据分块内的交织地址以及所述m个数据分块的交织地址生成Kq×m个数据单位的交织地址结果。
从上述本发明提供的实施例可知,在采用将整个待交织数据块划分为多个数据分块进行交织的处理技术中,可将整个交织过程分解为进行每个数据分块内数据的内部交织的过程和不同数据分块间的交织的过程,并综合这两个过程得到的结果得到最终交织结果,并降低计算实现的复杂度,从而降低了计算成本。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对现有技术或实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,还可以如这些附图获得其他的附图。
图1是现有技术提供的Turbo码译码器的结构示意图;
图2是本发明实施例提供的一种Turbo码数据交织处理方法流程示意图;
图3是本发明实施例提供的一种用于交织Turbo码数据的交织器的结构示意图;
图4是本发明实施例提供的将顺序地址,即交织前地址,映射至交织地址的示意图;
图5是本发明实施例提供的另一种Turbo码数据交织处理方法流程示意图;
图6为本发明实施例提供的一种将多个数据单位按照每个数据单位的交织地址结果存入存储设备的示意图;
图7为本发明实施例提供的一种交织设备的示意图。
具体实施方式
本发明实施例提供了一种交织地址查找表的获取方法和装置,能够降低交织地址计算的复杂度。
请参阅图2,本发明实施例提供的Turbo码数据交织处理方法流程示意图,主要包括:
S201,将Turbo码数据块分割为m个数据分块,所述m个数据分块中的每个数据分块包括Kq个数据单位;m和Kq均为正整数。
S202:在一个数据分块内对所述Kq个数据单位进行交织处理,分别得到所述Kq个数据单位在所述一个数据分块内的交织地址。
S203:对所述m个数据分块进行交织处理,分别得到所述m个数据分块的交织地址。
S204:利用所述Kq个数据单位在所述一个数据分块内的交织地址以及所述m个数据分块的交织地址生成Kq×m个数据单位的交织地址结果。后续可进一步根据每个数据单位的交织地址结果得到最终需要的交织后的数据。
通过上述技术方案,由于在多个数据分块中位于相同位置上数据单位在交织之后依然位于各个数据分块中的相同位置上,只是数据单位的具体位置发生了一定的偏移,因此可将整个交织过程分解为进行每个数据分块内数据的内部交织的过程和不同数据分块间的交织的过程,并综合这两个过程得到的结果得到最终交织结果,可以显著减小生成的交织地址查找表的规模,并减低交织计算复杂度,从而降低了计算成本。本实施例中的一个数据单位在数据分块内的交织地址即为该数据单位在分支内做交织之后的交织地址。一个数据分块的交织地址即是对该数据分块与其它数据分块交织之后的得到的针对该数据分块的交织地址。本实施例的一个数据单位可以是一个比特,也可为其它数据单位,本实施例对此不做限定。
对于每个数据分块内数据的内部交织的过程,可通过查询预设的针对所述Kq个数据单位的交织表,得到所述Kq个数据单位中的第j个数据单位在所述一个数据分块内的交织地址。该交织表可存在一个存储设备中,当需要进行交织计算时,可查表来实现交织处理。当然,也可通过硬件计算来实现数据分块内数据的交织。例如,可基于公式[f1·j+f2·j2]mod Kq计算得到所述Kq个数据单位中的第j个数据单位在所述一个数据分块内的交织地址。本实施例对此不做限定。f1、f2是与所述Turbo码数据块长度相关的预设值,可以被配置在交织器之中,或由交织器中的其它计算单元计算得到。本方法可通过处理器运算得到数据单位在一个数据分块内的交织地址。该处理器得到的结果可被汇总成为一个交织表并存储,后续进行的数据分块内的交织可通过查表进行。也可预先将这样一个表格以软件形式存储或以硬件的形式集成在电路之中,通过查该表来得到数据分块内的交织地址,而不需要处理器的计算。本实施例中的符号表示向下取整。
对于不同数据分块间的交织的过程,通过查询预设的针对所述m个数据分块的交织表,分别得到所述m个数据分块的交织地址。所述交织表可预先并保存在存储设备中。当然,也可通过硬件设备进行计算,并将得到的数据汇总成所述表格进行存储。为了简化计算过程,在进行不同数据分块间的交织计算时,可对所述m个数据分块中的第一数据分块进行计算,得到所述第一数据分块的交织地址;基于所述第一数据分块的交织地址计算得到m个数据分块中其余数据分块的交织地址。相对于每一个数据分块的分别交织计算,后续的数据分块交织计算可利用第一数据分块的计算结果,便于简化计算。
在本实施例中,进行首次计算时可利用硬件计算来获得交织结果,并生成一个交织表,其中包括针对所述m个数据分块的交织表结果和针对所述Kq个数据单位的交织表结果,当然这两个交织表结果可以分别以两个表来表示,本实施例对此不做限定。在后续计算时,可通过查询该存储的交织表来得到交织处理的结果。该交织表相对现有技术中的交织表复杂度有所降低,可减小查表运算的时间。
图3为本发明实施例提供的一种用于交织Turbo码数据的交织器30的结构示意图,该交织器30包括:
分割单元31,用于将Turbo码数据块分割为m个数据分块,所述m个数据分块中的每个数据分块包括Kq个数据单位;m和Kq均为正整数;
第一处理单元32,用于在一个数据分块内对所述Kq个数据单位进行交织处理,分别得到所述Kq个数据单位在所述一个数据分块内的交织地址;
第二处理单元33,用于对所述m个数据分块进行交织处理,分别得到所述m个数据分块的交织地址;
生成单元34,用于利用所述Kq个数据单位在所述一个数据分块内的交织地址以及所述m个数据分块的交织地址生成Kq×m个数据单位的交织地址结果。后续生成单元34可进一步根据每个数据单位的最终交织地址结果得到最终需要的交织后的数据。
上述每个单元可由一个处理器来实现,每个处理器可由逻辑集成电路形成。所述交织器30可位于一个Turbo码译码器中,用于对Turbo码数据进行计算处理,得到每一个数据单位的交织后的地址结果。所述第一处理单元32可在所述一个数据分块内,通过查询预设的针对所述Kq个数据单位的交织表得到所述Kq个数据单位中的第j个数据单位在所述一个数据分块内的交织地址,或者,基于公式[f1·j+f2·j2]mod Kq计算得到所述Kq个数据单位中的第j个数据单位在所述一个数据分块内的交织地址。第二处理单元33可对所述m个数据分块中的第一数据分块进行计算,得到所述第一数据分块的交织地址;并基于所述第一数据分块的交织地址计算得到m个数据分块中其余数据分块的交织地址,以便简化计算过程。所述第二处理单元33还可通过查询预设的针对所述m个数据分块的交织表,分别得到所述m个数据分块的交织地址。
为便于描述,下面举例进行说明。在本发明提供的一个实施例中,所述待译码数据块长度为p·2n且被分成m个长度为Kq的译码数据分块,所述Kq、p、m均为正整数,即p·2n=m·Kq,且Kq=r·2n,所述r为正整数。换言之,本发明实施例所述的待译码数据块是由p·2n个数据组成的一种数据块,该数据块的长度能够被2n整除,在输入至Turbo码译码器前被分成m个长度为Kq的译码数据分块,每个译码数据分块的长度也能够被2n整除。本发明实施例还引入了顺序地址和交织地址的定义。所谓顺序地址,就是指数据在交织之前被缓存时其存储单元的地址,而交织地址是指数据在交织之后(成为交织数据)缓存时其存储单元的地址,使用缓存交织数据的存储单元的地址可组成一个交织地址查找表,在取交织数据时只需要查找交织地址查找表即可。而在本发明实施例中,数据单位的交织地址结果被分别以该数据单位在其数据分块内的交织地址,即该数据单位在该数据分块中的交织地址,以及该数据分块的交织地址,即数据单位所在的所述数据分块的交织地址来表达。
对于上述长度为m·Kq的待译码数据块,第i个分支(或译码的数据分块)第j个地址单元,其顺序地址为i·Kq+j,则对应的交织地址为:
∏(i·Kq+j)=(f1·(i·Kq+j)+f2·(i·Kq+j)2)mod(m·Kq)................公式(1)
此处,mod是求模符号,f1、f2与所述待译码数据块长度的m·Kq相关。在本发明实施例中,顺序地址为i·Kq+j的交织地址的分支内偏移地址为:
H(i,j)=∏(i·Kq+j)mod Kq=[(f1·(i·Kq+j)+f2·(i·Kq+j)2)mod(m·Kq)]mod Kq=(f1·j+f2·j2)mod Kq。
由上述表达式(f1·j+f2·j2)mod Kq可知,顺序地址为i·Kq+j的交织地址的分支内偏移地址与分支号(即交织后数据分块的块号)无关。附图4的顺序地址映射至交织地址的示意图也说明了上述观点,即对于任意译码数据分块的第j个地址单元,其交织地址的分支内偏移地址是j的函数,例如,分支内偏移地址都为“h”,此处以“h”简单示意。因此,只要待交织数据在各个译码数据分块中的分支内偏移地址相同,那么,在交织之后,得到的最终交织地址的分支内偏移地址也是相同的,相当于所有译码数据分块的第j个地址单元对应的数据整体平移至交织地址为“h”的地址单元中。相比于交织前,译码数据分块之间的顺序也发生了变化,例如,对于第0个译码数据分块的数据,如附图4所示,移动至第i个分支,而不再是在第0个交织数据块中。因此,虽然分支之间发生交织,但每个分支内地址相同的数据在交织之后的分支内地址也都相同。因此,只需要进行一次分支内的分支地址计算,并进一步计算分支之间的交织结果,综合这两种结果即得到交织后的每个数据单位的地址,可降低交织计算复杂度,生成的两个交织表分别是分支内交织表和分支间交织表,后续查表时总的复杂度降低。一个数据单位在分支内的顺序为j,则该数据单位分支内的交织地址为“h”,即分支内交织地址。而如图4所示,第m个数据分支间的交织地址为0,即第m个分支被交织到第2个分支上,而第1分支被交织到第m个分支。
因此,假设2a-1<m·Kq≤2a,分块数m=2b,本发明实施例可以将整个交织过程分成两步来实现:第一步,先在每个并行分支内部进行行交织;第二步,在每个并行分支之间进行分支交织。如此,交织表的大小就被压缩为分支内索引表和一个分支间索引表,后续进行查表计算将变得简单。当然这两个表可用两个交织表表示,也可只有一个表。
根据对交织结果的研究发现,对于连续四个数据单元而言,它们的分支间交织地址的模4结果必互斥,即连续4个数据单元在交织后分别属于4个不同的分支。可以考虑将连续多个顺序地址按模4结果分为4组,这样在根据求得的交织地址读出存储器中存储的数据单元以便生成交织后的数据时,同一时刻最多可以访问4个数据单元。经过进一步扩展后,最终可以发现如果待译码数据块的长度可以被2n整除,则其连续的2n个顺序地址也具有此规律。进一步地,如图5所示,在图2基础上,本实施例提供的方法还可包括:S205:将每一个数据单位的交织前的地址(即顺序地址)进行模N计算,例如N可取2n。将计算结果相同的数据单位作为一个组,从而得到2n个组。将每个组的数据单位存入一个存储空间,如一个寄存器。进一步地,执行S206:并行读取N个存储空间中保存的数据单位,并根据在S204中求得的交织地址结果对并行读出的数据单位进行重新排序得到交织后的数据。本实施例的一个数据单位可以是一个比特,也可为其它数据单位,本实施例对此不做限定。S205可在S201之前进行,也可在S201至S204之间的任一时刻执行。例如,S205可与S201至S204中的任一个同时执行,本实施例对此不做限定。如图6所示,多个数据单位模N后,分别按照取模的结果存入N个存储单元。在并行读取时,从N个存储单元中读出的N位数据单位属于不同的交织后的分支,从而可根据所述交织地址结果对并行读出的数据单位重新排序得到交织后的数据。附图7为本发明实施例提供的一种交织设备的示意图,该交织设备包括如附图3所示的交织器30,并在此基础上进一步包括:存入单元71,用于将每一个数据单位的交织前的地址进行模N计算,例如N可取2n,并将计算结果相同的数据单位存入N个存储空间72中的同一个存储空间;以及输出单元73,用于进一步从所述N个存储空间72并行读取数据单位,并根据来自所述交织器30的交织地址结果将读出的数据单位重新排序,得到交织后的数据。交织器30在本实施例中实现交织处理计算,而整个交织设备则基于交织器30的计算的交织地址结果将交织前的数据转化为交织后的数据,即将多个数据单位进行交织后得到重新排序的数据单位。当然,交织设备在处理和输出交织后数据时,也不一定利用N个存储空间进行并行存储和读取,只通过一个存储设备进行操作可能会使数据输出速度减慢,但由于采用了交织器30,通过第一处理单元32进行每个数据分块内数据的内部交织的过程和通过第二处理单元33进行不同数据分块间的交织的过程,并通过生成单元34综合这两个交织处理结果得到最终交织结果,可降低计算实现的复杂度,从而降低了计算成本。
作为本发明一个实施例,对于长度是p·2n、被分成m个长度为Kq的译码数据分块的待译码数据块,在求取该待译码数据块中顺序地址为i·Kq+j的数据的交织地址的分支号(即该数据分块的交织地址)时,具体求取过程可以是:计算顺序地址为第0个分支的交织后的分支号;根据所述顺序地址为第0个分支的交织后的分支号,求取第1个译码数据分块至第m-1个译码数据分块的交织后的分支号。具体地,根据所述顺序地址为第0个分支的交织后的分支号,求取第1个译码数据分块至第m-1个译码数据分块的交织后的分支号包括:
将顺序地址为第0个分支的交织地址的分支号加上与i相关的余量得到值y,其中,与i相关的余量为(f1·i+2f2·i·j+f2·i2·Kq)mod m,此处,f1、f2与所述待译码数据块长度的p·2n相关,所述(f1·i+2f2·i·j+f2·i2·Kq)mod m表示f1·i+2f2·i·j+f2·i2·Kq对m取模;
将所述y对所述m取模,以所述y对所述m取模所得的值作为顺序地址为第i个分支第j个地址单元的交织地址的分支号,即交织后的分支号。
在上述实施例中,顺序地址为第0个分支第j个地址单元的交织地址的分支号的计算过程可以是:将顺序地址为第0个分支第j个地址单元的交织地址除以Kq;对计算所得的商向下取整,以向下取整所得的值作为顺序地址为第0个分支第j个地址单元的交织地址的分支号。
具体地,顺序地址i·Kq+j中,第0个分支第j个地址单元的交织地址即为∏(0·Kq+j)=∏(j),将∏(j)除以Kq即得∏(j)/Kq,向下取整所得的值作为顺序地址为第0个分支第j个地址单元的交织地址的分支号。
综上,长度是p·2n、被分成m个长度为Kq的译码数据分块的待译码数据块中,第i·Kq+j个数据单位的交织地址的分支号可以使用表达式表达。根据这样一个公式,在计算得到第0分支的分支偏移地址,即分支间交织地址后,可利用该分支偏移地址继续计算后续其它分支的分支偏移地址,即得到其它分支的分支间交织地址。
例如,长度是6144、被分成16个长度为384的译码数据分块的待译码数据块中,在待交织数据中对应顺序地址为i·384+j的交织地址的分支号(即数据分块的交织地址,也即在分块间交织后第i个分支转移到分支号)可以使用表达式表达,具体地,待交织数据对应顺序地址为1·384+j、2·384+j、...、14·384+j、15·384+j的交织地址的分支号分别可以使用表达式:
表达。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件完成,该程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。本实施例提供的交织器30和交织设备用于数据单位的交织处理,可应用在各种Turbo码交织场景下,如LTE基带处理器的Turbo码译码器中。
以上对本发明所提供的一种交织地址查找表的获取方法和装置进行了详细介绍,对于本领域的一般技术人员,依据本发明实施例的思想,在具体实施方式及应用范围上均会有改变之处,因此,本说明书内容不应理解为对本发明的限制。
Claims (11)
1.一种Turbo码数据交织处理方法,其特征在于,所述方法包括:
将Turbo码数据块分割为m个数据分块,所述m个数据分块中的每个数据分块包括Kq个数据单位;m和Kq均为正整数;
在一个数据分块内对所述Kq个数据单位进行交织处理,分别得到所述Kq个数据单位在所述一个数据分块内的交织地址;
对所述m个数据分块进行交织处理,分别得到所述m个数据分块的交织地址;
利用所述Kq个数据单位在所述一个数据分块内的交织地址以及所述m个数据分块的交织地址生成Kq×m个数据单位的交织地址结果。
2.根据权利要求1所述的方法,其特征在于,所述在一个数据分块内对所述Kq个数据单位进行交织处理,分别得到所述Kq个数据单位在所述一个数据分块内的交织地址包括:
在所述一个数据分块内,通过查询预设的针对所述Kq个数据单位的交织表,得到所述Kq个数据单位中的第j个数据单位在所述一个数据分块内的交织地址。
3.根据权利要求1所述的方法,其特征在于,所述在一个数据分块内对所述Kq个数据单位进行交织处理,分别得到所述Kq个数据单位在所述一个数据分块内的交织地址包括:
在所述一个数据分块内,基于公式[f1·j+f2·j2]mod Kq计算得到所述Kq个数据单位中的第j个数据单位在所述一个数据分块内的交织地址;
其中,f1、f2是与所述Turbo码数据块长度相关的预设值。
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述对所述m个数据分块进行交织处理,分别得到所述m个数据分块的交织地址包括:
对所述m个数据分块中的第一数据分块进行交织计算,得到所述第一数据分块的交织地址;
基于所述第一数据分块的交织地址计算得到m个数据分块中其余数据分块的交织地址。
5.根据权利要求1至3中任一项所述的方法,其特征在于,所述对所述m个数据分块进行交织处理,分别得到所述m个数据分块的交织地址包括:
通过查询预设的针对所述m个数据分块的交织表,分别得到所述m个数据分块的交织地址。
6.一种用于交织Turbo码数据的交织器,其特征在于,包括:
分割单元,用于将Turbo码数据块分割为m个数据分块,所述m个数据分块中的每个数据分块包括Kq个数据单位;m和Kq均为正整数;
第一处理单元,用于在一个数据分块内对所述Kq个数据单位进行交织处理,分别得到所述Kq个数据单位在所述一个数据分块内的交织地址;
第二处理单元,用于对所述m个数据分块进行交织处理,分别得到所述m个数据分块的交织地址;
生成单元,用于利用所述Kq个数据单位在所述一个数据分块内的交织地址以及所述m个数据分块的交织地址生成Kq×m个数据单位的交织地址结果。
7.根据权利要求6所述的交织器,其特征在于,所述第一处理单元,用于在所述一个数据分块内,通过查询预设的针对所述Kq个数据单位的交织表,得到所述Kq个数据单位中的第j个数据单位在所述一个数据分块内的交织地址。
8.根据权利要求6所述的交织器,其特征在于,所述第一处理单元,用于在所述一个数据分块内,基于公式[f1·j+f2·j2]mod Kq计算得到所述Kq个数据单位中的第j个数据单位在所述一个数据分块内的交织地址;
其中,f1、f2是与所述Turbo码数据块长度相关的预设值。
9.根据权利要求6至8中任一项所述的交织器,其特征在于,所述第二处理单元,用于对所述m个数据分块中的第一数据分块进行交织计算,得到所述第一数据分块的交织地址;基于所述第一数据分块的交织地址计算得到m个数据分块中其余数据分块的交织地址。
10.根据权利要求6至8中任一项所述的交织器,其特征在于,所述第二处理单元,用于通过查询预设的针对所述m个数据分块的交织表,分别得到所述m个数据分块的交织地址。
11.一种交织设备,其特征在于,包括如权利要求6至10中任一项所述的交织器、以及存入单元、N=2n个存储空间和输出单元;
所述存入单元用于将每一个数据单位的交织前的地址进行模N计算,并将计算结果相同的数据单位存入所述N个存储空间中的同一个存储空间;
所述输出单元用于从所述N个存储空间并行读取数据单位,并根据来自所述交织器的所述交织地址结果将并行读出的数据单位重新排序,得到交织后的数据。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2011/078799 WO2012083714A1 (zh) | 2011-08-23 | 2011-08-23 | Turbo码数据交织处理方法和用于交织turbo码数据的交织器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102356554A true CN102356554A (zh) | 2012-02-15 |
CN102356554B CN102356554B (zh) | 2013-06-12 |
Family
ID=45579280
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201180001771.7A Active CN102356554B (zh) | 2011-08-23 | 2011-08-23 | Turbo码数据交织处理方法和用于交织Turbo码数据的交织器 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN102356554B (zh) |
WO (1) | WO2012083714A1 (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103905066A (zh) * | 2012-12-25 | 2014-07-02 | 联想(北京)有限公司 | Turbo码译码装置和方法 |
CN104184536A (zh) * | 2013-05-21 | 2014-12-03 | 华为技术有限公司 | 基于LTE Turbo译码的子块交织控制方法、装置及设备 |
CN106301393A (zh) * | 2016-07-22 | 2017-01-04 | 西安空间无线电技术研究所 | 一种基于Turbo编码的交织地址快速计算方法 |
CN106603191A (zh) * | 2015-10-15 | 2017-04-26 | 普天信息技术有限公司 | 一种基于并行处理的分块交织方法及装置 |
CN107241163A (zh) * | 2017-04-28 | 2017-10-10 | 华为技术有限公司 | 一种交织处理方法及装置 |
WO2019033991A1 (zh) * | 2017-08-15 | 2019-02-21 | 株式会社Ntt都科摩 | 一种用于极化码的速率匹配交织方法及装置 |
CN109379088A (zh) * | 2018-12-13 | 2019-02-22 | 浙江天则通信技术有限公司 | 一种并行Turbo码迭代译码的方法及系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101399554A (zh) * | 2007-09-30 | 2009-04-01 | 华为技术有限公司 | 一种基于ldpc码的交织方法和解交织方法及其装置 |
CN101969310A (zh) * | 2010-10-22 | 2011-02-09 | 上海交通大学 | Turbo码并行译码器的QPP内交织器及其交织方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6785859B2 (en) * | 2000-08-04 | 2004-08-31 | Texas Instruments Incorporated | Interleaver for variable block size |
-
2011
- 2011-08-23 WO PCT/CN2011/078799 patent/WO2012083714A1/zh active Application Filing
- 2011-08-23 CN CN201180001771.7A patent/CN102356554B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101399554A (zh) * | 2007-09-30 | 2009-04-01 | 华为技术有限公司 | 一种基于ldpc码的交织方法和解交织方法及其装置 |
CN101969310A (zh) * | 2010-10-22 | 2011-02-09 | 上海交通大学 | Turbo码并行译码器的QPP内交织器及其交织方法 |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103905066B (zh) * | 2012-12-25 | 2018-04-27 | 联想(北京)有限公司 | Turbo码译码装置和方法 |
CN103905066A (zh) * | 2012-12-25 | 2014-07-02 | 联想(北京)有限公司 | Turbo码译码装置和方法 |
CN104184536A (zh) * | 2013-05-21 | 2014-12-03 | 华为技术有限公司 | 基于LTE Turbo译码的子块交织控制方法、装置及设备 |
CN104184536B (zh) * | 2013-05-21 | 2018-05-11 | 华为技术有限公司 | 基于LTE Turbo译码的子块交织控制方法、装置及设备 |
CN106603191A (zh) * | 2015-10-15 | 2017-04-26 | 普天信息技术有限公司 | 一种基于并行处理的分块交织方法及装置 |
CN106603191B (zh) * | 2015-10-15 | 2019-07-12 | 普天信息技术有限公司 | 一种基于并行处理的分块交织方法及装置 |
CN106301393A (zh) * | 2016-07-22 | 2017-01-04 | 西安空间无线电技术研究所 | 一种基于Turbo编码的交织地址快速计算方法 |
CN106301393B (zh) * | 2016-07-22 | 2019-09-06 | 西安空间无线电技术研究所 | 一种基于Turbo编码的交织地址快速计算方法 |
CN107241163A (zh) * | 2017-04-28 | 2017-10-10 | 华为技术有限公司 | 一种交织处理方法及装置 |
CN107241163B (zh) * | 2017-04-28 | 2020-02-21 | 华为技术有限公司 | 一种交织处理方法及装置 |
WO2019033991A1 (zh) * | 2017-08-15 | 2019-02-21 | 株式会社Ntt都科摩 | 一种用于极化码的速率匹配交织方法及装置 |
CN111194523A (zh) * | 2017-08-15 | 2020-05-22 | 株式会社Ntt都科摩 | 一种用于极化码的速率匹配交织方法及装置 |
CN111194523B (zh) * | 2017-08-15 | 2023-10-20 | 株式会社Ntt都科摩 | 一种用于极化码的速率匹配交织方法及装置 |
CN109379088A (zh) * | 2018-12-13 | 2019-02-22 | 浙江天则通信技术有限公司 | 一种并行Turbo码迭代译码的方法及系统 |
CN109379088B (zh) * | 2018-12-13 | 2022-03-08 | 浙江天则通信技术有限公司 | 一种并行Turbo码迭代译码的方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
WO2012083714A1 (zh) | 2012-06-28 |
CN102356554B (zh) | 2013-06-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102356554B (zh) | Turbo码数据交织处理方法和用于交织Turbo码数据的交织器 | |
CN101233693B (zh) | 利用ldpc编码的编码器和解码器 | |
KR20200116886A (ko) | 송신 장치 및 그의 인터리빙 방법 | |
CN101192833B (zh) | 一种低密度校验码ldpc并行编码的装置及方法 | |
KR101889536B1 (ko) | 송신 장치 및 그의 인터리빙 방법 | |
CN101951264B (zh) | 一种多码率准循环低密度奇偶校验码解码器 | |
WO2016112857A1 (zh) | Ldpc码编码器和译码器 | |
CN107919874B (zh) | 校验子计算基本校验节点处理单元、方法及其计算机程序 | |
CN102122966A (zh) | 基于信道极化的交错结构重复码的编码器及其编译码方法 | |
CN107786211B (zh) | 一种ira-qc-ldpc码的代数结构获取方法、编码方法和编码器 | |
KR101965371B1 (ko) | 송신 장치 및 그의 인터리빙 방법 | |
CN102545913A (zh) | 一种迭代译码方法及系统 | |
CN107979445B (zh) | 使用预先排序的输入的基于基本校验节点的校正子解码 | |
JP2007215089A (ja) | 復号装置及び復号方法 | |
US9104589B1 (en) | Decoding vectors encoded with a linear block forward error correction code having a parity check matrix with multiple distinct pattern regions | |
CN102377437A (zh) | 一种准循环低密度奇偶校验码编码方法和装置 | |
Lin et al. | Efficient shuffled decoder architecture for nonbinary quasi-cyclic LDPC codes | |
CN103023515B (zh) | 基于块列循环的cmmb中ldpc编码器和编码方法 | |
CN102843150A (zh) | 一种低延时的qc-ldpc并行编码器和编码方法 | |
CN102857238A (zh) | 基于求和阵列的深空通信中ldpc编码器和编码方法 | |
CN101262230A (zh) | 一种低密度奇偶校验码矩阵的设计方法 | |
CN102611465B (zh) | 结构化多元非规则重复累积码的编码器与编码方法 | |
CN103236858A (zh) | 基于循环左移的cmmb中准循环ldpc串行编码器 | |
Raviv | Asymptotically optimal regenerating codes over any field | |
CN103269227A (zh) | 基于循环左移的深空通信中准循环ldpc串行编码器 |
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 | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20210423 Address after: Unit 3401, unit a, building 6, Shenye Zhongcheng, No. 8089, Hongli West Road, Donghai community, Xiangmihu street, Futian District, Shenzhen, Guangdong 518040 Patentee after: Honor Device Co.,Ltd. Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd. |