WO2012083714A1 - Turbo码数据交织处理方法和用于交织turbo码数据的交织器 - Google Patents

Turbo码数据交织处理方法和用于交织turbo码数据的交织器 Download PDF

Info

Publication number
WO2012083714A1
WO2012083714A1 PCT/CN2011/078799 CN2011078799W WO2012083714A1 WO 2012083714 A1 WO2012083714 A1 WO 2012083714A1 CN 2011078799 W CN2011078799 W CN 2011078799W WO 2012083714 A1 WO2012083714 A1 WO 2012083714A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
interleaving
address
block
units
Prior art date
Application number
PCT/CN2011/078799
Other languages
English (en)
French (fr)
Inventor
何星
简红清
叶国和
Original Assignee
华为技术有限公司
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Priority to CN201180001771.7A priority Critical patent/CN102356554B/zh
Priority to PCT/CN2011/078799 priority patent/WO2012083714A1/zh
Publication of WO2012083714A1 publication Critical patent/WO2012083714A1/zh

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/27Coding, 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/2771Internal interleaver for turbo codes
    • H03M13/2775Contention or collision free turbo code internal interleaver

Definitions

  • the embodiments of the present invention relate to the field of communications, and in particular, to a Turbo code data interleaving processing method and an interleaver for interleaving Turbo code data. Background technique
  • Turbo code technology is an error control coding technology with strong error correction capability, which is widely used in communication systems and large-capacity magnetic storage systems.
  • the Turbo code decoder adopts a feedback iterative structure, and each stage of the decoding module mainly includes two cascaded branch decoders in addition to the interleaver and the deinterleaver.
  • the soft decision information output by a branch decoder is processed as external information input to another branch decoder to form an iterative decoding, which is hard decision output after iterating a certain number of stages.
  • a branch is also called a data block.
  • FIG. 1 it is a schematic structural diagram of a turbo code decoder.
  • the entire Turbo code decoder consists of an upper branch decoder (represented by DEC1 in the figure) and a lower branch decoder (represented by DEC2 in the figure).
  • the internal implementation structures of the two decoders can be identical.
  • the input and output data of the encoder are different. For DEC1, both input and output data are sequential data, while for DEC2, both input and output data are interleaved data.
  • the input of each branch decoder contains 3 channels of data, which are system bit data (y k ° ), parity bit data (or y k 2 ), and a priori information (Lt or).
  • Turbo code decoding is an iterative process in which the upper branch decoder DEC1 and the lower branch decoder DEC2 alternate.
  • the output 4 of the upper branch decoder DEC1 serves as the input of the lower branch decoder DEC2, and the output of the lower branch decoder DEC2 serves as the input of the upper branch decoder DEC1.
  • Turbo code decoding effectively utilizes iterative gain and improves decoding performance through external information (a priori information L 6 ). How many iterations of decoding are ultimately used is determined by the system performance simulation results.
  • the a priori information L e at the time of the first decoding iteration is 0 (indicating that there is no prior information).
  • the data input to the lower branch code decoder DEC2 needs to be subjected to interleaving processing, i.e., the sequential data is converted into interleaved data, and the interleaved data is converted into sequential data at the time of output.
  • the real-time calculation of the interleaved address is relatively large, and it is generally used to generate a complete one by iterative calculation before decoding.
  • the interleave address lookup table has a size of 6144 X 13 bits. The specific calculation process is as follows:
  • , ⁇ , - 1 is the input sequence, which is the output sequence
  • K is the code block length
  • i is the serial number of the input bit
  • the value ranges from 0 to K-1.
  • f i, f 2 is a value determined by K.
  • n(j+l) (f 1 '(j+l)+f 2 '(j+l) 2 )modK
  • the embodiment of the invention provides a Turbo code data interleaving processing method and an interleaver for interleaving Turbo code data, which can reduce the complexity of interleaving calculation.
  • a method for interpolating a Turbo code data includes: dividing a Turbo code data block into m data blocks, each of the m data blocks including K q Data units; m and K q are positive integers;
  • An interleaving address result of K q X m data units is generated by using the interleaving address of the K q data units in the one data block and the interleaving address of the m data blocks.
  • a dividing unit configured to divide the Turbo code data block into m data blocks, each of the m data blocks includes K q data units; m and K q are positive integers;
  • First processing means for performing interleaving processing on the K q units of data within a data block, respectively, to give the sub-units of data K q interleaving address within a block of said data;
  • a second processing unit configured to perform interleaving processing on the m data blocks, to obtain interlace addresses of the m data blocks respectively;
  • a generating unit configured to generate an interleaved address result of K q ⁇ m data units by using an interleave address of the K q data units in the one data block and an interleave address of the m data blocks.
  • the entire interleaving process can be decomposed into internal interleaving of data in each data block.
  • the process and the interleaving process between different data blocks, and the results obtained by the two processes are combined to obtain the final interleaving result, and the computational complexity is reduced, thereby reducing the computational cost.
  • FIG. 1 is a schematic structural diagram of a turbo code decoder provided by the prior art
  • FIG. 2 is a schematic flow chart of a method for processing data interleaving of a Turbo code according to an embodiment of the present invention
  • FIG. 3 is a schematic structural diagram of an interleaver for interleaving Turbo code data according to an embodiment of the present invention
  • mapping a sequential address that is, an address before interleaving, to an interleave address according to an embodiment of the present invention
  • FIG. 5 is a schematic flow chart of another Turbo code data interleaving processing method according to an embodiment of the present invention.
  • FIG. 6 is a schematic diagram of storing, according to an embodiment of the present invention, a plurality of data units in a storage device according to a result of an interlaced address of each data unit;
  • FIG. 7 is a schematic diagram of an interleaving device according to an embodiment of the present invention. detailed description
  • the embodiment of the invention provides a method and a device for acquiring an interleaving address lookup table, which can reduce the complexity of the calculation of the interlaced address.
  • a schematic flowchart of a Turbo code data interleaving processing method includes:
  • the Turbo code data block is divided into m data blocks, and each of the m data blocks includes K q data units; and 111 and K q are both positive integers.
  • S203 Perform interleaving processing on the m data blocks, and respectively obtain interlace addresses of the m data blocks.
  • S204 Generate, by using the K q data units, an interleave address in the one data block and an interleave address of the m data blocks to generate an interleave address result of K q ⁇ m data units.
  • the subsequent interleaved data may be further obtained according to the interleaved address result of each data unit.
  • the whole interleaving process is decomposed into a process of performing internal interleaving of data in each data block and an interleaving process between different data blocks, and synthesizing the results obtained by the two processes to obtain a final interleaving result, which can significantly reduce the generated interleaving.
  • the address lookup table scales and reduces the computational complexity of interleaving, thereby reducing computational costs.
  • the interleaving address of one data unit in the data block in this embodiment is the interleaving address after the data unit is interleaved in the branch.
  • the interleaving address of a data block is the interleaved address obtained for the data block after interleaving the data block with other data blocks.
  • One data unit in this embodiment may be one bit or other data units, which is not limited in this embodiment.
  • the preset For the process of internal interleaving of data within each data block, the preset may be
  • the interleaving table may exist in a storage device. When interleaving calculation is required, the table may be looked up to implement interleaving processing.
  • the interleaving of data in the data block can also be realized by hardware calculation. For example, an interleave address of the jth data unit of the K q data units within the one data block may be calculated based on the formula j + f 2 * f] modK q . This embodiment does not limit this.
  • the method can obtain the interleaved address of the data unit in a data block by the processor operation.
  • the results obtained by the processor can be aggregated into an interleaving table and stored, and the interleaving in the subsequent data partitioning can be performed by looking up the table.
  • Such a table may also be stored in software in advance or integrated in the circuit in the form of hardware. By looking up the table, the interleaved address within the data block is obtained without the calculation of the processor.
  • the symbol in this embodiment represents rounding down.
  • the interleave addresses of the m data blocks are respectively obtained by querying the preset interleaving table for the m data blocks.
  • the interleaving table can be pre-stored and stored in a storage device.
  • the calculation can also be performed by the hardware device, and the obtained data is aggregated into the table for storage.
  • the first data block in the m data blocks may be calculated to obtain the first data block.
  • Interleaving address calculating an interleave address of the remaining data blocks in the m data blocks based on the interleave address of the first data block.
  • the subsequent data block interleave calculation can utilize the calculation result of the first data block, which is convenient for the calculation.
  • hardware calculation may be used to obtain an interleaving result when performing the first calculation, and an interleaving table is generated, including an interleaving table result for the m data blocks and an interleaving for the K q data units.
  • the result of the table of course, the two interleaving table results can be represented by two tables, which is not limited in this embodiment.
  • the result of the interleaving process can be obtained by querying the stored interleaving table.
  • the interleaving table has a lower complexity than the interleaving table in the prior art, and can reduce the time of the table lookup operation.
  • FIG. 3 is a schematic structural diagram of an interleaver 30 for interleaving Turbo code data according to an embodiment of the present invention.
  • the interleaver 30 includes:
  • the dividing unit 31 is configured to divide the Turbo code data block into m data blocks, each of the m data blocks includes K q data units; m and K q are positive integers;
  • a first processing unit 32 for performing interleaving processing on the K q units of data within a data block, respectively, to give the sub-units of data K q interleaving address within a block of said data;
  • a second processing unit 33 configured to perform interleaving processing on the m data blocks, to obtain interleave addresses of the m data blocks respectively;
  • the generating unit 34 is configured to generate an interleaved address result of K q X m data units by using an interleave address of the K q data units in the one data block and an interleave address of the m data blocks.
  • the subsequent generation unit 34 may further obtain the finally required interleaved data according to the final interleave address result of each data unit.
  • Each of the above units may be implemented by one processor, and each processor may be formed by a logic integrated circuit.
  • the interleaver 30 can be located in a Turbo code decoder for performing calculation processing on the Turbo code data to obtain an interleaved address result for each data unit.
  • the first processing unit 32 may obtain, in the one data block, the jth data unit in the K q data units by querying a preset interleaving table for the K q data units. Decoding an interleaving address in a data block, or calculating, based on the formula [fj + f 2 * j 2 ] modK q , that the jth data unit of the K q data units is within the one data block Interleave address.
  • the second processing unit 33 may perform calculation on the first data block in the m data blocks to obtain an interlaced manner of the first data block. And calculating, according to the interleave address of the first data block, an interleave address of the remaining data blocks in the m data blocks, so as to calculate the calculation process.
  • the second processing unit 33 may also obtain an interleave address of the m data blocks by querying a preset interleave table for the m data blocks.
  • the data block to be decoded according to the embodiment of the present invention is a data block composed of ⁇ 2 ⁇ data, the length of the data block can be divisible by 2 ⁇ , and is input before being input to the Turbo code decoder.
  • each decoded data block can also be divisible by 2 n .
  • the definition of the sequential address and the interleaved address is also introduced in the embodiment of the present invention.
  • the so-called sequential address refers to the address of the storage unit when the data is buffered before interleaving
  • the interleaved address refers to the address of the storage unit when the data is buffered after being interleaved (becoming interleaved data), and the address of the storage unit using the buffer interleaved data.
  • An interleave address lookup table can be formed, and only the interleave address lookup table needs to be searched for when interleaving data is taken.
  • the interleaved address result of the data unit is respectively the interleaved address in the data block of the data unit, that is, the interleaved address of the data unit in the data block, and the data block
  • the interleaved address that is, the interleaved address of the data block in which the data unit is located, is expressed.
  • the i-th branch (or decoded data block) the j-th address unit whose sequential address is i ⁇ K q + j
  • the corresponding interleave address for: Formula (1)
  • mod is a modulo symbol
  • f 2 is related to m*K q of the length of the data block to be decoded.
  • the intra-branch offset address of the interleaving address with the sequential address i*K q + j is:
  • the schematic diagram of the sequential address mapping to the interleaving address of FIG. 4 also illustrates the above viewpoint, that is, for the j-th address unit of any decoded data block, the intra-branch offset address of the interleaving address is a function of j, for example, a branch
  • the internal offset address is "h", which is indicated by the "h" cartridge.
  • the intra-branch offset address of the obtained final interleave address is also the same, which is equivalent to the data corresponding to the j-th address unit of all the decoded data blocks.
  • the whole is translated into an address unit whose interleave address is "h".
  • the order between the blocks of decoded data is also changed compared to before interleaving. For example, for the data of the 0th decoded data block, as shown in FIG. 4, move to the i-th branch instead of Then in the 0th interleaved data block.
  • the interleave tables are inter-branch interleaving tables and inter-branch interleaving tables, respectively, and the overall complexity of subsequent table lookups is reduced.
  • the order of a data unit in a branch is j, and the interleaving address in the branch of the data unit is "h", that is, the interleaved address in the branch.
  • the interleaving address between the mth data branches is 0, that is, the mth branch is interleaved to the second branch, and the first branch is interleaved to the mth branch.
  • the embodiment of the present invention can implement the entire interleaving process in two steps: first, first performing row interleaving inside each parallel branch; In the second step, branch interleaving is performed between each parallel branch. In this way, the size of the interleaving table is compressed into an intra-branch index table and an inter-branch index table, and the subsequent table lookup calculation becomes a single order.
  • these two tables can be represented by two interleaving tables, or only one table.
  • the modulo 4 results of the inter-branch interleaving addresses must be mutually exclusive, that is, four consecutive data units belong to four different branches after interleaving. It can be considered that the consecutive multiple sequential addresses are divided into four groups according to the modulo 4 result, so that when the data units stored in the memory are read out according to the obtained interleaved address to generate the interleaved data, at most four data units can be accessed at the same time. . After further expansion, it can be finally found that if the length of the data block to be decoded can be divisible by 2 n , its consecutive 2 n sequential addresses also have this rule. Further, as shown in FIG. 5, on the basis of FIG.
  • the method provided in this embodiment may further include: S205: Perform modulo N calculation on an address before interleaving (ie, a sequential address) of each data unit, for example, N may take 2 n .
  • the data units with the same calculation result are treated as one group, thereby obtaining 2 n groups.
  • executing S206: reading N saves in parallel
  • the data unit stored in the storage space is reordered according to the interleaved address result obtained in S204 to obtain the interleaved data.
  • a data unit of this embodiment may be one bit or other data units, which is not limited in this embodiment.
  • S205 may be performed before S201 or at any time between S201 and S204.
  • S205 may be performed simultaneously with any one of S201 to S204, which is not limited in this embodiment.
  • FIG. 6 after a plurality of data unit modulo N, they are stored in N memory cells according to the result of modulo.
  • the N-bit data units read out from the N memory cells belong to different interleaved branches, so that the data units read in parallel can be reordered according to the interleaved address result to obtain the interleaved data.
  • FIG. 7 is a schematic diagram of an interleaving device according to an embodiment of the present invention.
  • the interleaving device includes an interleaver 30 as shown in FIG.
  • N may take 2 n , and the data unit having the same calculation result is stored in the same storage space in the N storage spaces 72; and the output unit 73 is used for further The N storage spaces 72 read the data units in parallel, and reorder the read data units based on the interleave address result from the interleaver 30 to obtain the interleaved data.
  • the interleaver 30 implements the interleave processing calculation in the embodiment, and the entire interleaving device converts the data before the interleaving into the interleaved data based on the calculated interleaving address result of the interleaver 30, that is, the interleaving of the plurality of data units is performed again.
  • the unit of data sorted.
  • the interleaving device does not necessarily use N storage spaces for parallel storage and reading when processing and outputting the interleaved data.
  • the operation of only one storage device may slow down the data output speed, but the interleaver is adopted. 30.
  • the length is ⁇ ⁇ 2 ⁇ , is divided into m length coded data blocks to be K q decoded data block in obtaining the coded data block to be sequentially address i *
  • the specific obtaining process may be: calculating the interleaved branch number of the 0th branch of the sequential address;
  • the sequence address is the interleaved branch number of the 0th branch, and the interleaved branch number of the first decoded data block to the m-1th decoded data block is obtained.
  • the interleaved branch number of the 0th branch Obtaining the interleaved branch number of the first decoded data block to the m-1th decoded data block includes: adding a branch number of the interleaved address whose order address is the 0th branch to the remainder associated with i
  • the quantity obtains a value y, where the margin associated with i is ( ⁇ i + Zf ⁇ i ⁇ + ⁇ i ⁇ B ⁇ modm, where f 1 4 and the length of the data block to be decoded are p ⁇ 2 n
  • the ( ⁇ ⁇ i + 2 f 2 ⁇ i ⁇ j + f 2 ⁇ i 2 ⁇ ) mod m represents + 24 + ⁇ modulo m ;
  • the y is modulo the m, and the value obtained by modulating the m by the y is used as the branch number of the interleaving address of the jth address unit of the i-th branch, that is, the interleaved branch number. .
  • the process of calculating the branch number of the interleave address of the jth branch of the 0th branch may be: dividing the interleave address of the jth address unit of the 0th branch by the K q ; The calculated quotient is rounded down, and the value obtained by rounding down is used as the branch number of the interleaving address of the jth address unit of the 0th branch.
  • n(j)/K q round up the resulting value Ln(j)/K q j as the branch number of the interleaved address whose sequential address is the jth address unit of the 0th branch.
  • the length is ⁇ 2 ⁇ , which is divided into m pieces of decoded data blocks of length K q to be decoded.
  • the branch offset address can be used to continue to calculate the branch offset address of the subsequent other branches, that is, inter-branch interleaving of other branches is obtained. address.
  • the branch number of the interleaved address corresponding to the sequential address i*384+j in the data to be interleaved (ie, data)
  • Ln(ll*384+ /384) ([ ⁇ (])/384" + (11 [3:0] + 12 [2:1] ⁇ j[l:0] + 8f 2 [l]*384 ⁇ 2])modl6)modl6
  • L n (12*384+ /384" ([ ⁇ (")/384"+(12 [1:0]) ⁇ ⁇ 116) ⁇ (116
  • the interleaver 30 and the interleaving device provided in this embodiment are used for interleaving processing of data units, and can be applied in various Turbo code interleaving scenarios, such as the Turbo code decoder of the LTE baseband processor.

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)

Description

Turbo码数据交织处理方法和用于交织 Turbo码数据的交织器 技术领域
本发明实施例涉及通信领域,尤其涉及一种 Turbo码数据交织处理方法和 用于交织 Turbo码数据的交织器。 背景技术
Turbo (特博)码技术是一种具有较强纠错能力的差错控制编码技术, 广 泛应用于通信系统和大容量磁存储系统等领域。 Turbo码译码器采用反馈迭代 结构,每级译码模块除了交织器、解交织器外主要包括两个级联的分支译码器。 一个分支译码器输出的软判决信息经过处理作为外信息输入另一个分支译码 器, 形成迭代译码, 在迭代一定级数后硬判决输出。 一个分支也称为一个数据 分块。
如附图 1所示, 是 Turbo码译码器的结构示意图。 整个 Turbo码译码器由 上分支译码器(图中使用 DEC1表示)和下分支译码器(图中使用 DEC2表示) 组成, 两个译码器的内部实现结构可完全相同, 两个译码器的输入输出数据不 同。 对于 DEC1 , 其输入和输出数据均为顺序数据, 而对于 DEC2, 其输入和 输出数据均为交织数据。每个分支译码器的输入包含 3路数据, 分别是系统位 数据 ( yk° )、 校验位数据 ( 或 yk 2 )和先验信息( Lt或 )。 Turbo码译码是一 个迭代过程, 上分支译码器 DEC1和下分支译码器 DEC2交替进行。上分支译 码器 DEC1的输出 4作为下分支译码器 DEC2的输入, 而下分支译码器 DEC2 的输出 又作为上分支译码器 DEC1的输入。 Turbo码译码有效地利用了迭代 增益, 通过外部信息(先验信息 L6 )提高译码性能。 最终采用多少次迭代译码 由系统性能仿真结果决定。 首次译码迭代时的先验信息 Le取值为 0 (表示无任 何先验信息)。
由附图 1可看出, 输入下分支码译码器 DEC2的数据需要经过交织处理, 即, 将顺序数据转换成交织数据, 在输出时又将交织数据转换成顺序数据。 交 织地址的实时计算量比较大,一般采用在译码前通过迭代计算产生一个完整的 交织地址查找表, 所产生的交织地址查找表的大小为 6144 X 13比特, 具体的 计算过程如下:
Ci = cn(i)
Turbo内交织公式为: r iX .i+ f i^modK
其中 , , ,···, - 1为输入序列, 为输出序列, K为码块长度, i 为输入 bit的序号, 取值范围为 0~K-1。 fi, f2是由 K决定的值。
由于以上的公式中包含乘法运算和求模 mod (除法)运算, 运算量相对较 大。 现有技术了提供以下的迭代方法来计算交织地址:
n(j+l) = (f1'(j+l)+f2'(j+l)2)modK
= (f1-j+ f2-j2+ fi+ f2+2f2j)modK
= (n(j)+G(j))modK
其中, G(j+l) = (G(j) + 2f2)modK。
从上述方法可以得知 ,现有技术提供的计算方法只需要进行加法和减法运 算。 交织地址计算过程可以如下表 1所示:
Figure imgf000004_0001
表 1
虽然, 上述现有技术提供的计算方法显著降低了计算的复杂度,但是这种 计算方法比较复杂,产生的交织地址查找表相对较大, 该方法需要针对每个数 据分别进行交织计算, 无论这样的处理通过软件还是硬件来实现, 达到计算的 成本都比较高。 发明内容 本发明实施例提供了一种 Turbo码数据交织处理方法和用于交织 Turbo码 数据的交织器, 能够降低交织计算的复杂度。
本发明实施例提供的一种 Turbo码数据交织处理方法, 所述方法包括: 将 Turbo码数据块分割为 m个数据分块, 所述 m个数据分块中的每个数据 分块包括 Kq个数据单位; m和 Kq均为正整数;
在一个数据分块内对所述 Kq个数据单位进行交织处理, 分别得到所述 Kq 个数据单位在所述一个数据分块内的交织地址;
对所述 m个数据分块进行交织处理,分别得到所述 m个数据分块的交织地 址;
利用所述 Kq个数据单位在所述一个数据分块内的交织地址以及所述 m个 数据分块的交织地址生成 Kq X m个数据单位的交织地址结果。
本发明实施例提供的一种用于 Turbo码数据的交织器, 包括:
分割单元, 用于将 Turbo码数据块分割为 m个数据分块, 所述 m个数据分 块中的每个数据分块包括 Kq个数据单位; m和 Kq均为正整数;
第一处理单元, 用于在一个数据分块内对所述 Kq个数据单位进行交织处 理, 分别得到所述 Kq个数据单位在所述一个数据分块内的交织地址;
第二处理单元, 用于对所述 m个数据分块进行交织处理, 分别得到所述 m 个数据分块的交织地址;
生成单元, 用于利用所述 Kq个数据单位在所述一个数据分块内的交织地 址以及所述 m个数据分块的交织地址生成 Kq X m个数据单位的交织地址结果。
从上述本发明提供的实施例可知,在采用将整个待交织数据块划分为多个 数据分块进行交织的处理技术中 ,可将整个交织过程分解为进行每个数据分块 内数据的内部交织的过程和不同数据分块间的交织的过程,并综合这两个过程 得到的结果得到最终交织结果, 并降低计算实现的复杂度,从而降低了计算成 本。 附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对现有技术或实施例 描述中所需要使用的附图作筒单地介绍,显而易见地, 下面描述中的附图仅仅 是本发明的一些实施例,对于本领域技术人员来讲,还可以如这些附图获得其 他的附图。
图 1是现有技术提供的 Turbo码译码器的结构示意图;
图 2是本发明实施例提供的一种 Turbo码数据交织处理方法流程示意图; 图 3是本发明实施例提供的一种用于交织 Turbo码数据的交织器的结构示 意图;
图 4是本发明实施例提供的将顺序地址, 即交织前地址, 映射至交织地址 的示意图;
图 5是本发明实施例提供的另一种 Turbo码数据交织处理方法流程示意 图;
图 6 为本发明实施例提供的一种将多个数据单位按照每个数据单位的交 织地址结果存入存储设备的示意图;
图 7为本发明实施例提供的一种交织设备的示意图。 具体实施方式
本发明实施例提供了一种交织地址查找表的获取方法和装置,能够降低交 织地址计算的复杂度。
请参阅图 2,本发明实施例提供的 Turbo码数据交织处理方法流程示意图, 主要包括:
S201 , 将 Turbo码数据块分割为 m个数据分块, 所述 m个数据分块中的每 个数据分块包括 Kq个数据单位; 111和 Kq均为正整数。
S202: 在一个数据分块内对所述 Kq个数据单位进行交织处理, 分别得到 所述 Kq个数据单位在所述一个数据分块内的交织地址。
S203: 对所述 m个数据分块进行交织处理, 分别得到所述 m个数据分块的 交织地址。
S204: 利用所述 Kq个数据单位在所述一个数据分块内的交织地址以及所 述 m个数据分块的交织地址生成 Kq X m个数据单位的交织地址结果。后续可进 一步根据每个数据单位的交织地址结果得到最终需要的交织后的数据。 通过上述技术方案,由于在多个数据分块中位于相同位置上数据单位在交 织之后依然位于各个数据分块中的相同位置上,只是数据单位的具体位置发生 了一定的偏移,因此可将整个交织过程分解为进行每个数据分块内数据的内部 交织的过程和不同数据分块间的交织的过程 ,并综合这两个过程得到的结果得 到最终交织结果, 可以显著减小生成的交织地址查找表的规模, 并减低交织计 算复杂度,从而降低了计算成本。 本实施例中的一个数据单位在数据分块内的 交织地址即为该数据单位在分支内做交织之后的交织地址。一个数据分块的交 织地址即是对该数据分块与其它数据分块交织之后的得到的针对该数据分块 的交织地址。本实施例的一个数据单位可以是一个比特,也可为其它数据单位, 本实施例对此不故限定。
对于每个数据分块内数据的内部交织的过程 ,可通过查询预设的针对所述
Kq个数据单位的交织表, 得到所述 Kq个数据单位中的第 j个数据单位在所述 一个数据分块内的交织地址。该交织表可存在一个存储设备中, 当需要进行交 织计算时, 可查表来实现交织处理。 当然, 也可通过硬件计算来实现数据分块 内数据的交织。 例如, 可基于公式 j + f2 * f]modKq计算得到所述 Kq个数 据单位中的第 j个数据单位在所述一个数据分块内的交织地址。 本实施例对此 不做限定。 4是与所述 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 X m个数据单位的交织地址结 果。 后续生成单元 34可进一步根据每个数据单位的最终交织地址结果得到最 终需要的交织后的数据。
上述每个单元可由一个处理器来实现, 每个处理器可由逻辑集成电路形 成。 所述交织器 30可位于一个 Turbo码译码器中, 用于对 Turbo码数据进行 计算处理, 得到每一个数据单位的交织后的地址结果。 所述第一处理单元 32 可在所述一个数据分块内, 通过查询预设的针对所述 Kq个数据单位的交织表 得到所述 Kq个数据单位中的第 j个数据单位在所述一个数据分块内的交织地 址, 或者, 基于公式 [f j + f2 * j 2]modKq计算得到所述 Kq个数据单位中的 第 j个数据单位在所述一个数据分块内的交织地址。 第二处理单元 33 可对所 述 m个数据分块中的第一数据分块进行计算,得到所述第一数据分块的交织地 址;并基于所述第一数据分块的交织地址计算得到 m个数据分块中其余数据分 块的交织地址, 以便筒化计算过程。 所述第二处理单元 33还可通过查询预设 的针对所述 m个数据分块的交织表, 分别得到所述 m个数据分块的交织地址。
为便于描述, 下面举例进行说明。 在本发明提供的一个实施例中, 所述待 译码数据块长度为 *^且被分成 m个长度为 Kq的译码数据分块, 所述 Kq、 p、 m均为正整数, 即 ρ·2η = m«Kq, 且 Kq =Γ·2η, 所述 r 为正整数。 换言之, 本发明实施例所述的待译码数据块是由 ρ·2η个数据组成的一种数据块, 该数 据块的长度能够被 2η整除,在输入至 Turbo码译码器前被分成 m个长度为 Kq的 译码数据分块,每个译码数据分块的长度也能够被 2n整除。本发明实施例还引 入了顺序地址和交织地址的定义。 所谓顺序地址, 就是指数据在交织之前被緩 存时其存储单元的地址, 而交织地址是指数据在交织之后(成为交织数据)緩 存时其存储单元的地址,使用緩存交织数据的存储单元的地址可组成一个交织 地址查找表,在取交织数据时只需要查找交织地址查找表即可。 而在本发明实 施例中,数据单位的交织地址结果被分别以该数据单位在其数据分块内的交织 地址,即该数据单位在该数据分块中的交织地址,以及该数据分块的交织地址, 即数据单位所在的所述数据分块的交织地址来表达。
对于上述长度为 πι· Kq的待译码数据块, 第 i个分支(或译码的数据分块) 第 j个地址单元, 其顺序地址为 i · Kq + j , 则对应的交织地址为:
Figure imgf000009_0001
公式( 1 ) 此处, mod是求模符号, f2与所述待译码数据块长度的 m*Kq相关。 在本发明实施例中, 顺序地址为 i*Kq + j的交织地址的分支内偏移地址为:
H(i, j) = n(i* modKq
Figure imgf000009_0002
^j+l^j2)励 dKq
由上述表达式( · j + f2 · j 2 )腦 d 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— ^ n^ Kq za, 分块数 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综合这两个交织处理结果得 到最终交织结果, 可降低计算实现的复杂度, 从而降低了计算成本。
作为本发明一个实施例, 对于长度是 Ρ · 2η、 被分成 m个长度为 Kq的译码 数据分块的待译码数据块, 在求取该待译码数据块中顺序地址为 i* Kq + j的数 据的交织地址的分支号(即该数据分块的交织地址 )时,具体求取过程可以是: 计算顺序地址为第 0个分支的交织后的分支号;根据所述顺序地址为第 0个分 支的交织后的分支号, 求取第 1个译码数据分块至第 m - 1个译码数据分块的 交织后的分支号。具体地,根据所述顺序地址为第 0个分支的交织后的分支号, 求取第 1个译码数据分块至第 m - 1个译码数据分块的交织后的分支号包括: 将顺序地址为第 0个分支的交织地址的分支号加上与 i相关的余量得到值 y, 其中, 与 i相关的余量为(^i + Zf^i^+^i^B^modm, 此处, f1 4与 所述待译码数据块长度的 p · 2n相关, 所述( ^ · i + 2 f2 · i · j + f2 · i2 · ) mod m表示 + 24 +^^ 对 m取模;
将所述 y对所述 m取模, 以所述 y对所述 m取模所得的值作为顺序地址为 第 i个分支第 j个地址单元的交织地址的分支号, 即交织后的分支号。
在上述实施例中, 顺序地址为第 0个分支第 j个地址单元的交织地址的分 支号的计算过程可以是: 将顺序地址为第 0个分支第 j个地址单元的交织地址 除以 Kq; 对计算所得的商向下取整, 以向下取整所得的值作为顺序地址为第 0 个分支第 j个地址单元的交织地址的分支号。
具体地,顺序地址 i*Kq + j中,第 0个分支第 j个地址单元的交织地址即为 n(0*Kq + j)=n(j),将 ITU)除以 Kq即得 n(j)/Kq,向下取整所得的值 Ln(j)/Kqj作 为顺序地址为第 0个分支第 j个地址单元的交织地址的分支号。
综上, 长度是 Ρ·2η、 被分成 m个长度为 Kq的译码数据分块的待译码数据
Figure imgf000012_0001
据这样一个公式,在计算得到第 0分支的分支偏移地址,即分支间交织地址后, 可利用该分支偏移地址继续计算后续其它分支的分支偏移地址,即得到其它分 支的分支间交织地址。
例如, 长度是 6144、 被分成 16个长度为 384的译码数据分块的待译码数 据块中, 在待交织数据中对应顺序地址为 i*384+j的交织地址的分支号 (即数 据分块的交织地址, 也即在分块间交织后第 i个分支转移到分支号)可以使用 表达式 ^( 384+」)/384」 =( 11(」)/384」+ (4 + 2^ 」+ 4 2*384))111(^16)腦 16 表达,具体地,待交织数据对应顺序地址为 1·384+ j、 2·384+ j 14*384+ j、
15 · 384 + j的交织地址的分支号分别可以使用表达式:
[Π(ΐ · 384+ j )/ 384」 = (Ln( j ) / 384」 + ( [3: 0] + 4 f2 [2: 1] · j[l: 0] + 8 f2 [1] · 384[2])modl6)modl6 Π(2·384+ /384」 = ([π( /384」+(2 [2:0] + 84[1]· j[0])m。dl6)modl6 Ln(3*384+ /384」=([] (」)/384」+ (3 [3:0] + 124[2:1]. j[l:0] + 8f2[l]*38 [2])modl6)modl6 [Π(4·384+ ])/384] = ([Π(])/384] + (4^[1:0])πιο(116)πιο(116
[π(5·384+ j)/384j = (Ln(j)/384j + (5f1[3:0] + 4f2[2:l]» j[l:0] + 8f2[l]»38 [2])modl6)modl6 [Π(6·384+ j)/384」 = ([n(j)/384j+(6 f 2: 0] + 8f2[l] ·脚 modl6)modl6
Ln(7,384+ j)/384= (Ln(j)/384」 + (7fi[3:0] + 12 f2[2 : 1]* j[1:0] + 8f2[l]*38 [2])modl6)modl6
Ln(8*384+ /384」 = Π(」)/384」+(8 [0])π χ116)πιο(116
Ln(9 · 384 + j )/ 384」 = (Π( j ) / 384」 + (9 [3 : 0] + 4 f2 [2 : 1] · j [1 : 0] + 8 f 2 [1] · 38 [2]) modi 6)modl 6 [Π(10·384+ j)/384」 = Π( j)/384」+ (10 fJ2 :0] + 8 f2[l] ·脚 modl6)modl6
Ln(ll*384+ /384」 = ([π(】)/384」 + (11 [3:0] + 12 [2:1]· j[l:0] + 8f2[l]*384{2])modl6)modl6 Ln(12*384+ /384」 = ([π(」)/384」+(12 [1:0])π χ116)πιο(116
[Π(ΐ3·384+ j)/384j = (Ln(j)/384j + (13f1[3:0] + 4f2[2:l]« j[l:0] + 8f2[l]»38 [2])modl6)modl6 [Π(14·384+ j)/384」 = ([n(j)/384j+(14 f 2: 0] + 8f2[l] ·脚 modl6)modl6 [Π(15·384+ ])/384] = (^(])/384] + (15^[3:0] + 12^[2:1]« j[l:0] + 8f2[l]»384[2])modl6)modl6 表达。
由此可知, 求取待译码数据块中待交织数据对应顺序地址为 i · 384 + j的交 织地址的分支号时, 若事先计算出顺序地址为第 0个分支第 j个地址单元的交 织地址的分支号 Ln(j)/384」, 实际上筒化了计算, 降低了计算工作量。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤 是可以通过程序来指令相关的硬件完成,该程序可以存储于一种计算机可读存 储介质中, 上述提到的存储介质可以是只读存储器, 磁盘或光盘等。 本实施例 提供的交织器 30和交织设备用于数据单位的交织处理, 可应用在各种 Turbo 码交织场景下, 如 LTE基带处理器的 Turbo码译码器中。
以上对本发明所提供的一种交织地址查找表的获取方法和装置进行了详 细介绍, 对于本领域的一般技术人员, 依据本发明实施例的思想, 在具体实施 方式及应用范围上均会有改变之处, 因此, 本说明书内容不应理解为对本发明 的限制。

Claims

权 利 要 求
1、 一种 Turbo码数据交织处理方法, 其特征在于, 所述方法包括: 将 Turbo码数据块分割为 m个数据分块, 所述 m个数据分块中的每个数据 分块包括 Kq个数据单位; m和 Kq均为正整数;
在一个数据分块内对所述 Kq个数据单位进行交织处理, 分别得到所述 Kq 个数据单位在所述一个数据分块内的交织地址;
对所述 m个数据分块进行交织处理,分别得到所述 m个数据分块的交织地 址;
利用所述 Kq个数据单位在所述一个数据分块内的交织地址以及所述 m个 数据分块的交织地址生成 Kq X m个数据单位的交织地址结果。
2、 根据权利要求 1所述的方法, 其特征在于, 所述在一个数据分块内对 所述 Kq个数据单位进行交织处理, 分别得到所述 Kq个数据单位在所述一个数 据分块内的交织地址包括:
在所述一个数据分块内, 通过查询预设的针对所述 Kq个数据单位的交织 表,得到所述 Kq个数据单位中的第 j个数据单位在所述一个数据分块内的交织 地址。
3、 根据权利要求 1所述的方法, 其特征在于, 所述在一个数据分块内对 所述 Kq个数据单位进行交织处理, 分别得到所述 Kq个数据单位在所述一个数 据分块内的交织地址包括:
在所述一个数据分块内, 基于公式 j + f2 * f ]modKq计算得到所述
Kq个数据单位中的第 j个数据单位在所述一个数据分块内的交织地址; 其中, 4是与所述 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 X m个数据单位的交织地址结果。
7、 根据权利要求 6所述的交织器, 其特征在于, 所述第一处理单元, 用 于在所述一个数据分块内, 通过查询预设的针对所述 Kq个数据单位的交织表, 得到所述 Kq个数据单位中的第 j个数据单位在所述一个数据分块内的交织地 址。
8、 根据权利要求 6所述的交织器, 其特征在于, 所述第一处理单元, 用 于在所述一个数据分块内, 基于公式 · j + f2 · j 2 ]mOdKq计算得到所述 Kq 个数据单位中的第 j个数据单位在所述一个数据分块内的交织地址;
其中, 4是与所述 Turbo码数据块长度相关的预设值。
9、 根据权利要求 6至 8中任一项所述的交织器, 其特征在于, 所述第二 处理单元, 用于对所述 m个数据分块中的第一数据分块进行交织计算, 得到所 述第一数据分块的交织地址;基于所述第一数据分块的交织地址计算得到 m个 数据分块中其余数据分块的交织地址。
10、 根据权利要求 6至 8中任一项所述的交织器, 其特征在于, 所述第二 处理单元, 用于通过查询预设的针对所述 m个数据分块的交织表, 分别得到所 述 m个数据分块的交织地址。
11、 一种交织设备, 其特征在于, 包括如权利要求 6至 10中任一项所述 的交织器、 以及存入单元、 N = 2n个存储空间和输出单元;
所述存入单元用于将每一个数据单位的交织前的地址进行模 N计算, 并 将计算结果相同的数据单位存入所述 N个存储空间中的同一个存储空间; 所述输出单元用于从所述 N个存储空间并行读取数据单位, 并根据来自 所述交织器的所述交织地址结果将并行读出的数据单位重新排序,得到交织后 的数据。
PCT/CN2011/078799 2011-08-23 2011-08-23 Turbo码数据交织处理方法和用于交织turbo码数据的交织器 WO2012083714A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201180001771.7A CN102356554B (zh) 2011-08-23 2011-08-23 Turbo码数据交织处理方法和用于交织Turbo码数据的交织器
PCT/CN2011/078799 WO2012083714A1 (zh) 2011-08-23 2011-08-23 Turbo码数据交织处理方法和用于交织turbo码数据的交织器

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 (1)

Publication Number Publication Date
WO2012083714A1 true WO2012083714A1 (zh) 2012-06-28

Family

ID=45579280

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2011/078799 WO2012083714A1 (zh) 2011-08-23 2011-08-23 Turbo码数据交织处理方法和用于交织turbo码数据的交织器

Country Status (2)

Country Link
CN (1) CN102356554B (zh)
WO (1) WO2012083714A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111384979A (zh) * 2018-12-29 2020-07-07 中兴通讯股份有限公司 一种数据处理方法及装置

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103905066B (zh) * 2012-12-25 2018-04-27 联想(北京)有限公司 Turbo码译码装置和方法
CN104184536B (zh) * 2013-05-21 2018-05-11 华为技术有限公司 基于LTE Turbo译码的子块交织控制方法、装置及设备
CN106603191B (zh) * 2015-10-15 2019-07-12 普天信息技术有限公司 一种基于并行处理的分块交织方法及装置
CN106301393B (zh) * 2016-07-22 2019-09-06 西安空间无线电技术研究所 一种基于Turbo编码的交织地址快速计算方法
CN107241163B (zh) * 2017-04-28 2020-02-21 华为技术有限公司 一种交织处理方法及装置
CN109412747A (zh) * 2017-08-15 2019-03-01 株式会社Ntt都科摩 一种用于极化码的速率匹配交织方法及装置
CN109379088B (zh) * 2018-12-13 2022-03-08 浙江天则通信技术有限公司 一种并行Turbo码迭代译码的方法及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020124221A1 (en) * 2000-08-04 2002-09-05 Haim Goldman Interleaver for variable block size
CN101399554A (zh) * 2007-09-30 2009-04-01 华为技术有限公司 一种基于ldpc码的交织方法和解交织方法及其装置
CN101969310A (zh) * 2010-10-22 2011-02-09 上海交通大学 Turbo码并行译码器的QPP内交织器及其交织方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020124221A1 (en) * 2000-08-04 2002-09-05 Haim Goldman Interleaver for variable block size
CN101399554A (zh) * 2007-09-30 2009-04-01 华为技术有限公司 一种基于ldpc码的交织方法和解交织方法及其装置
CN101969310A (zh) * 2010-10-22 2011-02-09 上海交通大学 Turbo码并行译码器的QPP内交织器及其交织方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111384979A (zh) * 2018-12-29 2020-07-07 中兴通讯股份有限公司 一种数据处理方法及装置

Also Published As

Publication number Publication date
CN102356554A (zh) 2012-02-15
CN102356554B (zh) 2013-06-12

Similar Documents

Publication Publication Date Title
WO2012083714A1 (zh) Turbo码数据交织处理方法和用于交织turbo码数据的交织器
Sarkis et al. Fast polar decoders: Algorithm and implementation
KR100912156B1 (ko) 병렬 인터리버, 병렬 디인터리버 및 인터리브 방법
US9048877B2 (en) Turbo code parallel interleaver and parallel interleaving method thereof
US8065588B2 (en) Formulaic flexible collision-free memory accessing for parallel turbo decoding with quadratic polynomial permutation (QPP) interleave
CN110999095B (zh) 用于极化码的按块并行冻结位生成
TWI313107B (en) Unified viterbi/turbo decoder for mobile communication systems
JP5700035B2 (ja) 誤り訂正符号復号装置、誤り訂正符号復号方法および誤り訂正符号復号プログラム
EP3202045A1 (en) Method and device for calculating a crc code in parallel
US20110087949A1 (en) Reconfigurable turbo interleavers for multiple standards
CN102130696A (zh) 错误纠正码编码器、错误纠正码解码器、交织/去交织方法及软入软出解码方法
TWI422166B (zh) Turbo解碼器裝置及解碼turbo編碼信號的方法
US8468410B2 (en) Address generation apparatus and method for quadratic permutation polynomial interleaver
JP2009246474A (ja) ターボデコーダ
CN109245775B (zh) 一种译码器及其实现译码的方法
Dobkin et al. Parallel VLSI architecture and parallel interleaver design for low-latency MAP turbo decoders
CN102227097A (zh) 一种可变长度s随机交织器的生成方法
Naessens et al. A flexible ASIP decoder for combined binary and non-binary LDPC codes
WO2009093099A1 (en) A contention free parallel access system and a method for contention free parallel access to a group of memory banks
CN110875745A (zh) 一种面向高速硬件电路实现的gii码译码算法
KR100355452B1 (ko) 엠에이피 방식을 사용한 터보 복호기
JP4507443B2 (ja) インターリーブ方法及びインターリーブ装置
US8200733B1 (en) Device having interleaving capabilities and a method for applying an interleaving function
WO2009014298A1 (en) Address generation apparatus and method of data interleaver/deinterleaver
WO2016095426A1 (zh) 3G协议的turbo码并行译码方法及装置

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 201180001771.7

Country of ref document: CN

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 11852044

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 11852044

Country of ref document: EP

Kind code of ref document: A1