WO2003023977A1 - Procede et dispositif emetteur en diversite - Google Patents

Procede et dispositif emetteur en diversite Download PDF

Info

Publication number
WO2003023977A1
WO2003023977A1 PCT/CN2001/001290 CN0101290W WO03023977A1 WO 2003023977 A1 WO2003023977 A1 WO 2003023977A1 CN 0101290 W CN0101290 W CN 0101290W WO 03023977 A1 WO03023977 A1 WO 03023977A1
Authority
WO
WIPO (PCT)
Prior art keywords
code
sub
subcode
decoders
dimensional product
Prior art date
Application number
PCT/CN2001/001290
Other languages
English (en)
French (fr)
Inventor
Yining Xie
Youyun Xu
Original Assignee
Linkair Communications,Inc.
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 Linkair Communications,Inc. filed Critical Linkair Communications,Inc.
Priority to CNA018180809A priority Critical patent/CN1471763A/zh
Priority to PCT/CN2001/001290 priority patent/WO2003023977A1/zh
Publication of WO2003023977A1 publication Critical patent/WO2003023977A1/zh

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0057Block codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B7/00Radio transmission systems, i.e. using radiation field
    • H04B7/02Diversity systems; Multi-antenna system, i.e. transmission or reception using multiple antennas
    • H04B7/04Diversity systems; Multi-antenna system, i.e. transmission or reception using multiple antennas using two or more spaced independent antennas
    • H04B7/06Diversity systems; Multi-antenna system, i.e. transmission or reception using multiple antennas using two or more spaced independent antennas at the transmitting station
    • H04B7/0602Diversity systems; Multi-antenna system, i.e. transmission or reception using multiple antennas using two or more spaced independent antennas at the transmitting station using antenna switching
    • H04B7/0608Antenna selection according to transmission parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • H04L1/0047Decoding adapted to other signal detection operation
    • H04L1/005Iterative decoding, including iteration between signal detection and decoding operation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L5/00Arrangements affording multiple use of the transmission path
    • H04L5/14Two-way operation using the same type of signal, i.e. duplex
    • H04L5/1469Two-way operation using the same type of signal, i.e. duplex using time-sharing
    • H04L5/1484Two-way operation using the same type of signal, i.e. duplex using time-sharing operating bytewise
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/02Details ; arrangements for supplying electrical power along data transmission lines
    • H04L25/0202Channel estimation

Definitions

  • the present invention relates to a data encoding method and a decoder used in a digital communication system, and more particularly to an error correction encoding method of data and a corresponding iterative decoder. Background technique
  • Error correction coding technology implements error correction by adding redundancy to the information.
  • the propagation environment is harsh, and error correction code technology is an important means to maintain system performance in these systems.
  • the error correction code can be regarded as a mapping from the input information space to the codeword space.
  • the mapping method and the corresponding decoding method determine the performance of the error correction code.
  • any two codewords (defined in the corresponding algebraic domain) in the codeword space is still a valid codeword, it is called a linear code.
  • the number of different symbols in all symbols between any two codewords is called the Hamming distance between them.
  • the Hamming distance between any two codewords is equal to the Hamming weight (that is, the bits in the codeword of another codeword) Number of 1).
  • the set of Hamming weights of all non-zero codewords in the codeword space, and the number of different codewords corresponding to each weight, is called the Hamming weight spectrum of this code.
  • the smallest positive integer in the Hamming weight set is called the minimum Hamming distance corresponding to the codeword.
  • Hamming weight words are a major indicator of the error correction performance of the code (when the maximum decoding method is used); the minimum Hamming distance determines the asymptotic performance of the error correction code (the signal-to-noise ratio is sufficient When it is large, the approximate performance of the error correction code).
  • Block code If the length of the codeword is limited.
  • Cyclic code If any cyclic shift of any codeword is still a codeword.
  • Many commonly used block codes are cyclic codes.
  • Hamming codes and BCH codes are cyclic codes.
  • codes obtained after parity check expansion of the cyclic code such as extended Hamming code and extended BCH code, can still obtain a valid codeword if the extended check bit is not included in the cyclic shift. In the following descriptions, they are also classified into a type of (non-strict) cyclic codes.
  • Quasi-cyclic code If some (but not all) cyclic shifts of a code are still a valid codeword.
  • the so-called "Tail-Biting" block convolutional code is one such type of code.
  • Product code A type of composite code composed of several subcodes (component code).
  • a composite code composed of N subcodes is called an N-dimensional product code.
  • the subcode is generally a relatively simple block code.
  • N-dimensional product codes can be regarded as a series of N-1-dimensional product codes and a composite code composed of one-dimensional coding.
  • the minimum Hamming distance of the product code is the product of the minimum Hamming distance of each subcode; at the same time, its code block length is also the product of the subcode code block lengths.
  • product codes are a more common method for constructing good codes with low decoding complexity.
  • Single-bit check (SPC) code For a binary code, a code formed by adding a parity-lid position. That is, the modulo 2 sum of each bit in the codeword is zero.
  • the minimum Hamming distance of the SPC code is equal to 2, so it can only detect one-bit errors.
  • the SPC code can be used as a subcode to form a product code. Since the minimum Hamming distance of the obtained product code is the product of the minimum Hamming distance of each SPC subcode (the value is 2 N in the case of N dimensions), it is expected to obtain a better performance.
  • the corresponding iterative decoder is composed of multiple soft-input soft-output (SISO) sub-decoders, each SISO sub-decoder takes a priori priori information as input, and uses external (extr) ins ic) information as output; here the external information is the difference between the posterior (a posteriori) information and the prior information. After combining it with the soft output information of the demodulator, the prior information is used as the posterior SISO. Sub-decoder input.
  • SISO soft-input soft-output
  • a block code can be used to perform some form of concatenation to form a good code suitable for iterative decoding.
  • a product code can be regarded as a type of concatenated code that serially concatenates block codes and uses a block interleaver. Therefore, the product code is a very simple error correction code structure. Iterative decoding method can be used to exert the good performance of the code, and is especially suitable for high-speed hardware decoding implementation.
  • product codes (using an iterative decoding algorithm) can be used at higher code rates (such as when R> l / 2) To obtain better performance, which is mainly manifested by lower error leveling or reduced signs of flattening. Therefore, the product code has good application value in many occasions.
  • AHA companies in the United States have adopted their patented iterative decoders to develop high-speed coders with decoding speeds up to 0C-3 (155Mbps) for product codes (they call them Turbo Product Codes-TPC). / Decode a single ASIC chip AHA4540.
  • An object of the present invention is to provide an error correction coding method and a corresponding iterative decoder.
  • This error correction coding method has stronger error correction performance, and at the same time, the decoding complexity is maintained at a low level.
  • the present invention provides an error correction coding method.
  • the input information is coded once with a product code.
  • the subcode of the product code may be a cyclic code such as an SPC code, an (extended) Hamming code, or an (extended) BCH code, or a quasi-cyclic code such as a "Tail-Biting" block convolutional code.
  • the dimension of a product code is N dimensions, it can be regarded as a set of N-1 dimension subcodes; and such a set has a total of N groups.
  • the product code obtained after the first encoding will contain multiple different "common subcodes" from different perspectives.
  • N-dimensional product code it can be regarded as a collection of many N-1-dimensional product codes, where each N-1-dimensional subcode is such a "common subcode”. Any N-1 dimensional subcode in the original N-dimensional codeword can be regarded as such a "common subcode”.
  • Wrong code Wrong code.
  • the invention also provides an iterative decoder for decoding an error correction code formed according to the above error correction coding method, which is characterized by including a plurality of sub-decoders, wherein:
  • Each sub-decoder includes a soft-input soft-output (SISO) decoding unit, corresponding to the original N-dimensional product code or the corresponding sub-code in "spread" coding; and each stage of the sub-decoding step uses (in one iteration Within the span) The output of one or more of all other sub-decoders, and add and combine them to participate in the sub-decoding of this level as prior information.
  • SISO soft-input soft-output
  • the interconnections between the sub-decoders can adopt different structures according to the software / hardware implementation (such as DSP, FPGA or ASIC implementation) and performance requirements, and include a serial structure, a parallel mechanism and their compromises. structure.
  • the serial structure requires the least amount of calculation, the hybrid structure takes the second place, and the parallel structure has the largest calculation amount.
  • the decoding delay of the serial structure is generally large, and the decoding delay of the parallel structure is generally large. Smaller, while the hybrid structure is centered.
  • the invention provides several typical serial / parallel / hybrid iterative decoder structures.
  • the software / hardware is used to implement the iterative decoding algorithm, the designer can flexibly choose the decoding structure according to the actual situation.
  • the codeword constructed in this way (with the sacrifice of less code rate) can further improve the error correction performance, and also make the code design more flexible and better.
  • the code design more flexible and better.
  • the error correction code obtained according to the present invention has an iterative decoding algorithm with very low complexity and high performance.
  • FIG. 1 is an overall coding structure diagram of the present invention
  • Figure 2 uses a three-dimensional product code as an example to show that it can be regarded as three sets of three "common subcodes", respectively;
  • FIG. 3 is a structural diagram of an “extended” coding section in the present invention.
  • 4A is a schematic diagram of a structure of a "serial” iterative decoder in the present invention (taking a 2-dimensional product code plus 2 "spreading” encoding as an example);
  • FIG. 4B is a schematic diagram of another commonly used “serial” iterative decoder structure (taking a 2-dimensional product code plus 2 “spreading” encoding as an example) for comparison with the “serial” structure in the present invention
  • FIG. 4C is a schematic diagram of a structure of a “parallel” iterative decoder in the present invention (taking a 3D product code plus 2 “spreading” encoding as an example);
  • FIG. 4D is a schematic diagram of a structure of a "hybrid” iterative decoder in the present invention (taking a 3D product code plus 2 "spreading” encoding as an example);
  • Figures 7 and 8 show the computer simulation results of the two error-correcting codes (using a "hybrid" decoder structure) obtained after the error-correcting codes and the decoding method of the present invention are used, respectively.
  • FIG. 1 it shows the main coding structure in the present invention.
  • the coding process is performed M times in total; d) The check symbols obtained in this way for the M groups are coded together with the original product code to obtain the coded output.
  • the product code In order to perform "spreading" encoding, in the initial N-dimensional product code encoding process, the product code must contain at least one cyclic or quasi-cyclic subcode. For example, you can choose SPC code, (extended) Hamming code, or
  • the BCH code is used as a cyclic subcode. Since most commonly used block codes are cyclic or quasi-cyclic codes, this condition is easily satisfied. In order to fully embody the features of the present invention, usually more than one cyclic or quasi-cyclic code can be selected as the subcode.
  • N-dimensional product codes it can be regarded as the result of encoding a batch of N-1-dimensional product codes again.
  • Each such N-1 dimensional product code can itself be regarded as a subcode. Therefore, the N-dimensional product code can be regarded as a set of codewords, where each codeword is a codeword of a common subcode
  • this common subcode is also an N-1 dimensional product code.
  • Each group gets a batch of check symbols after "extended” encoding.
  • All M sets of check code words together with the original product code constitute the coded output.
  • the M value (and the truncation and truncation operations that may be required, etc.) can be flexibly selected to design an encoding scheme that matches it as much as possible. .
  • the performance of the resulting error correction code will also improve (of course, with a smaller code rate decrease). In this way, in In some cases, it is also possible to maintain a certain level of communication performance by correspondingly changing the M value according to the actual channel transmission conditions. This also means that the error correction code obtained by the present invention is also used in adaptive coding. With certain application prospects.
  • the N-1 dimensional common subcode of each of the M groups it should be made to contain at least one cyclic or quasi-cyclic subcode.
  • the N-1 dimensional common subcode should include as many cyclic or quasi-cyclic subcodes as possible.
  • each dimension of the product code is selected to be a cyclic or quasi-cyclic code. In this way, any N-1 dimensional product code subcode of the N-dimensional product code is also composed of cyclic or quasi-cyclic subcodes.
  • step 2 recombining the common subcode codeword set 1 is shown as step 2. Reorganization is performed in units of common codewords. After recombination, a set of common subcode codewords can be obtained. Each common subcode codeword in the common codeword set 1 may become a codeword in a certain common subcode codeword set 3, or may be a codeword in multiple common subcode codeword sets 3, 4. Or, it does not become a codeword in any one of the common subcode codeword sets 3 and 4. However, each common subcode codeword set 3 will not contain the codewords in a certain common subcode codeword set 1 twice or more.
  • One of the simplest methods is to directly copy the common subcode codeword set 1 into a common subcode codeword set 3, which is equivalent to not performing any reorganization operation. Another simple case is shown in FIG. 3, that is, the common subcode codeword set 1 is duplicated twice to become the common subcode codeword sets 3 and 4.
  • the next operation is to rearrange the symbols in each codeword in the common subcode codeword sets 3 and 4, which is shown in step 5 to obtain the common subcode codeword sets 6, 7.
  • the ideal arrangement should meet the following principles: a) the codeword after arrangement is still a common subcode codeword; b) for different codewords of the same common subcode codeset set 3 and 4, the arrangement correspondence should be as different as possible .
  • the rearrangement mode following the above principles may increase the minimum Hamming distance of the final codeword, and / or may effectively improve the Hamming distance spectrum, thereby obtaining better performance.
  • the rearrangement of the common subcode may be performed in a cyclic / quasi-cyclic code (subcode) direction in the subcode. Because for cyclic or quasi-cyclic codes, the (partial) symbol cyclic shift is still Valid cyclic / quasi-cyclic codes.
  • Each codeword in the common subcode codeword sets 6, 7 can satisfy the criterion b) as much as possible by selecting different cyclic shift offsets. If the common subcode contains multiple cyclic or quasi-cyclic subcodes, the cyclic shift can be performed in the direction of these subcodes at the same time, so that better performance can be expected.
  • the common subcode contains one or more SPC subcodes.
  • SPC code For an SPC code, after the bits contained in it are arranged in any kind, the resulting code is still a valid SPC code. In this way, after arbitrarily arranging in the direction where some or all of the SPC subcodes are respectively located, the obtained codeword is still a valid codeword of the original common subcode.
  • SISO soft input / soft output
  • the coding direction is the same as the coding direction of the remaining one dimension in the original N-dimensional product code, as shown in Figure 3.
  • the encoding method is a system code, such as a system block code or a system recursive convolutional code.
  • the resulting check symbol (that is, the non-systematic part) is also composed of several common codewords 9, 10, See Figure 4. Making the check symbol itself also satisfy some kind of check relationship allows the check symbol itself to participate in multiple verifications, which is beneficial to improving the convergence performance in the iterative decoding process. This is also the reason why principle a) should be fulfilled as far as possible during the aforementioned rearrangement process.
  • the common codewords 9 and 10 of the encoded check part are combined to obtain "extension" of this group, and the final output 11 after encoding.
  • FIG. 4A A “serial” iterative decoder structure is shown in Fig. 4A, where the situation corresponding to "2D product code coding + 2 times extended coding" is given.
  • the iterative decoder includes a total of 4 sub-decoders, of which 2 sub-decoders respectively include SISO units of the sub-codes used in the SISO single encoding of the sub-codes in the two directions of the original product code, and include "Extended” encodes the corresponding "Decompose” and "De-reorder” units.
  • the structures of these two types of sub-decoders are also given in Figure 4A.
  • each sub-decoder uses the previous Output (that is, the output of other sub-decoders within one iteration span, in the example in FIG. 4A, each iteration span is 4); the other information output is also passed to all other sub-decoders as their input priors Part of the message.
  • FIG. 4B Another decoder with a "serial" structure is shown in Figure 4B.
  • each stage of the sub-decoder uses only the output of the previous stage of the sub-decoder.
  • Relevant theories such as "Belief Propagation” theory
  • computer simulations have shown that the former "serial" decoder structure proposed by the present invention has faster convergence speed, and its final convergence performance is also significantly better than the latter.
  • a "parallel" iterative decoder structure is shown in Fig. 4C, where the case corresponding to "3D product code coding + 2 times spread coding" is given.
  • the iterative decoder includes a total of 5 sub-decoders, of which 3 sub-decoders respectively include the SISO unit of the code used for the SISO single encoding of the sub-codes in the three directions in the original product code, and the corresponding decombination. Reconciliation rearrangement unit.
  • each iteration includes all the sub-decoders arranged in parallel (5 in the example of FIG. 4C).
  • each stage of the sub-decoder uses the external information output of all the sub-decoders (4 in the example of FIG. 4C) except itself in the previous iteration, and compares them with the demodulator. After merging the soft information output, the input is used as the prior information input of this level.
  • the "parallel" iterative decoder structure can generally achieve faster convergence speed in the same decoding time, and is particularly suitable for ASIC hardware implementation, but its calculation amount is also large. .
  • the "serial" iterative decoder has a small amount of calculation and is suitable for a single CPU architecture (such as a DSP) implementation.
  • each level of the decoding module if only the original product code is encoded in the direction of the corresponding dimension, the decoding module includes Contains only one corresponding sub-decoder; if "spreading" coding is also performed in this dimension, another (or more) corresponding sub-decoders are also included.
  • Each stage of the decoding and decoding module combines the external information outputs of all the sub-decoders contained in it in a certain form (for example, multiplying each factor first and then adding them) as the output of this stage for other N-1 Decoding module is used.
  • each stage of the decoding module utilizes the output of all other N-1 stage decoding modules.
  • Fig. 5 shows a first example.
  • the first (2-dimensional) product code encoding is performed first, and the sub-codes are (8,4) extended Hamming code (row direction) and (7,6) SPC code (column direction).
  • This 2-dimensional product code is regarded as a set of 7 (8,4) extended Hamming code codewords, and each extended Hamming code corresponds to one line.
  • the set can be duplicated twice; then the extended Hamming codewords in each set are rearranged.
  • the (7,4) Hamming code portion of the (8,4) code before expansion is cyclically shifted.
  • the clockwise and counterclockwise cyclic shift methods can be used respectively to increase the minimum Hamming distance of the obtained codeword as much as possible and improve its Hamming distance spectrum.
  • the collection (in the column direction) is (8,7) SPC encoded.
  • a batch of check symbols is obtained, which is composed of two other newly obtained (8,4) extended Hamming codewords.
  • the original 2-dimensional product code is regarded as a set of 8 (7,6) SPC code codewords, and each SPC code corresponds to a column.
  • 7,6) SPC code codewords corresponds to a column.
  • An ideal rearrangement method is to make any "rectangular" error pattern in the original product code no longer be a "rectangular” pattern after rearrangement.
  • (9,8) SPC encoding is performed. In this way, after "extending" encoding in the row direction, another batch of check symbols is obtained, and these check symbols themselves also constitute a (7,6) SPC code word.
  • Figure 6 shows Example 2. First perform a 3-dimensional product code encoding, and its three sub-codes are (N1, KI) code, (N2, K2) code, and (N3, K3) code. It can be seen as a collection of the following three common subcode codewords:
  • Set 1 a set of N1 common subcode codewords (N2, K2) * (N3, K3);
  • Set 2 a set of N2 common subcode codewords ( ⁇ , ⁇ ) * ( ⁇ 3, ⁇ 3);
  • Set 3 a set of N3 common subcode codewords (N1, K1) * (N2, K2);
  • the original 3-dimensional product code is composed of three SPC subcodes, which are X-axis: (11,10) code, Y-axis: (11,10) code, and Z-axis (12,11) code.
  • the decoding method uses a "hybrid” iterative decoding structure proposed in the present invention (as shown in Fig. 4D).
  • a “hybrid” iterative decoding structure proposed in the present invention (as shown in Fig. 4D).
  • the corresponding bit error rates are given in Figure 8 (BER) and bit error rate (BLER) performance.
  • the significance of the present invention is that it provides a flexible error correction code coding structure and a corresponding decoding method, which can be suitable for many practical applications (especially in the case of high bit rate coding and high spectrum utilization), and reflects Good performance. Therefore, the present invention has a good practical prospect and application value in many application fields.

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Error Detection And Correction (AREA)

Description

对源数据元素进行纠错编码的方法及相应的迭代译码器 技术领域
本发明涉及数字通信系统中使用的数据编码方法和译码器, 尤其涉及数 据的纠错编码方法及相应的迭代译码器。 背景技术
纠错编码技术通过为信息添加冗余, 来实现纠错。 在数字移动通信、 数 字卫星通信等应用中, 传播环境较为恶劣, 而纠错码技术是这些系统中用来 维持系统性能的一个重要手段。
纠错码可看作是从输入信息空间到码字空间的一个映射。 映射的方法和 相应的译码方法决定了纠错码性能的优劣。 信息和码字一般均由一串符号构 成, 且每个符号属于某个代数域, 例如当代数域取 GF(2)={0,1} (此时, "加" 运算定义为模 2和) 时, 就对应了二元码。
如果在码字空间内, 任意两个码字的和(定义在相应的代数域上)仍为 一个有效的码字, 则称之为线性码。 任意两个码字间所有符号中不同符号的 个数称为它们之间的汉明距离。 对于二元线性码, 任意两个码字间的汉明距 离, 等于另一个码字 (该码字由这两个码字经过逐比特模 2和得到) 的汉明 权重(即码字中比特 1 的个数)。 码字空间中所有非零码字的汉明权重的集 合, 以及每个权重所对应的不同码字个数, 称为这个码的汉明权重谱。 汉明 权重集合中最小的正整数称为对应该码字的最小汉明距离。 汉明权重语是决 定码的纠错性能的一个主要指标(在釆用如最大译码方法时); 而最小汉明 距离决定了纠错码的渐近(Asymptotic )性能(既信噪比足够大时, 该纠错 码的近似性能)。
若干基本定义如下, 它们在一般的关于纠错编码的书籍中都可以找到: 分组码: 如果码字的长度有限。
系统码: 如果信息符号均在编码符号集中出现, 亦即, 每个信息符号必 等于编码后的某个符号。 相对的, 其它编码符号称为校 ¾符号。
循环码: 如果任意一个码字的任意一个循环移位仍为一个码字。 许多常 用的分组码都是循环码, 例如, 汉明码、 BCH码就是循环码。 另一方面, 将循环码进行奇偶校验扩展后所得的码, 例如扩展汉明码、 扩展 BCH码, 如果在循环移位时不包括扩展的校验位, 仍可得到一个有效的码字。 在后面 的有关说明中, 把它们也归于一类 (非严格意义上的)循环码。
准循环码: 如果一个码的部分(但非全部)循环移位仍是一个有效码字。 例如, 所谓的 "Tail-Biting" 块卷积码就是这样一类码。
乘积码: 由若干子码(component code )构成的一类复合码。 N个子码 构成的复合码称为 N 维乘积码。 子码一般为较筒单的分组码。 N 维乘积码 可看作是对一系列 N-1 维的乘积码再添加一维编码构成的复合码。 乘积码 的最小汉明距离是各子码最小汉明距离的乘积; 同时, 其码块长也为各子码 码块长的乘积。 在实际应用中, 乘积码是构造低译码复杂度好码的一类较常 用的手段。
单比特校验(SPC )码: 对二元码, 加一个奇偶校 -睑位构成的码。 亦即, 码字中各比特的模 2和为零。 SPC码的最小汉明距离等于 2, 因此它只能检 测一比特的错误。 然而, 可以 SPC码为子码构成乘积码, 由于所得乘积码 的最小汉明距离是各 SPC子码最小汉明距离的乘积(N维情况下该值为 2N ), 从而有望获得较好的性能。
C.Berrou等提出的 Turbo码是近年来糾错编码领域的一个突破。特别地, Turbo码采用的迭代译码技术能够在许多情况下相当接近于香农极限, 同时 其复杂度远低于最大似然译码算法, 因此迅速在实际系统中得到了广泛的采 用。 CBerrou等最初提出的编码结构是由卷积码子编码器(并加交织器)级 联得到的。并且,相应的迭代( Iterative )译码器是由多个软输入软输出( SISO ) 子译码器构成的, 每个 SISO子译码器以先验 priori )信息作为输入, 并以外部 ( extr ins ic )信息作为输出; 这里外部信息为后验 ( a posteriori ) 信息与先验信息的差值, 将它与解调器的软输出信息进行合并后, 以先验信 息的形式作为后级 SISO子译码器的输入。
同样的 , 也可采用分组码进行某种形式的级联构成适合于迭代译码的好 码。 特别地, 乘积码可看作是一类将分组码进行串行级联、 并采用分组交织 器构成的级联码。 因此, 乘积码是一种构造十分简单的纠错码结构, 应用迭 代译码方法, 可发挥该码的良好性能, 并特别适合于高速硬件译码实现。
与 (经过高删节后) 的并行 /串行级联卷积码(PCCC/SCCC )相比, 乘 积码 (运用迭代译码算法)可在较高的码率 (如 R〉l/2 时) 下获得更好的 性能, 主要表现为更低的误码平层或减轻的平坦化(flattening )迹象。 因此, 乘积码在许多场合下具有良好的应用价值。 例如, 美国的 AHA公司已经采 用它们的专利迭代译码器, 针对乘积码(他们称其为 Turbo乘积码—— TPC ) 开发出了译码速度最高可达 0C-3 ( 155Mbps )速率的高速编 /译码单片 ASIC 芯片 AHA4540。
但是, 乘积码的一个突出弱点是: 为了有效地增加最小汉明距离和改善 码的汉明权重谱结构, 有时必须通过增加码的维数来达到。 但同时这也意味 着码长的急剧增加和码率的下降, 这大大限制了乘积码的实际应用。
然而, 通过一系列手段, 可以一定程度上克服该问题。 我们注意到, 加 拿大通信研究中心 (CRC ) 曾在该方面作过一些工作, 得到了他们称之为 Hyper-Code 的一类码, 并已经申请了有关专利 (加拿大专利, 专利号 2,245,601; 美国专利, 专利号 6,145,111 )。 他们的基本想法是: 首先进行编 码得到第一批码字, 这些码字都是属于一个 "公共子码" 的码字; 然后, 通 过一些列的 "重组 (assembling )" 和 "重排(shuffling )" 操作后, 再进行 一次编码; 所得码字的非系统部分与原码字一起, 构成了新的码字。 Hyper- Code在一定程度上克服乘积码随维数的增加时码长较长、 码率下降较快的 缺点, 并具有良好的性能。 发明内容
本发明的目的是提供一种纠错编码方法以及相应的迭代译码器, 这种纠 错编码方法的纠错性能更强, 同时译码复杂度维持在较低的水平。
为实现上述目的, 本发明提供了一种纠错编码方法。
首先, 对输入信息进行一次乘积码编码。 该乘积码的子码可以是 SPC 码、 (扩展)汉明码或 (扩展) BCH码等循环码, 也可以是 "Tail-Biting" 块卷积码码等准循环码。 设乘积码的维数为 N维, 则它可以看作是一组 N- 1维子码的集合; 而这样的集合共有 N组。 事实上, 在第一次编码后所得的 乘积码码中, 从不同的角度来看将含有多个不同的 "公共子码"。 例如, 以 N维的乘积码为例, 它可以看作是许多 N-1维乘积码的集合, 其中每个 N-1 维子码就是这样的一个 "公共子码"。 而原 N维码字中的任意 N-1维子码都 可以看作是这样的一个 "公共子码"。
接着, 在每一组这样的 N-1 维码字集合中, 通过对该组中码字的重组、 重排, 然后 (在剩下一维子码方向上)再进行一次编码后, 可以得到另一批 校验符号。 一种希望得到的情况是, 重组和重排操作使得到的校验符号本身 仍为一个或多个有效的码字 (如 N-1 维乘积码)。 称这样的一次操作为相应 维上的一次 "扩展" 编码。
在所有 N组码字中, 可以选择任意 M ( 1<=M<=N )组进行上述 "扩展" 操作, 并将所得的 M组校验符号与原 N维乘积码一起, 构成新的纠错码。 其中, M值可根据实际需要(如: 码块长度、 码率或性能要求)进行灵活 的选择。 需要特别指出的是, 作为一种特殊情况, 当 M=l 时, 所得到的码 就是 CRC有关专利中所提出的一类码。
本发明还提供一种对根据上述纠错编码方法形成的纠错码进行译码的迭 代译码器, 其特征在于包括多个子译码器, 其中:
每个子译码器包括一个软输入软输出 (SISO ) 译码单元, 与原 N 维乘积码或者 "扩展" 编码中的相应子码对应; 并且每一级子译码步骤 利用了 (在一次迭代跨度内) 其他所有子译码器中一个或多个的输出, 并将它们相加合并后作为先验信息参与本级子译码。
各子译码器之间的互连可根据软 /硬件实现方式(如 DSP、 FPGA或 ASIC 实现)、 性能要求等采用不同的结构, 并包括串行结构、 并行机构和它们的 折衷一一混合结构。 在相同性能下, 串行结构所须的计算量最少, 混合结构 次之, 而并行结构的计算量最大; 但是, 串行结构的译码时延一般比较大, 并性结构的译码时延较小, 而混合结构居中。
本发明给出了给出了几种典型的串行 /并行 /混合迭代译码器结构。 当采 用软 /硬件实现迭代译码算法时, 设计人员可根据实际情况灵活地选取译码 结构。
与前面提到的 CRC 的有关专利算法相比, 这样构造的码字 (在牺牲较 少码率的前提下)可进一步提高纠错性能, 同时也使码的设计更为灵活, 能 够更好地适应一大批码长、码率要求下的纠错编码的设计应用要求。特别的, 当构成乘积码的子码选取 SPC码时, 根据本发明所得的纠错码具有很低复 杂度、 较高性能的迭代译码算法。
同时, 该码的性能还受到相应迭代译码方式的影响。 采用本发明中给出 几种迭代译码结构, 对所得的纠错码进行迭代译码, 可以获得与其它一些迭 代译码器结构相比更好的性能, 从而最大程度上发挥该码的优势。 附图概述 通过结合附图对本发明最佳实施方式的详细描述, 本发明的上述及其 他特征和优点将会更加明显。
图 1是本发明的总体编码结构图;
图 2以 3维乘积码为例示出它可分别看作是由 3个不同的 "公共子码" 构成的 3组集合;
图 3是本发明中有关 "扩展" 编码部分的结构图;
图 4A是本发明中的一种 "串行" 迭代译码器结构示意图 (以 2维乘积 码加 2次 "扩展" 编码情况为例,);
图 4B是另一种常用的 "串行" 迭代译码器结构示意图 (以 2维乘积码 加 2次 "扩展" 编码情况为例), 用于与本发明中 "串行" 结构进行对比; 图 4C是本发明中的一种 "并行" 迭代译码器结构示意图 (以 3维乘积 码加 2次 "扩展" 编码情况为例);
图 4D是本发明中的一种 "混合" 迭代译码器结构示意图 (以 3维乘积 码加 2次 "扩展" 编码情况为例);
图 5和图 6分别给出了本发明构造码的两个简单的例子;
图 7和图 8分别给出了采用本发明的纠错码和译码方法后, 所得的两个 纠错码的计算机仿真结果(采用了一种 "混合" 译码器结构)。
本发明的最佳实施方式
下面结合附图对本发明进行详细描述。
参见图 1 , 它给出了本发明中的主要编码结构。 编码过程可分为: a ) 进行初始的 N ( N>1 ) 维乘积码编码; b )从 N维中选取 M维( 1<=M<=N ) 准备进行 "扩展,, 编码, 并构造 M个集合, 每个集合内含有相应公共子码 的一批码字; c )在每次 "扩展" 编码过程中, 先进行公共子码码字的重新 组合("重组"), 然后对各公共子码码字内部进行重新排序 ("重排"), 最后 再加一次系统编码得到一批校验符号; 对应 M维中的每个方向, 这样的 "扩 展,, 编码过程共进行了 M 次; d ) M组这样得到的校验符号和原乘积码一 起, 得到了编码输出。
为了进行 "扩展" 编码, 在初始 N 维乘积码编码过程中, 乘积码须包 含至少一个循环或准循环子码。 例如, 可以选择 SPC码、 (扩展)汉明码或
(扩展) BCH码作为一个循环子码。 由于常用的分组码多为循环或准循环 码, 因此该条件是容易满足的。 为了使本发明的特点得以充分体现, 通常可 选取多于一个循环或准循环码作为子码。
接下去的一步, 即从 N维中选取 M维(1<=M<=N )准备进行 "扩展" 编码。 对于 N维乘积码, 它可看作是对一批 N-1 维乘积码再进行一次编码 后所得到的。 每个这样的 N-1维乘积码本身也可看作是一个子码。 所以, N 维乘积码可看作是一批码字的集合, 其中每个码字都是一个公共子码的码字
(而这个公共子码本身也是一个 N-1维乘积码)。 对于 N维乘积码, 我们知 道, 各维编码的顺序并不会影响最终的编码输出结果。 因此, 可取 N 维乘 积码中的任意 N-1 维乘积码作为公共子码, 而将原 N维乘积码看作是沿剩 下一维排列的对应于这个公共子码的码字。 这样的选取方法共有 N种, 如 图 2所示 (图中给出了一个 N=3维情况时的例子)。
在总共 N组这样的公共子码排列中, 可以选取任意 M组( 1<=M<=N ) 进行 "扩展" 编码操作。 每组在进行 "扩展" 编码后得到一批校验符号。 所 有 M组校验码字与原乘积码一起, 构成了编码输出。 这样, 采用本发明, 可以根据实际应用所要求的码块长度和码率, 通过灵活地选取 M值(及可 能需要的截短和删节操作等), 来尽可能地设计与之匹配的编码方案。 选择 合适的 "扩展,, 编码手段(参见后面描述)后, 一般地, 随着 M 的增加, 所得纠错码的性能也将提高 (当然, 伴随着较小的码率下降)。 这样, 在某 些场合下, 也可以根据实际信道传输条件, 通过相应地改变 M值来维持一 定的通信性能水平。 这也意味着本发明所得到的纠错码在自适应编码中也有 着一定的应用前景。
为了便于后面的重排操作, 选取这 M组中的每组的 N-1维公共子码时, 应使其至少包含一个循环或准循环子码。 特别地, 为了最大程度地提高该类 纠错码的纠错能力, 应尽可能使 N-1 维公共子码包含尽可能多的循环或准 循环子码。 作为一种好的选择, 可在第一次乘积码编码时, 选择该乘积码的 每维子码均为循环或准循环码。 这样, 该 N维乘积码的任意 N-1 维乘积码 子码也是全由循环或准循环子码所构成的。
以下说明针对每一组所进行的 "扩展" 编码操作, 参见图 3。
首先, 将公共子码码字集合 1进行重新组合, 示为步骤 2。 重组是以公 共码字为单位进行的。 重组后可以得到若干组公共子码码字的集合 3、 4。 公共码字集合 1中的每个公共子码码字可成为某一个公共子码码字集合 3中 的一个码字, 也可以成为多个公共子码码字集合 3、 4 中的码字, 或者, 不 成为任何一个公共子码码字集合 3、 4 中的码字。 但是, 每个公共子码码字 集合 3中不会含有某个公共子码码字集合 1中的码字重复两次或两次以上。 一种最简单的方式是, 直接将公共子码码字集合 1复制成一个公共子码码字 集合 3, 即相当于不进行任何重组操作。 图 3中给出了另一种简单的情况, 亦即, 将公共子码码字集合 1复制两次成为公共子码码字集合 3和 4。
接下去的操作是对公共子码码字集合 3、 4 内的每个码字内的符号进行 重新排列, 示为步骤 5 , 得到公共子码码字集合 6、 7。 理想的排列应满足以 下原则: a )排列后的码字仍为一个公共子码码字; b )对于同一个公共子码 码字集合 3、 4 的不同码字, 排列对应关系应尽可能不同。 遵循上述原则的 重排模式有可能提高最终码字的最小汉明距离, 和 /或能有效地改善汉明距 离谱, 从而获得较好的性能。
为了满足原则 a ), 公共子码的重排可沿该子码中的循环 /准循环码(子 码)方向进行。 因为对于循环或准循环码, (部分)符号的循环移位仍然为 有效的循环 /准循环码。 公共子码码字集合 6、 7中的各个码字可通过选择不 同的循环移位偏移, 来尽可能地满足准则 b )。 如果公共子码含有多个循环 或准循环子码, 则循环移位可同时沿这些子码的方向进^ ί于, 这样可望获得更 好的性能。
一种特殊的情况是, 公共子码中含有一个或多个 SPC 子码。 对于 SPC 码, 其所含比特经过任意一种排列后, 所得码仍然是一个有效的 SPC码。 这样, 分别沿部分或所有这些 SPC 子码所在方向进行任意一个排列后, 所 得到的码字仍然为原公共子码的一个有效的码字。 同时, 由于对应 SPC码 的软输入 /软输出 (SISO )算法十分简单, 所以该类码特别适合于用作本发 明中构造纠错码的基本元素, 这在后面的例子和仿真中也可以部分地得以体 现。
然后, 对于重排后所得的公共码字集合 6、 7, 再进行一次编码, 示为 步骤 8。 编码所沿方向与原 Ν维乘积码中剩下一维的编码方向相同, 如图 3 中所示。 编码方式选择系统码, 例如系统分组码或系统递归卷积码。 对于线 性编码, 由于公共码字集合 6、 7 中的每个码字均为一个有效的公共码字, 因此所得校验符号 (即非系统部分)也由若干个公共码字 9、 10组成, 参见 图 4。 使校验符号本身也满足某种校验关系, 可使校验符号本身参与多次校 验, 这样有利于在迭代译码过程中提高收敛性能。 这也是为什么前述重排过 程中应尽量满足原则 a )的原因。 将编码后的校验部分公共码字 9、 10组合, 得到本组 "扩展,, 编码后的最终输出 11。
最后, 所有 M组输出的校验符号一起, 加上原乘积码, 构成了本发明 所提出的纠错码。
针对该码釆用迭代译码结构描述如下。
当采用软 /硬件实现针对本发明所提糾错码的迭代译码算法时, 设计人 员可根据实际情况, 灵活地选取 "串行"、 "并行,, 或者 "混合" 迭代译码器 结构译码结构。
一种 "串行" 迭代译码器结构如图 4A所示, 那里给出了对应 "2维乘 积码编码 +2 次扩展编码" 的情况。 迭代译码器共包含了 4个子译码器, 其 中 2 个子译码器分别包含对应于原乘积码中两个方向上的子码的 SISO 单 编码时所用子码的 SISO单元, 并包括与相应 "扩展" 编码相应的 "解重组" 和 "解重排" 单元。 这两类子译码器的结构也在图 4A中给出。 在 "串行" 迭代译码过程中, 所有子译码器串行排列 (注意它们的排列顺序并不重要), 并且, 每一个子译码器均采用了其它所有子译码器前次的输出 (即: 其它子 译码器在一次迭代跨度内的输出, 图 4A中例子中, 每次迭代跨度为 4 ); 其 外信息输出也传递给其它所有子译码器, 作为它们输入先验信息的一部分。
与之对比, 另一种 "串行" 结构的译码器如图 4B所示。 与图 4A中结 构不同的是,在该译码器中,每级子译码器仅采用了前一级子译码器的输出。 有关理论(例如 "Belief Propagation" 理论)和计算机仿真均表明, 本发明 提出的前一种 "串行" 译码器结构的收敛速度更快, 其最终收敛性能也明显 于后者。
图 4C 中给出了一种 "并行" 迭代译码器结构, 那里给出了对应 "3 维 乘积码编码 +2 次扩展编码" 的情况。 迭代译码器共包含了 5 个子译码器, 其中 3个子译码器分别包含对应于原乘积码中 3个方向上的子码的 SISO单 编码时所用码的 SISO单元, 以及相应的解重组和解重排单元。 在该译码器 中, 每次迭代包含了并行排列的所有子译码器(图 4C 的例子中为 5个)。 在每次迭代中, 每级子译码器釆用了上次迭代中除本身外其它所有子译码器 (图 4C的例子中为 4个) 的外信息输出, 并将它们与解调器的软信息输出 进行合并后, 作为本级的先验信息输入。 "并行" 迭代译码器结构与 "串行" 译码器结构相比, 在相同译码时间 内一般可获得更快的收敛速度, 并且特别适合于 ASIC硬件实现, 但其计算 量也较大。 "串行"迭代译码器的计算量较小, 适合于单 CPU结构(如 DSP ) 实现。
作为 "串行" 结构和 "并行" 结构的一种折衷, 也可以采用 "混合" 结 构的迭代译码器形式。 这类译码器的结构更为灵活, 在相似的能指标下, 它 们的译码时延一般比 "串行" 结构小, 而计算量则比 "并行" 结构小。 图 4D 中给出了一种可能的 "混合" 结构迭代译码器, 对应了 "3维乘积码编码 +2 次扩展编码" 的情况。 在该结构中, 对应原 N维乘积码, 包含了 N级译码 模块, 在每级译码模块中, 如果在相应维所在方向上仅进行了原乘积码的编 码, 则该译码模块中仅含有一个相应的子译码器; 如果在该维方向上还进行 了 "扩展" 编码, 则还要再包含另外一个(或多个)相应的子译码器。 每级 译码译码模块将它包含的所有子译码器的外信息输出以某种形式进行合并 (例如, 各自先乘一个因子后再相加)后作为本级输出, 供其它 N-1 个译 码模块使用。 同时, 类似本发明提出的 "串行,, 结构, 每级译码模块利用了 其它所有 N-1级译码模块的输出。
下面给出两个简单的例子。
图 5示出例一。 先进行第一次(2维)乘积码编码, 子码分别为 (8,4 ) 扩展汉明码(行方向)和 (7,6 ) SPC码(列方向)。
将该 2维乘积码看作是 7个(8,4 )扩展汉明码码字的集合, 每个扩展 汉明码对应了一行。 进行重组时, 可将该集合复制两次; 然后对其中每个集 合内的扩展汉明码字进行重排。 为了使重排后的码字仍为有效的扩展汉明 码, 对 (8,4 )码中扩展前的 (7,4 )汉明码部分进行循环移位。 对重组后所 得的两个集合, 可分别釆用顺时针和逆时针的循环移位方式, 以尽可能地提 高所得码字的最小汉明距离, 并改善其汉明距离谱。 最后, 对每个重排后的 集合(在列方向)进行(8,7) SPC 编码。 这样, 在列方向上经过 "扩展,, 编码后, 得到了一批校验符号, 它由另两个新得到的 (8,4)扩展汉明码字 组成。
另一方面, 将原 2维乘积码看作是 8个(7,6) SPC码码字的集合, 每 个 SPC码对应了一列。 进行重组时, 直接将该集合复制; 然后对该集合内 每个 SPC码字进行任意顺序的重排。 一种较理想的重排的方式是, 使原乘 积码中的任意一个 "矩形"错误图样, 经过重排后不再是一个 "矩形" 图样。 重排后 (在行方向)进行(9,8) SPC编码。 这样, 在行方向上进行 "扩展" 编码后,得到了另一批校验符号,这些校验符号本身也构成了一个(7,6) SPC 码码字。
经过两次 "扩展"编码后,得到了另外 8+8+7=23个校验位;从而原( 8,4 )
* (7,6) = (56,24)乘积码变为了本发明所得 ( 56+23,24 ) = ( 79,24 )码。
图 6 示出例二。 先进行一次 3 维乘积码编码, 它的 3 个子码分别为 (ΝΙ,ΚΙ )码、 (Ν2,Κ2)码和(Ν3,Κ3)码。 它可以分别看作以下三个公共 子码码字的集合:
集合 1: N1个公共子码码字 (Ν2,Κ2) * (Ν3,Κ3) 的集合;
集合 2: Ν2个公共子码码字 (ΝΙ,ΚΙ ) * (Ν3,Κ3) 的集合;
集合 3: Ν3个公共子码码字 (Ν1,Κ1 ) * (Ν2,Κ2) 的集合;
对于每个集合, 经过 "扩展" 操作, 并进行相应的 SPC 编码后, 可得 到另外一个码字,在 3个集合中分别对应了( Ν2,Κ2 ) * ( Ν3,Κ3 )码、( ΝΙ,ΚΙ )
* (Ν3,Κ3 )码和(Ν1,Κ1 ) * (Ν2,Κ2)码。 它们连同原 3 维乘积码一起, 构成了本发明所得的 (Ν1*Ν2*Ν3+Ν1*Ν2+Ν1*Ν3+Ν2* Ν3; Κ1*Κ2*Κ3 ) 的新码。
下面说明两个仿真结果, 旨在一定程度上反映本发明的特征和优点。 图 7给出了对应了 2维的一个情况。 原 2维乘积码由两个 SPC子码构 成, 这两个 SPC子码均为 (15,14 )码。 分别在两个方向上进行 "扩展" 编 码后 (其中重排可看作是沿两条不同 "对角线" 方向进行的校猃), 分别得 到两个新的 (15,14 ) SPC码码字。 注意, 虽然它们的码型相同, 但它们实 ( 15*15+2*15,14*14 ) = ( 255,196 )码。 如果只在一个方向上进行 "扩展" 编码 (即 CRC 有关专利中所谓 "Hyper-Code" 的构造方式), 可得到 ( 15*15+15,14*14 ) = ( 240,196 )码, 同时它也可看作是本发明的一种简单 的情况。 作为对比, 原初始 2维乘积码的性能曲线也绘于图中。 采用的信道 模型有两种, 分别为 AWGN信道和独立 Rayleigh 衰落信道, 调制方式为 16QAM。 图 7中分别给出了相应的误码率 (BER )和误码块率(BLER )性 t 图 8给出了对应 3维的一个情况。 原 3维乘积码由 3个 SPC子码构成, 分别为 X-轴: ( 11,10 )码、 Y-轴: ( 11,10 )码、 Z-轴 ( 12,11 )码。 选取沿 X- 轴和 Y-轴进行扩展后(SPC编码), 得到两个新的( 11,10 ) * ( 12,11 )码(注 意: 尽管这两个码码型一致, 但实际上它们分别对应了不同方向上的两个丕 同的公共子码),这样最终得到( 11*11*12+2*11*12,10*10*11 ) = ( 1716,1100 ) 码, 作为对比, 我们还给出了另两个码型, 一个为原初始 3维乘积码; 另一 个为进行一次 "扩展"编码后所得的码(即 CRC的专利中所谓 "Hyper-Code" 的构造方式), 其中原 3维乘积码为 (11,10 ) * ( 13,12 ) * ( 10,9 )码, 以其 中的 ( 11,10 ) * ( 13,12 )码作为公共子码, 沿 Z-轴进行 SPC码 "扩展" 编 码后得到一个新的公共子码码字, 这样最终构成一个 (11*13*10+11*13 , 10*12*9 ) = ( 1573 , 1080 )码, 同时它也可看作是本发明中的一种最简单 的情况。 相应的, 译码方法采用了本发明中提出的一种 "混合" 迭代译码结 构 (如图 4D 所示)。 采用的信道模型有两种, 分别为 AWGN信道和独立 Rayleigh衰落信道, 调制方式为 16QAM。 图 8 中分别给出了相应的误码率 ( BER )和误码块率 (BLER )性能。
由图 7和图 8的仿真结果可见, 采用本发明构造的纠错码(特别是, 在 进行多于一次的 "扩展" 编码时)具有较好的性能。 与仅在一个方向上进行 "扩展" 编码的特殊情况(这是 CRC 的相关专利中的构造方法)相比, 又 能够进一步获得一定的编码增益(当然, 在每次 "扩展" 中要仔细选择合适 的 "重组" 和 "重排" 操作), 其代价是码率的少量下降和迭代译码器复杂 度的少量增加。
本发明的意义在于, 提供了一种灵活的纠错码编码结构和相应的译码方 法, 能适合于许多实际应用 (特别是高码率编码、 高频谱利用率的情况), 并体现出较好的性能。 因此, 本发明在许多应用领域中具有良好的实用前景 和应用价值。
虽然以上结合附图详细地描述了本发明的最佳实施方式, 但是对于 本领域内熟练的技术人员而言, 可以做出各种修改和变更, 而不背离本 发明的范围和实盾。 因此, 本发明的范围仅由权利要求书限定。

Claims

权利要求
1. 一种在数字通信系统中对源数据元素进行纠错编码的方法, 其特征在 于包括以下步骤:
对所述源数据元素进行一次 N维乘积码编码, 其中 N〉 1 ;
从分别可以在相应一维方向上排列构成所述 N维乘积码的 N组 N - 1维 乘积码中, 选择 M组 N - 1维乘积码, 其中 1MN;
分别对每一组所述 N - 1维乘积码进行扩展编码, 得到 M组校验符号; 将所述 M组校验符号与所述 N维乘积码合并, 构成纠错码。
2. 根据权利要求 1的纠错编码方法, 其特征在于对每组 N - 1维乘积码进 行扩展编码的步骤包括以下子步骤:
对所述组中的公共子码码字重新组合, 生成至少一个新的公共子码码字 集合;
对每个新的公共子码码字集合中的每个码字内的符号重新排序; 在与所述 N维乘积码中剩下一维的编码方向相同的方向上, 对每个公共 子码码字集合进行系统编码, 并将得到的所有校验符号作为本次扩展编码的 输出。
3. 根据权利要求 1 的纠错编码方法, 其特征在于所述 N维乘积码包括至 少一个循环子码或准循环子码。
4. 根据权利要求 3的纠错编码方法, 其特征在于所述 M组 N - 1 维乘积 码中的每组至少包括一个循环子码或准循环子码。
5. 根据权利要求 4的纠错编码方法, 其特征在于所选择的 M组 N - 1 维 乘积码包含尽可能多的循环子码或准循环子码。
6. 一种对根据权利要求 1 的纠错编码方法形成的纠错码进行译码的迭代 译码器, 其特征在于包括多个子译码器, 其中每个子译码器包括一个软输入 软输出译码单元。
7. 根据权利要求 6 的迭代译码器, 其特征在于所述软输入软输出译码单 元与原 N维乘积码对应。
8. 根据权利要求 6 的迭代译码器, 其特征在于所述软输入软输出译码单 元与扩展编码中的相应子码对应, 并且所述子译码器还包括与扩展编码中相 对应的解重组和解重排单元。
9. 根据权利要求 7或 8 的迭代译码器, 其特征在于, 各级子译码器之间 的互连釆用 串行结构, 即各子译码器串行排列, 并且每个子译码器利用了 其他所有子译码器的输出, 并将它们进行合并后作为先验信息参与本级子译 码。
10. 根据权利要求 7或 8的迭代译码器, 其特征在于, 各级子译码器之间 的互连釆用并行结构, 即各子译码器并行排列, 并且每个子译码器采用了上 次迭代中除本身外其它所有或者部分子译码器输出, 并将它们进行合并后作 为先验信息参与本级子译码。
11. 根据权利要求 7或 8的迭代译码器, 其特征在于, 各级子译码器之间 的互连采用混合结构, 即各个子译码器部分并行排列, 部分串行排列, 同时, 每个子译码器器利用了其他所有或者部分子译码器的输出, 并将它们进行合 并后作为先验信息参与本级子译码。
PCT/CN2001/001290 2001-08-28 2001-08-28 Procede et dispositif emetteur en diversite WO2003023977A1 (fr)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CNA018180809A CN1471763A (zh) 2001-08-28 2001-08-28 对源数据元素进行纠错编码的方法及相应的迭代译码器
PCT/CN2001/001290 WO2003023977A1 (fr) 2001-08-28 2001-08-28 Procede et dispositif emetteur en diversite

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2001/001290 WO2003023977A1 (fr) 2001-08-28 2001-08-28 Procede et dispositif emetteur en diversite

Publications (1)

Publication Number Publication Date
WO2003023977A1 true WO2003023977A1 (fr) 2003-03-20

Family

ID=4574854

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2001/001290 WO2003023977A1 (fr) 2001-08-28 2001-08-28 Procede et dispositif emetteur en diversite

Country Status (2)

Country Link
CN (1) CN1471763A (zh)
WO (1) WO2003023977A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102009058037A1 (de) 2009-12-14 2011-06-16 Pleß, Diana Husse zur Abdeckung einer Katzentoilette
GB2503504A (en) * 2012-06-29 2014-01-01 Renesas Mobile Corp Uplink antenna selection in a user equipment on the basis of detected fading conditions for downlink signals
US9313010B2 (en) 2012-06-29 2016-04-12 Broadcom Corporation Controlling TX antenna selection
CN108370252A (zh) * 2015-12-14 2018-08-03 国际商业机器公司 对乘积码诊断的后解码错误检查

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110489268B (zh) * 2019-08-05 2023-01-20 南开大学 一种应用于星上恶劣环境中存储系统的两级纠错编码方法与系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6048090A (en) * 1997-04-23 2000-04-11 Cirrus Logic, Inc. Error correction and concurrent verification of a product code
US6119264A (en) * 1996-04-03 2000-09-12 France Telecom & Telediffusion De France S.A. Data block convolutional coding device and method, and corresponding decoding method and device
US6145111A (en) * 1997-08-14 2000-11-07 Her Majesty The Queen In Right Of Canada, As Represented By The Minister Of Industry Through Communications Research Centre High-performance low-complexity error-correcting codes

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6119264A (en) * 1996-04-03 2000-09-12 France Telecom & Telediffusion De France S.A. Data block convolutional coding device and method, and corresponding decoding method and device
US6048090A (en) * 1997-04-23 2000-04-11 Cirrus Logic, Inc. Error correction and concurrent verification of a product code
US6145111A (en) * 1997-08-14 2000-11-07 Her Majesty The Queen In Right Of Canada, As Represented By The Minister Of Industry Through Communications Research Centre High-performance low-complexity error-correcting codes

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102009058037A1 (de) 2009-12-14 2011-06-16 Pleß, Diana Husse zur Abdeckung einer Katzentoilette
GB2503504A (en) * 2012-06-29 2014-01-01 Renesas Mobile Corp Uplink antenna selection in a user equipment on the basis of detected fading conditions for downlink signals
US9313010B2 (en) 2012-06-29 2016-04-12 Broadcom Corporation Controlling TX antenna selection
CN108370252A (zh) * 2015-12-14 2018-08-03 国际商业机器公司 对乘积码诊断的后解码错误检查

Also Published As

Publication number Publication date
CN1471763A (zh) 2004-01-28

Similar Documents

Publication Publication Date Title
JP4291372B2 (ja) 並列連接低密度パリティ検査符号を用いるチャンネル符号化/復号化装置及び方法
CN101039119B (zh) 编码与解码的方法及系统
US20070162822A1 (en) Apparatus and method for transmitting/receiving signal supporting variable coding rate in a communication system
WO2002078196A1 (en) Method and coding means for error-correction utilizing concatenated parity and turbo codes
JP2007531385A (ja) 可変符号化率を有するブロック低密度パリティ検査符号の符号化/復号装置及び方法
Gnaedig et al. Design of three-dimensional multiple slice turbo codes
EP1097517A1 (en) Interleaving apparatus and method for use in serial concatenated convolutional code encoder in a mobile communication system
CN108199723B (zh) 一种基于双递归的分组马尔可夫叠加编码方法
US20010025361A1 (en) XOR code and serially concatenated encoder/decoder using the same
CN1961517B (zh) 编码和解码方法及装置、存储编码数据的装置
US7502983B2 (en) Binary error-correction coding method and decoding method for trellis with permuted and sequential symbols
KR20060016059A (ko) 가변 블록 길이를 가지는 블록 저밀도 패리티 검사 부호부호화/복호 장치 및 방법
CN101252409B (zh) 基于符号级超格图的联合信源信道解码新算法
KR100461544B1 (ko) 고차원의 곱부호를 이용한 레이트 호환가능 부호 구성 방법
WO2003023977A1 (fr) Procede et dispositif emetteur en diversite
CN100581089C (zh) TD-SCDMA系统中的Woven卷积码纠错编、译码器
JP2004511179A (ja) 断片的脱インターリーブ
CN108476027B (zh) 窗口交织的turbo(wi-turbo)码
CN101150551A (zh) 低密度奇偶校验编码的qpsk/8psk系统的交织方案
CN101150378A (zh) 低密度奇偶校验编码的32apsk系统的交织方案
Belkasmi et al. Iterative threshold decoding of product codes constructed from majority logic decodable codes
Liu et al. Turbo encoding and decoding of Reed-Solomon codes through binary decomposition and self-concatenation
Liu et al. An interactive concatenated turbo coding system
Yeh et al. Interblock memory for turbo coding
He et al. Performance evaluation of adaptive two-dimensional turbo product codes composed of hamming codes

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BY BZ CA CH CN CO CR CU CZ DE DM DZ EC EE ES FI GB GD GE GH HR HU ID IL IN IS JP KE KG KP KR LC LK LR LS LT LU LV MA MD MG MN MW MX MZ NO NZ PH PL PT RO SD SE SG SI SK SL TJ TM TR TT TZ UG US UZ VN YU ZA

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW MZ SD SL SZ UG ZW AM AZ BY KG KZ MD TJ TM AT BE CH CY DE DK ES FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GQ GW MR NE SN TD TG

WWE Wipo information: entry into national phase

Ref document number: 018180809

Country of ref document: CN

121 Ep: the epo has been informed by wipo that ep was designated in this application
122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase

Ref country code: JP