WO2020001638A1 - 一种提高Turbo译码性能的方法、装置及计算机设备 - Google Patents

一种提高Turbo译码性能的方法、装置及计算机设备 Download PDF

Info

Publication number
WO2020001638A1
WO2020001638A1 PCT/CN2019/093798 CN2019093798W WO2020001638A1 WO 2020001638 A1 WO2020001638 A1 WO 2020001638A1 CN 2019093798 W CN2019093798 W CN 2019093798W WO 2020001638 A1 WO2020001638 A1 WO 2020001638A1
Authority
WO
WIPO (PCT)
Prior art keywords
soft information
bch code
bit
codeword
value
Prior art date
Application number
PCT/CN2019/093798
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 中兴通讯股份有限公司
Publication of WO2020001638A1 publication Critical patent/WO2020001638A1/zh

Links

Images

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/29Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2957Turbo codes and decoding
    • H03M13/296Particular turbo code structure
    • H03M13/2963Turbo-block codes, i.e. turbo codes based on block codes, e.g. turbo decoding of product codes
    • 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/29Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes

Definitions

  • the present application relates to the field of optical communication technology, for example, to a method, a device, and a computer device for improving turbo decoding performance.
  • Forward error correction (FEC) technology has been widely used in optical communication systems to improve the system's bit error rate performance and the reliability of system communication.
  • optical communication FEC has experienced three generations in terms of time and performance.
  • the first-generation FEC uses hard-decision block codes, and its typical representative is RS (255,239).
  • the second-generation FEC uses hard decision concatenated codes and comprehensively applies cascading, interleaving, and iterative decoding technologies, which effectively improves the FEC error correction capability and can support long-distance transmission requirements of 10G and 40G systems.
  • the third generation is soft decision FEC.
  • Turbo product code (Turbo Product Code, TPC) belongs to the third-generation optical communication soft decision FEC algorithm.
  • the third generation Turbo product code its coding is a multi-dimensional data block formed by a block combination of many rows of block codes. These data blocks are independent coding and decoding units. At the receiving end, the decoder will soft-decode these independent data blocks row-by-column or column-by-column; after all rows or columns of a data block are soft-decoded, the soft information of the data block will be updated. This process is called Decode for one iteration. The next decoding will transpose the data block on the basis of the data block updated last time, and then soft-decode the data block row by column or column by column to obtain new code block soft information. .
  • the decoding convergence of the TPC code block is slower and the decoding performance is lower.
  • the present application provides a method, a device, and a computer device for improving turbo decoding performance, so as to avoid a situation in which the decoding convergence of the TPC code block is slow and the decoding performance is low during the related art TPC code block decoding process.
  • the present application provides a method for improving turbo decoding performance, including: detecting whether the Euclidean distance dist_D of a D codeword corresponding to predetermined BCH code soft information in a TPC code block to be decoded is less than a first preset threshold, where , The predetermined BCH code soft information is any row or column in the TPC code block to be decoded; in a case where the Euclidean distance dist_D of the D code word corresponding to the predetermined BCH code soft information is less than the first preset threshold Mark the D codeword corresponding to the predetermined BCH code soft information as a reliable codeword; and in the case where the D codeword corresponding to the predetermined BCH code soft information is a reliable codeword, according to the predetermined BCH code soft information,
  • the j-th original value R j , the outer information value w j , the outer information trust factor ⁇ , and a preset positive factor k are used to calculate the soft information input for the next iterative decoding of
  • the present application also provides a device for improving turbo decoding performance, including: a D codeword detection module configured to detect the Euclidean distance of the D codeword corresponding to the predetermined BCH code soft information in the TPC code block to be decoded.
  • dist_D is less than the first preset threshold, where the predetermined BCH code soft information is any row or column in the TPC code block to be decoded; the D code word marking module is set to correspond to the predetermined BCH code soft information If the Euclidean distance dist_D of the D codeword is less than the first preset threshold, mark the D codeword corresponding to the soft information of the predetermined BCH code as a reliable codeword; a soft information calculation module for the next iterative decoding, set When the D codeword corresponding to the predetermined BCH code soft information is a reliable codeword, according to the original value R j , the external information value w j , and the external information trust factor of the j-th bit in the predetermined BCH code soft information ⁇ and a preset positive factor k, calculate a soft information input value r j_next for the next iterative decoding of the j-th bit in the predetermined BCH code soft information, where k is a preset positive factor greater than 1.
  • the present application also provides a computer device including at least a memory and a processor.
  • the memory stores a computer program, wherein the processor implements the foregoing when the computer program on the memory is executed. Steps of a method to improve turbo decoding performance.
  • FIG. 1 is a flowchart of a turbo decoding method in the related art
  • FIG. 2 is a flowchart of a method for improving turbo decoding performance in the first embodiment of the present invention
  • FIG. 3 is a schematic diagram of a decoding process of a TPC code block to be decoded in the first embodiment of the present invention
  • FIG. 4 is a schematic structural diagram of an apparatus for improving turbo decoding performance in a second embodiment of the present invention.
  • FIG. 5 is a schematic structural diagram of another apparatus for improving turbo decoding performance in a second embodiment of the present invention.
  • FIG. 6 is a schematic diagram of a decoding process of a device for improving turbo decoding performance in a second embodiment of the present invention.
  • this application provides a method, a device, and a computer device for improving turbo decoding performance.
  • the first embodiment of the present invention provides a method for improving turbo decoding performance. Based on the turbo decoding method in the related art, it is determined that the soft information corresponding to each row or column of the BCH code in the TPC code block to be decoded corresponds to Whether the D codeword is a reliable codeword, and when the D codeword is a reliable codeword, a predetermined positive factor k is set to speed up the convergence process.
  • the turbo decoding method in the related art mainly includes steps S1 to S10.
  • step S2 a certain number of unreliable bits of the BCH code soft information input to the TPC code block to be decoded is determined.
  • step S3 the soft information of each line of the BCH code is hard-judged, and several code words to be decoded are obtained according to the unreliable bits.
  • step S4 a plurality of codewords to be decoded are input to the BCH decoder for decoding to obtain a plurality of candidate codewords.
  • step S5 the Euclidean distance is calculated separately from the candidate codeword and the corresponding soft information of the input BCH code, and the D codeword and the competing codeword C of the BCH code for each row are determined.
  • step S6 preliminary soft information calculation is performed bit by bit for each row of BCH code soft information.
  • step S7 external information calculation is performed bit by bit for each row of BCH codes.
  • step S8 it is determined whether the current number of iterative decoding times N reaches the maximum configuration value, and based on the determination result that N has not reached the maximum configuration value, step S9 is performed; based on the determination result that N has reached the maximum configuration value, step S10 is performed.
  • step S10 the final soft decoding output is calculated bit by bit for each row of BCH codes.
  • a key step is to search and determine the D codeword. If the found D codeword matches the correct codeword at the originating end, the D codeword can be called a reliable D codeword. .
  • the soft information of a row / column BCH code is decoded in the previous several iterative decoding, even if the corresponding D codeword is reliable, the external information w j at this time may still be multiplied by A smaller value of the trust factor ⁇ , that is, the external information w j is not fully trusted at this time. This approach will lead to slower TPC decoding convergence and lower decoding performance.
  • the first embodiment of the present invention proposes a method for improving turbo decoding performance.
  • the flowchart is shown in FIG. 2 and includes steps S101 to S103.
  • step S101 it is detected whether the Euclidean distance dist_D of the D codeword corresponding to the predetermined BCH code soft information in the TPC code block to be decoded is less than a first preset threshold.
  • the predetermined BCH code soft information is any row or any column of soft information in the TPC code block to be decoded.
  • the first preset threshold is also referred to as the D code word reliability judgment threshold.
  • Q is a positive number less than 1, and the value of Q changes with the number of iterative decoding times.
  • dist_mean is the average of the Euclidean distances of all candidate codewords corresponding to the predetermined BCH code soft information under the current number of iterative decoding times
  • the Euclidean distance involved at this time may be a full Euclidean distance or a reduced Euclidean distance, or dist_mean is the Euclidean D codeword corresponding to all the BCH code soft information lines of the TPC code block to be decoded under the current number of iterative decoding times.
  • Mean distance the Euclidean distance involved is the full Euclidean distance.
  • the above-mentioned Euclidean distance is a result of calculating the Euclidean distance between all bits of the candidate codeword and the predetermined BCH code soft information when calculating the Euclidean distance; the above-mentioned reduced Euclidean distance is When calculating the Euclidean distance, the Euclidean distance between the candidate codeword after excluding the preset bits and the soft information of the predetermined BCH code after excluding the soft information corresponding to the preset bits, wherein the preset bits are in all candidates
  • the bit values of the codewords are all the same, that is, the values of the bit bits in all candidate codewords are all 1 or all 0s.
  • step S102 when the Euclidean distance dist_D of the D codeword corresponding to the predetermined BCH code soft information is less than the first preset threshold, the D codeword corresponding to the predetermined BCH code soft information is marked as a reliable codeword.
  • step S103 when the D codeword corresponding to the soft information of the predetermined BCH code is a reliable codeword, according to the original value R j of the j-th bit in the predetermined soft information of the BCH code, the external information value w j , and the external information trust factor ⁇ and a preset positive factor k to calculate a soft information input value r j_next of the next iterative decoding of the j-th bit in the predetermined BCH code soft information.
  • the degree of trust in the external information value w j of the j-th bit during calculation is increased.
  • k should be a positive number greater than 1.
  • a preset range of iteration times may be set, that is, the current number of iteration decoding times falls within a preset Range of the number of iterations of the predetermined BCH code soft information, based on the original value R j of the j-th bit in the soft information of the predetermined BCH code, the external information value w j , the external information trust factor ⁇ , and a preset positive factor k, the first number of the predetermined BCH code soft information is calculated.
  • the preset number of iterations may be any one or several times of iterative decoding from the first iterative decoding to a preset maximum configured number of times.
  • the number of decoding times reaches the maximum number of configuration times, the soft information input value for the next iterative decoding is no longer needed, so in general, the preset number of iterations does not include the last iterative decoding.
  • step S101 after detecting whether the Euclidean distance dist_D of the D codeword corresponding to the predetermined BCH code soft information in the TPC code block to be decoded is smaller than the first preset threshold, there may be a D code corresponding to the predetermined BCH code soft information.
  • the Euclidean distance dist_D of the word is greater than or equal to the first preset threshold, and in this case, when calculating the soft information input value of the next iterative decoding, the soft information according to the predetermined BCH code is calculated according to the method in the related art.
  • the TPC code to be decoded All BCH code soft information in the block calculates the soft information input value of the next iterative decoding bit by bit, and transposes the TPC code block composed of the soft information input value of the next iterative decoding to obtain the next iterative decoding.
  • TPC input code block each bit of all BCH code soft information in the TPC code block to be decoded has to calculate its corresponding soft information input value for the next iterative decoding.
  • the TPC code block composed of the soft information input values of the next iterative decoding of all the bits is transposed.
  • the transposed TPC code block is the TPC input code block of the next iterative decoding, that is, the next iterative decoding.
  • any row or column is obtained from the TPC input code block as the predetermined BCH code soft information in the next iterative decoding.
  • the current iterative decoding number is not the preset maximum configuration number
  • the value of the current iterative decoding number is increased by 1 on the original basis
  • perform the next iterative decoding if the current number of iterative decodings is equal to the preset maximum configuration number, then it is proved that the current iterative decoding is the last iterative decoding, and the BCH code soft information is predetermined according to the current iterative decoding times
  • the outer information value w j of the j-th bit and the soft information input value r j are used to calculate the final soft decoding output value r j-out of the j- th bit in the predetermined BCH code soft information.
  • steps (1)-(6) should be further included.
  • M is a positive integer less than the total number of bits of the predetermined BCH code soft information, and the actual value of M should be based on the type of the TPC code block or the decoded
  • the hardware environment is determined.
  • the hard information of the predetermined BCH code soft information is obtained, and the hard bit data corresponding to the predetermined BCH code soft information is obtained.
  • the hard bit data obtained after the hard judgment should be composed of 0 or 1.
  • the data of other bits except M unreliable bits are fixed and the data after hard judgment is fixed.
  • the corresponding value of M unreliable bits is a combination of 0 or 1. 2 M , that is, N codewords to be decoded.
  • the N codewords to be decoded can be input to a BCH decoder and decoded to obtain P candidate codewords. Since the decoded candidate codewords may have Repeated or decoding failure occurs, so all candidate codewords obtained need to be screened, and P candidate codewords are obtained after deleting the repeated and / or decoded failed codewords.
  • the P candidate codewords and the predetermined BCH code soft information are respectively used to calculate the Euclidean distance, and the candidate codeword having the smallest Euclidean distance is determined as the predetermined
  • the D code words of the BCH code soft information, and the predetermined code words of each bit of the BCH code soft information are determined from candidate code words other than the D code words from the D candidate code words.
  • the Euclidean distance can be calculated, or the Euclidean distance can be reduced.
  • a first preset threshold value threshold is set to determine whether a D codeword of a row or a column of soft information in a TPC code block to be decoded is a reliable D codeword, and is a reliable D codeword.
  • a preset positive factor is set to increase the trust value to speed up the convergence and improve the decoding performance, avoiding the TPC code block decoding convergence in the related art TPC code block decoding process. Slower, lower decoding performance.
  • the decoding process of the TPC code block to be decoded is described in detail below with reference to the TPC code block to be decoded composed of 63 lines of BCH (63, 51) codes as an example.
  • the object of the TPC decoding algorithm is a TPC code block composed of 63 lines of BCH (63, 51) codes. It is set to perform 4 iterative decoding, that is, the maximum number of iterative decoding configurations is 4 times, of which one iterative translation
  • the code refers to one row decoding or one column decoding.
  • a first preset threshold threshold is set for the reliability of the D codeword, and the size of the threshold is corresponding to all rows of the TPC code block under the current number of iterations.
  • the mean value of the Euclidean distance of the D codeword is a value obtained by multiplying the reference by a scaling factor Q; the processing iterations for the D codeword marked as reliable are configured in the first and second times, that is, the preset number of iterations
  • the range is 1st and 2nd, that is, when the number of iterations is the 1st or 2nd iteration, the convergence of the D codeword is used to accelerate the convergence when calculating the input value of the next iterative decoding soft information. operating.
  • the steps in this embodiment include steps S31 to S42.
  • each iterative decoding determines four unreliable bits line by line for the input 63 lines of BCH code soft information code blocks, where: The absolute value of the four unreliable bits selected from the 63 soft information data for each line of BCH code soft information is the smallest of the 63 soft information absolute values.
  • each row of BCH code soft information is hard-judged to obtain a 63-bit hard bit data, and the combination of 0 or 1 is respectively performed according to the 4 unreliable bits, and a maximum of 2 to the 4th power, that is, 16 waits can be obtained.
  • each codeword to be decoded is 63 bits long, but not necessarily a BCH (63,51) codeword.
  • step S33 the above 16 to-be-decoded codewords are input to a BCH decoder for decoding to obtain several candidate codewords.
  • These candidate codewords are BCH (63,51) codewords. The number is not necessarily 16 and it is necessary to filter out code words that are repeated or fail to decode.
  • step S34 the Euclidean distance is calculated respectively for the above-mentioned number of candidate codewords and the corresponding input BCH code soft information, wherein the calculation of the Euclidean distance is to compare all bits of the candidate codeword with the corresponding input BCH code soft information.
  • the Euclidean distance calculation is performed, that is, the Euclidean distance obtained is the full Euclidean distance.
  • the candidate codeword corresponding to the minimum value of the Euclidean distance is determined as the D codeword corresponding to the soft information of the input BCH code.
  • the corresponding competing codeword C will be from Search among other candidate codewords.
  • step S35 preliminary soft information calculation is performed bit-by-bit for each line of BCH code soft information of 63 lines.
  • a reference D codeword reliable judgment threshold (that is, a first preset threshold) threshold is set.
  • the Euclidean distance dist_D of the D codeword is less than the threshold threshold, the D codeword is marked as a reliable D codeword.
  • the European distance is a full European distance.
  • the reference threshold for reliable determination of the D codeword threshold is obtained by multiplying the average value of the Euclidean distance dist_mean of the D codewords corresponding to all rows of the TPC code block under the current number of iterations by a value obtained by multiplying by a scale factor Q, where Q is less than 1.
  • step S38 it is determined whether the current number of iterative decoding times reaches the maximum configuration value of 4 times. Based on the determination result that the current number of iterative decoding times does not reach the maximum configuration value of 4 times, step S39 is performed; based on the current iterative decoding times, the maximum configuration value is reached. As a result of the determination 4 times, step S42 is executed.
  • step S39 it is determined whether the D codeword of the current line is a reliable codeword. Based on the determination result that the D codeword of the current line is a reliable codeword, step S40 is performed; based on the D codeword of the current line is not a reliable codeword. If judged, step S41 is executed.
  • step S40 if the D codeword is a reliable D codeword and the current number of iterative decoding is within a preset number of iterations, that is, the current number of iterations is the first to the second, then each line of BCH code soft information
  • the input value of soft information, R j is the original value of the j-th bit in the BCH code soft information R j , k is a preset positive factor greater than 1, ⁇ is the trust factor of external information, and the upper limit of k * ⁇ is 1 ;
  • the value of k when the current number of iterations is the first time, the value of k may be taken as 2, and when the current number of iterations is the second time, the value of k may be taken as 1.6, since 0 ⁇ ⁇ 1, it is determined by k * ⁇ Increase the trust value of external information and accelerate convergence.
  • the second embodiment of the present invention provides a device for improving turbo decoding performance.
  • the structure diagram thereof is shown in FIG. 4 and mainly includes: a D codeword detection module 401 configured to detect a predetermined BCH in a TPC code block to be decoded.
  • the D codeword marking module 402 Coupling with the D codeword detection module 401, it is set to mark the D codeword corresponding to the predetermined BCH code soft information as the Euclidean distance dist_D of the D codeword corresponding to the predetermined BCH code soft information is less than the first preset threshold.
  • the soft information calculation module 403 for the next iterative decoding is coupled with the D codeword marking module 402 and is set to be based on the predetermined BCH code if the D codeword corresponding to the predetermined BCH code soft information is a reliable codeword
  • the original value R j of the j-th bit in the soft information, the value w j of the external information, the trust factor ⁇ of the external information, and a preset positive factor k calculate the soft information of the next iterative decoding of the j-th bit in the soft information of the predetermined BCH code Enter the value r j_next , where k is A preset positive factor greater than 1.
  • the predetermined BCH code soft information is any row or any column of soft information in the TPC code block to be decoded.
  • the first preset threshold is also referred to as the D code word reliability judgment threshold.
  • Q is a positive number less than 1, and the value of Q changes with the number of iterative decoding times.
  • dist_mean is the average of the Euclidean distances of all candidate codewords corresponding to the predetermined BCH code soft information under the current number of iterative decoding times
  • the Euclidean distance involved at this time may be a full Euclidean distance or a reduced Euclidean distance, or dist_mean is the Euclidean D codeword corresponding to all the BCH code soft information lines of the TPC code block to be decoded under the current number of iterative decoding times.
  • Mean distance the Euclidean distance involved is the full Euclidean distance.
  • the above-mentioned Euclidean distance is a result of calculating the Euclidean distance between all bits of the candidate codeword and the predetermined BCH code soft information when calculating the Euclidean distance; the above-mentioned reduced Euclidean distance is When calculating the Euclidean distance, the Euclidean distance between the candidate codeword after excluding the preset bits and the soft information of the predetermined BCH code after excluding the soft information corresponding to the preset bits, wherein the preset bits are in all candidates
  • the bit values of the codewords are all the same, that is, the values of the bit bits in all candidate codewords are all 1 or all 0s.
  • the D codeword marking module 402. When the soft information calculation module 403 of the next iterative decoding calculates the soft information input value of the next iterative decoding of a certain bit, consideration should be given to increasing the bit. The degree of trust in the corresponding external information.
  • the soft information calculation module 403 of the next iterative decoding is added during calculation.
  • the degree of trust in the outer information value w j of the j-th bit to accelerate convergence It should be understood that, since the value range of the external information trust factor ⁇ is 0 ⁇ ⁇ 1, in order to accelerate convergence, k should be a positive number greater than 1.
  • the soft information calculation module 403 for the next iterative decoding calculates the soft information input value r j_next for the next iterative decoding of the j-th bit in the predetermined BCH code.
  • a preset number of iterations range can also be set, that is, The soft information calculation module 403 for the next iterative decoding first detects whether the current number of iterative decodings falls within a preset range of iterations, and when the current iterative decoding number falls within a preset range of iterations, it softens according to a predetermined BCH code.
  • the original j-th bit of the message, R j , the outer information value w j , the outer information trust factor ⁇ , and a preset positive factor k calculate the soft information of the next iterative decoding of the j-th bit in the predetermined BCH code soft information Enter the value r j_next .
  • the preset number of iterations may be any one or several times of iterative decoding from the first iterative decoding to a preset maximum configured number of times. When the number of decoding times reaches the maximum number of configuration times, the soft information input value for the next iterative decoding is no longer needed, so in general, the preset number of iterations does not include the last iterative decoding.
  • the soft information calculation module 403 for the next iterative decoding is based on a predetermined BCH in the manner in the related art.
  • the D codeword detection module 401 detects whether the Euclidean distance dist_D of the D codeword corresponding to the predetermined BCH code soft information in the TPC code block to be decoded is less than the first preset threshold, there may also be a D corresponding to the predetermined BCH code soft information.
  • the soft information calculation module 403 of the next iterative decoding calculates the soft information input value of the next iterative decoding
  • the next iterative translation of the j-th bit in the soft information of the predetermined BCH code is calculated based on the original value R j of the j-th bit in the soft information of the predetermined BCH code, the external information value w j, and the external information trust factor ⁇ .
  • the device for improving turbo decoding performance in this embodiment may further include the following module shown in FIG. 5: a transposition module 404, which is coupled to a soft information calculation module 403 for the next iterative decoding, and sets After the soft information calculation module 403 of the next iterative decoding decodes all the BCH code soft information in the TPC code block to be decoded, the soft information input value of the next iterative decoding is calculated bit by bit, and then the soft information decoded by the next iteration is decoded.
  • the TPC code block composed of input values is transposed to obtain the TPC input code block for the next iterative decoding.
  • the soft information calculation module 403 for the next iterative decoding of each soft bit of all the BCH code soft information in the TPC code block to be decoded must calculate its corresponding soft information input value for the next iterative decoding.
  • the transpose module 404 transposes a TPC code block composed of soft information input values of the next iterative decoding of all bits in the TPC code block to be decoded.
  • the transposed TPC code block is the next time.
  • the TPC input code block of the iterative decoding that is, in the next iterative decoding, any row or column is obtained from the TPC input code block as the predetermined BCH code soft information in the next iterative decoding.
  • the current iterative decoding number is not a preset maximum configured number
  • the current iteration number counting module 405 coupled with the transposition module 404 will The value of the number of iterative decoding is increased by 1 on the original basis, and the next iterative decoding is performed; if the current number of iterative decoding is equal to the preset maximum configuration number, then the current iterative decoding is proved to be the last iterative decoding.
  • the final soft decoding output module 406 coupled with the iteration times counting module 405 calculates the predetermined BCH according to the external information value w j of the j-th bit in the soft information of the predetermined BCH code and the soft information input value r j under the current iteration decoding times.
  • the device for improving the turbo decoding performance in this embodiment may further include an unreliable bit determination module 407, a hard decision module 408, a codeword generation module to be decoded 409, and a candidate codeword generation module 410, D The codeword and competition codeword determination module 411, the preliminary soft information calculation module 412, and the external information calculation module 413.
  • the unreliable bit determination module 407 is configured to determine M unreliable bits in the predetermined BCH code soft information, where M is a positive integer less than the total number of bits of the predetermined BCH code soft information, and the actual value of M should be based on the TPC code block.
  • M is a positive integer less than the total number of bits of the predetermined BCH code soft information
  • the type or hardware environment for decoding is determined.
  • the hard decision module 408 is coupled to the unreliable bit determination module 407 and is configured to perform a hard decision on the predetermined BCH code soft information to obtain hard bit data corresponding to the predetermined BCH code soft information.
  • the candidate codeword generation module 410 is coupled to the to-be-decoded codeword generation module 409 and is configured to decode N codewords to be decoded to obtain P candidate codewords corresponding to the predetermined BCH code soft information, where P is A positive integer less than or equal to N.
  • the candidate codeword generation module 410 can be a BCH decoder and decode N codewords to be decoded, the N codewords to be decoded are input to the BCH decoder. Decode to obtain P candidate codewords. Because decoded candidate codewords may have duplicates or decoding failures, all candidate codewords obtained need to be filtered to remove duplicates and / or translations. After failing the codeword, P candidate codewords are obtained.
  • the D codeword and competition codeword determination module 411 is coupled to the candidate codeword generation module 410 and is configured to calculate the D codeword and competition code corresponding to the predetermined BCH code soft information based on the P candidate codewords corresponding to the predetermined BCH code soft information.
  • the D codeword and the competition codeword determination module 411 calculates the D codeword corresponding to the predetermined BCH code soft information
  • the P candidate codewords and the predetermined BCH code soft information are respectively used to calculate the Euclidean distance and the Euclidean distance is minimized
  • the candidate codeword of is determined as the D codeword of the predetermined BCH code soft information, and the competing codeword of each bit of the predetermined BCH code soft information is performed from the candidate codewords other than the D codeword from the P candidate codewords.
  • the Euclidean distance can be calculated, or the Euclidean distance can be reduced.
  • the preliminary soft information calculation module 412 is coupled to the D codeword and the competition codeword determination module 411, and is configured to perform a preliminary jth bit of the predetermined BCH code soft information according to the D codeword and the competition codeword corresponding to the predetermined BCH code soft information.
  • Soft information r ′ j calculation For example, when the preliminary soft information calculation module 412 calculates the j-th bit of the predetermined BCH code soft information for preliminary soft information r ′ j , there are different calculation methods according to whether there is a competing codeword in the j-th bit.
  • a first preset threshold value threshold is set to determine whether the D codeword of a certain row or column of soft information in the TPC code block to be decoded is a reliable D codeword, and is a reliable D code.
  • a preset positive factor to increase the trust value to accelerate convergence and improve decoding performance, avoiding the decoding convergence of the TPC code block in the related technology TPC code block decoding process. Slow, low decoding performance.
  • the following uses the 127-line BCH (127, 120) code to be decoded TPC code block as an example, and the decoding process of the device for improving the turbo decoding performance is described in detail with reference to FIG. 6.
  • the object of the TPC decoding algorithm is a TPC code block composed of 127 lines of BCH (127, 120) codes.
  • a total of 6 iterative decodings are set, that is, the maximum number of iterative decoding configurations is 6; in this embodiment, , Set a first preset threshold threshold for the reliability of the D codeword, and the magnitude of the threshold is the average value of the Euclidean distance of all candidate codewords in the current row, which is a value obtained by multiplying by a reference factor Q;
  • the configuration range of the number of processing iterations of the D codeword is 2nd and 3rd, that is, the preset range of iterations is 2nd and 3rd, that is, when the number of iterations is 2nd or 3rd iteration, When calculating the input value of the next iterative decoding of soft information, the operation of accelerating convergence is performed according to the mark of the reliable D codeword.
  • step S61 the iteration count module 405 records the current number of iterative decoding, and determines 6 unreliable bits line by line through the unreliable bit determination module 407 as the input 127-line BCH code soft information code block, where each line of BCH
  • the absolute value of the 6 unreliable bits selected by the code soft information from the 127 soft information data is the smallest 6 of the 127 soft information absolute values.
  • step S62 the hard judgment module 408 performs a hard judgment on the soft information of each line of the BCH code to obtain a corresponding 127-bit hard-bit data, and obtains the power of 2 to the power of 64 through the codeword generation module 409 to be decoded.
  • Code words to be decoded each code word to be decoded is 127 bits long, but not necessarily a BCH (127, 120) code word.
  • step S63 the 64 codewords to be decoded are input to the candidate codeword generation module 410 for decoding to obtain several candidate BCH codewords, and these candidate codewords will be BCH (127,120) codewords, but The number of candidate codewords is not necessarily 64, and codewords that need to be repeated or fail to decode need to be screened.
  • step S64 the D codeword and the competing codeword determination module 411 respectively calculate the Euclidean distance between the above-mentioned number of candidate codewords and the corresponding input BCH code soft information, wherein the calculation of the Euclidean distance is based on the candidate codewords. All bits and the corresponding input BCH code soft information are used to calculate the Euclidean distance, that is, the obtained Euclidean distance is the full Euclidean distance.
  • the candidate codeword corresponding to the minimum value of the full Euclidean distance is determined as the D of the corresponding input BCH code soft information. Codeword, the corresponding competing codeword C will be searched from other candidate codewords.
  • step S65 the preliminary soft information calculation module 412 performs preliminary soft information calculation on the 127 lines of BCH code soft information bit by bit.
  • the external information value of the bit, r j is the soft information input value of the j-th bit in the soft information of the corresponding input BCH code under the current number of iterations.
  • a reference D codeword reliable judgment threshold (that is, a first preset threshold) threshold is set.
  • D codeword detection module 401 detects that the Euclidean distance dist_D of the current D codeword is less than the threshold threshold, D passes The codeword marking module 402 marks this D codeword as a reliable D codeword, where the Euclidean distance is a full Euclidean distance or a reduced Euclidean distance.
  • the reference D codeword reliable judgment threshold threshold is obtained by multiplying a mean coefficient dist_mean of the Euclidean distances of all candidate codewords corresponding to the current row under the current number of iterative decoding times by a scaling factor Q, where Q is less than 1.
  • step S68 it is determined whether the current number of iterative decoding times reaches the maximum configuration value of 6 times. Based on the determination result that the current iterative decoding times does not reach the maximum configuration value of 6 times, step S69 is performed; based on the current iterative decoding times, the maximum configuration value is reached. As a result of the determination 6 times, step S72 is executed.
  • step S69 it is determined whether the D codeword of the current line is a reliable codeword. Based on the determination result that the D codeword of the current line is a reliable codeword, step S70 is performed; the determination based on the D codeword of the current line is not a reliable codeword. As a result, step S71 is executed.
  • step S70 if the D codeword is a reliable D codeword, and the current number of iterative decoding is within a preset number of iterations, that is, the current number of iterations is the second to third times, the next iterative decoding
  • the soft information calculation module 403 calculates the input value of the next iterative decoding soft information of the j-th bit in each row of BCH code soft information.
  • R j is the original value of the j-th bit in the BCH code soft information R j
  • k is a preset positive factor greater than 1
  • is the external information
  • the upper limit of k * ⁇ is 1; in this embodiment, when the current number of iterations is the second time, the value of k may be taken as 2, and when the current number of iterations is the third time, the value of k may be taken as 1.6, Since 0 ⁇ 1, increase the trust value of external information and speed up the convergence by k * ⁇ .
  • step S71 if the D codeword is not marked as a reliable D codeword, or the current number of iterative decoding does not fall within the preset number of iterations, the soft information calculation module 403 of the next iterative decoding calculates the next iteration
  • step S72 if the current iterative decoding number reaches the maximum configuration value of 6 times, the final soft decoding output module 406 calculates the final soft decoding output bit by bit for each line of BCH code.
  • the final soft decoding output value r j-out r j + w j , where r j is the soft information input value of the j-th bit in the BCH code soft information under the current number of iterative decoding times, and is for all the BCH code soft information in the TPC code block.
  • a third embodiment of the present invention provides a computer device including at least a memory and a processor.
  • the memory stores a computer program.
  • the processor executes the computer program on the memory, the processor implements the following steps S81 to S83.
  • step S81 it is detected whether the Euclidean distance dist_D of the D codeword corresponding to the predetermined BCH code soft information in the TPC code block to be decoded is less than a first preset threshold, where the predetermined BCH code soft information is the TPC code block to be decoded. Any row or column in.
  • step S82 when the Euclidean distance dist_D of the D codeword corresponding to the predetermined BCH code soft information is less than the first preset threshold, the D codeword corresponding to the predetermined BCH code soft information is marked as a reliable codeword.
  • step S83 if the D codeword corresponding to the soft information of the predetermined BCH code is a reliable codeword, according to the original value R j of the j-th bit, the external information value w j , and the external information trust factor in the predetermined BCH code soft information ⁇ and a preset positive factor k, calculate the soft information input value r j_next for the next iterative decoding of the j-th bit in the predetermined BCH code soft information, where k is a preset positive factor greater than 1.
  • the computer device may be a terminal having a decoding function. Since the method for improving the turbo decoding performance has been described in detail in the first embodiment, it will not be repeated in this embodiment.

Landscapes

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

Abstract

一种提高Turbo译码性能的方法、装置及计算机设备,该方法包括:检测预定BCH码软信息对应的D码字的欧氏距离是否小于第一预设阈值(S101);在D码字的欧氏距离小于第一预设阈值的情况下,将D码字标记为可靠码字(S102);在D码字为可靠码字的情况下,根据预定BCH码软信息中第j比特的原始值、外信息值、外信息信任因子以及预设正数因子,计算预定BCH码软信息中第j比特的下一次迭代译码的软信息输入值(S103)。

Description

一种提高Turbo译码性能的方法、装置及计算机设备
本申请要求在2018年06月29日提交中国专利局、申请号为201810699879.1的中国专利申请的优先权,该申请的全部内容通过引用结合在本申请中。
技术领域
本申请涉及光通信技术领域,例如涉及一种提高Turbo译码性能的方法、装置及计算机设备。
背景技术
前向纠错(Forward Error Correction,FEC)技术目前已经被广泛地应用于光通信系统中,以改善系统的误码率性能、提高系统通信的可靠性。近年来,光通信FEC从时间和性能上先后经历了三代。第一代FEC,采用硬判决分组码,典型的代表是RS(255,239)。第二代FEC,采用硬判决级联码,综合应用级联、交织、迭代译码等技术,有效提高了FEC的纠错能力,可支持10G和40G的系统长距离传输需求。第三代为软判决FEC,随着光纤中单波速率向100G演进,相干接收技术的应用再加上集成电路技术的飞速发展使得软判决FEC的应用成为可能。Turbo乘积码(Turbo Product Code,TPC)即属于第三代的光通信软判决FEC算法。
对于第三代Turbo乘积码,它的编码是由很多行分组码进行块状的组合而形成一个多维度的数据块,这些数据块都是独立的编译码单元。在接收端,译码器将对这些独立的数据块逐行或逐列进行软译码;在一个数据块所有行或列软译码完成后,数据块的软信息将得到更新,这个过程称为一次迭代译码。接下来的一次译码将在上次译码更新的数据块基础上,对数据块进行转置,然后再对此数据块逐行或逐列进行软译码,进而得到新的码块软信息。但是在相关技术中的TPC码块译码过程中,TPC码块的译码收敛较慢,译码性能较低。
发明内容
以下是对本文详细描述的主题的概述。本概述并非是为了限制权利要求的保护范围。
本申请提供一种提高Turbo译码性能的方法、装置及计算机设备,用以避免相关技术的TPC码块译码过程中,TPC码块的译码收敛较慢,译码性能较低的情况。
一方面,本申请提供一种提高Turbo译码性能的方法,包括:检测待译码TPC码块中预定BCH码软信息对应的D码字的欧氏距离dist_D是否小于第一 预设阈值,其中,所述预定BCH码软信息为待译码TPC码块中的任意一行或任意一列;在所述预定BCH码软信息对应的D码字的欧氏距离dist_D小于第一预设阈值的情况下,将所述预定BCH码软信息对应的D码字标记为可靠码字;在所述预定BCH码软信息对应的D码字为可靠码字的情况下,根据所述预定BCH码软信息中第j比特的原始值R j、外信息值w j、外信息信任因子α以及预设正数因子k,计算所述预定BCH码软信息中第j比特的下一次迭代译码的软信息输入值r j_next,其中,k为大于1的预设正数因子。
另一方面,本申请还提供一种提高Turbo译码性能的装置,包括:D码字检测模块,设置为检测待译码TPC码块中预定BCH码软信息对应的D码字的欧氏距离dist_D是否小于第一预设阈值,其中,所述预定BCH码软信息为待译码TPC码块中的任意一行或任意一列;D码字标记模块,设置为在所述预定BCH码软信息对应的D码字的欧氏距离dist_D小于第一预设阈值的情况下,将所述预定BCH码软信息对应的D码字标记为可靠码字;下一次迭代译码的软信息计算模块,设置为在所述预定BCH码软信息对应的D码字为可靠码字的情况下,根据所述预定BCH码软信息中第j比特的原始值R j、外信息值w j、外信息信任因子α以及预设正数因子k,计算所述预定BCH码软信息中第j比特的下一次迭代译码的软信息输入值r j_next,其中,k为大于1的预设正数因子。
另一方面,本申请还提供一种计算机设备,至少包括存储器、处理器,所述存储器上存储有计算机程序,其特征在于,所述处理器在执行所述存储器上的计算机程序时实现上述的提高Turbo译码性能的方法的步骤。
在阅读并理解了附图和详细描述后,可以明白其他方面。
附图说明
图1是相关技术中Turbo译码方法的流程图;
图2是本发明第一实施例中提高Turbo译码性能的方法流程图;
图3是本发明第一实施例中待译码TPC码块的译码过程示意图;
图4是本发明第二实施例中提高Turbo译码性能的装置的结构示意图;
图5是本发明第二实施例中另一种提高Turbo译码性能的装置的结构示意图;
图6是本发明第二实施例中提高Turbo译码性能的装置的译码过程示意图。
具体实施方式
为了避免相关技术的TPC码块译码过程中,TPC码块的译码收敛较慢,译码性能较低的情况,本申请提供了一种提高Turbo译码性能的方法、装置及计算机设备,以下结合附图以及实施例,对本发明实施例进行进一步详细说明。应 当理解,此处所描述的具体实施例仅仅用以解释本申请,并不限定本发明。
本发明的第一实施例提供了一种提高Turbo译码性能的方法,在相关技术中Turbo译码方法的基础上,确定待译码TPC码块中每一行或每一列BCH码软信息对应的D码字是否为可靠码字,并且在D码字为可靠码字时,通过设置预设正数因子k来加快收敛过程。下面结合图1对相关技术中的Turbo译码方法进行介绍。
如图1所示,相关技术中Turbo译码方法主要包括步骤S1至S10。
在步骤S1中,当前迭代译码次数N=1。
在步骤S2中,对待译码TPC码块输入的任意一行BCH码软信息确定一定数量的不可靠位。
在步骤S3中,将每行BCH码软信息硬判,并根据不可靠位得到若干个待译码码字。
在步骤S4中,将若干个待译码码字输入到BCH译码器进行译码得到若干候选码字。
在步骤S5中,将候选码字与对应输入的BCH码软信息分别计算欧氏距离,确定每行BCH码的D码字以及竞争码字C。
在步骤S6中,对每行BCH码软信息逐比特进行初步软信息计算。
在步骤S7中,对每行BCH码逐比特进行外信息计算。
在步骤S8中,判断当前迭代译码次数N是否达到最大配置值,基于N未达到最大配置值的判断结果,执行步骤S9;基于N达到最大配置值的判断结果,执行步骤S10。
在步骤S9中,对每行BCH码软信息逐比特计算下次迭代译码的输入软信息,当前迭代译码次数N=N+1,重新执行步骤S2。
在步骤S10中,对每行BCH码逐比特计算最终软译码输出。
在相关技术的TPC译码过程中,一个关键的步骤是对D码字的搜索确定,如果找到的D码字与发端的正确码字吻合,则该D码字可以称之为可靠D码字。在相关技术中,如果在前期几次迭代译码中对某行/列BCH码软信息进行译码时,即使对应的D码字很可靠,但是此时的外信息w j仍有可能乘以一个较小的信任因子α值,即此时不充分信任外信息w j,这样的做法将导致TPC译码收敛较慢,译码性能较低。
为了避免上述情况,本发明第一实施例提出提高Turbo译码性能的方法,其流程图如图2所示,包括步骤S101至S103。
在步骤S101中,检测待译码TPC码块中预定BCH码软信息对应的D码字的欧氏距离dist_D是否小于第一预设阈值。
在一实施例中,预定BCH码软信息为待译码TPC码块中的任意一行或者任 意一列软信息,第一预设阈值又称为D码字可靠性判断阈值,可根据公式threshold=dist_mean*Q计算得来,其中,threshold为第一预设阈值,Q为比例系数,在本实施例中,Q为小于1的正数,且Q的值随着迭代译码次数的变化而变化,在本实施例中,迭代译码次数的增加的情况下,比例系数Q的值减小;dist_mean为当前迭代译码次数下预定BCH码软信息对应的所有候选码字的欧氏距离的均值,此时所涉及的欧氏距离可以为全欧氏距离或精简欧氏距离,或者,dist_mean为当前迭代译码次数下待译码TPC码块的所有BCH码软信息行对应的D码字的欧氏距离的均值,此时所涉及的欧氏距离为全欧氏距离。
在一实施例中,上述的全欧氏距离为在计算欧式距离时,使用候选码字的所有比特位与预定BCH码软信息之间进行欧氏距离计算的结果;上述的精简欧氏距离为在计算欧式距离时,剔除预设比特位之后的候选码字与剔除预设比特位对应的软信息之后的预定BCH码软信息之间的欧氏距离,其中,预设比特位为在所有候选码字中值全部相同的比特位,即该比特位在所有候选码字中的值全部为1或者全部为0。
在步骤S102中,在预定BCH码软信息对应的D码字的欧氏距离dist_D小于第一预设阈值的情况下,将预定BCH码软信息对应的D码字标记为可靠码字。
在预定BCH码软信息对应的D码字的欧氏距离dist_D小于第一预设阈值时,证明该D码字与发端的正确码字吻合度更高,该D码字的可靠性更高,将其标记为可靠码字,在计算某一个比特的下一次迭代译码的软信息输入值时,应当考虑增加该比特对应的外信息的信任程度。
在步骤S103中,在预定BCH码软信息对应的D码字为可靠码字的情况下,根据预定BCH码软信息中第j比特的原始值R j、外信息值w j、外信息信任因子α以及预设正数因子k,计算预定BCH码软信息中第j比特的下一次迭代译码的软信息输入值r j_next
在一实施例中,在预定BCH码软信息对应的D码字被标记为可靠码字时,通过设置预设正数因子k,增加计算时对第j比特的外信息值w j的信任程度,以加快收敛。应当了解的是,由于外信息信任因子α的取值范围为0<α≤1,为了加快收敛,k应当为大于1的正数。
在一实施例中,计算预定BCH码软信息中第j比特的下一次迭代译码的软信息输入值r j_next的具体公式可以为:r j_next=R j+k*α*w j,其中,R j为预定BCH码软信息中第j比特的原始值、w j为当次迭代译码中预定BCH码软信息的第j比特的外信息值,α为w j的信任因子,为了保证不过度增加信任值,在本实施例中,设置k*α的上限为1,即k*α的值如果大于1则让k*α=1。
在一实施例中,在根据可靠码字进行加快收敛时,为了不过度地增加信任值,导致收敛过快,还可以设置预设的迭代次数范围,即在当前迭代译码次数 落在预设的迭代次数范围时,根据预定BCH码软信息中第j比特的原始值R j、外信息值w j、外信息信任因子α以及预设的正数因子k,计算预定BCH码软信息中第j比特的下一次迭代译码的软信息输入值r j_next。应当了解的是,在本发明实施例中,预设的迭代次数范围可以为从第一次迭代译码到预先设置的最大配置次数的迭代译码中的任意一次或几次,但由于在迭代译码次数达到最大配置次数时,已经不需要进行下一次迭代译码的软信息输入值,所以通常情况下,预设的迭代次数范围不包括最后一次迭代译码。
在设置有预设的迭代次数范围的基础上,若当前迭代次数没有落在预设的迭代次数范围内,则按照相关技术中的方式,根据预定BCH码软信息中第j比特的原始值R j、外信息值w j以及外信息信任因子α,计算预定BCH码软信息中第j比特的下一次迭代译码的软信息输入值r j_next即可,即r j_next=R j+α*w j
在步骤S101中,即检测待译码TPC码块中预定BCH码软信息对应的D码字的欧氏距离dist_D是否小于第一预设阈值之后,还可能存在预定BCH码软信息对应的D码字的欧氏距离dist_D大于或等于第一预设阈值的情况,而在此情况下,计算下一次迭代译码的软信息输入值时,则按照相关技术中的方式,根据预定BCH码软信息中第j比特的原始值R j、外信息值w j以及外信息信任因子α,计算预定BCH码软信息中第j比特的下一次迭代译码的软信息输入值r j_next即可,即r j_next=R j+α*w j
在一实施例中,在当前迭代译码次数下,计算预定BCH码软信息中第j比特的下一次迭代译码的软信息输入值r j_next之后,还应当包括以下步骤:对待译码TPC码块中的所有BCH码软信息逐比特计算下一次迭代译码的软信息输入值,对由下一次迭代译码的软信息输入值组成的TPC码块进行转置,得到下一次迭代译码的TPC输入码块。在一实施例中,对待译码TPC码块中的所有BCH码软信息的每个比特都要计算其对应的下一次迭代译码的软信息输入值,并对由待译码TPC码块中的所有比特的下一次迭代译码的软信息输入值组成的TPC码块进行转置,转置后的TPC码块,即为下一次迭代译码的TPC输入码块,即在下一次迭代译码中,从该TPC输入码块中获取任意一行或任意一列作为下一次迭代译码中的预定BCH码软信息。
应当了解的是,在得到下一次迭代译码的TPC输入码块之后,若当前迭代译码次数不为预先设置的最大配置次数,则将当前迭代译码次数的值在原有的基础上加1,并进行下一次迭代译码;若当前迭代译码次数等于预先设置的最大配置次数,则证明当前迭代译码为最后一次迭代译码,此时根据当前迭代译码次数下预定BCH码软信息中第j比特的外信息值w j以及软信息输入值r j,计算预定BCH码软信息中第j比特的的最终软译码输出值r j-out,具体的计算公式为r j-out=r j+w j,对TPC码块中所有BCH码软信息逐比特计算对应的最终译码 输出值后,即可得到待译码TPC码块的译码结果。
在一实施例中,在步骤S101之前,还应该包括步骤(1)-(6)。
(1)在预定BCH码软信息中确定M个不可靠位,其中M为小于预定BCH码软信息的总比特数的正整数,M的实际数值应根据TPC码块的类型或进行译码的硬件环境进行确定。
(2)对预定BCH码软信息进行硬判,得到预定BCH码软信息对应的硬比特数据,硬判后得到的硬比特数据应由0或1组成。
(3)根据硬比特数据以及M个不可靠位,得到预定BCH码软信息对应的N个待译码码字,其中,N=2 M
在待译码码字中,除M个不可靠位以外的其他比特位的数据固定使用硬判后的数据不变,M个不可靠位对应的值则使用0或1的组合,即最多得到2 M个,即N个待译码码字。
(4)将N个待译码码字进行译码,得到预定BCH码软信息对应的P个候选码字,其中,P为小于或等于N的正整数。
对N个待译码码字进行译码时,可以将上述N个待译码码字输入到BCH译码器进行译码以得到P个候选码字,由于译码后的候选码字可能有重复,或出现译码失败的情况,因此需要对得到的所有候选码字进行筛选,删除掉重复和/或译码失败的码字后,得到P个候选码字。
(5)根据预定BCH码软信息对应的P个候选码字,计算预定BCH码软信息对应的D码字以及竞争码字。
在一实施例中,在计算预定BCH码软信息对应的D码字时,将P个候选码字与预定BCH码软信息分别计算欧氏距离,将欧式距离最小的那个候选码字确定为预定BCH码软信息的D码字,预定BCH码软信息每个比特位的竞争码字则从P个候选码字中除去D码字以外的其他候选码字中进行确定。
在计算候选码字与预定BCH码软信息之间的欧式距离时,可以计算全欧氏距离,或者精简欧氏距离。
(6)根据预定BCH码软信息对应的D码字以及竞争码字,对预定BCH码软信息的第j比特进行初步软信息r′ j和外信息w j的计算,其中,w j=r′ j-r j,r j为当前迭代次数下预定BCH码软信息中第j比特的软信息输入值。
在一实施例中,计算预定BCH码软信息的第j比特进行初步软信息r′ j时,根据第j比特是否存在竞争码字,存在不同的计算方式如下:在预定BCH码软信息的第j比特存在竞争码字的情况下,根据公式r′ j=(dist_C-dist_D)*0.25*d j计算预定BCH码软信息的第j比特进行初步软信息r′ j,其中,dist_C为预定BCH码软信息的第j比特的竞争码字的欧氏距离,d j为D码字的第j比特的符号值;在预定BCH码软信息的第j比特不存在竞争码字的情况下,根据公 式r′ j=β*d j计算预定BCH码软信息的第j比特进行初步软信息r′ j,其中,β为估计系数。
本发明实施例通过设定一个第一预设阈值threshold来判断待译码TPC码块中的某行或某列软信息的D码字是否为可靠的D码字,并在其为可靠的D码字的情况下,通过设置预设的正数因子增大信任值,以加快收敛,使译码性能得到提高,避免了相关技术的TPC码块译码过程中,TPC码块的译码收敛较慢,译码性能较低的情况。
下面以63行BCH(63,51)码构成的待译码TPC码块为例,结合图3对待译码TPC码块的译码过程进行详细说明。
TPC译码算法的对象是由63行BCH(63,51)码构成的TPC码块,共设置进行4次迭代译码,即迭代译码次数配置的最大值为4次,其中,一次迭代译码是指一次行译码或一次列译码;在本实施例中,对D码字的可靠性设置一个第一预设阈值threshold,阈值的大小为当前迭代次数下TPC码块所有行对应的D码字的欧氏距离的均值为参考乘以一个比例系数Q得到的一个值;对标注为可靠D码字的处理迭代次数配置范围为第1次及第2次,即预设的迭代次数范围为第1次和第2次,即迭代次数为第1次或第2次迭代的时候,在计算下一次迭代译码软信息输入值的时候才根据可靠D码字的标记进行加快收敛的操作。结合图3,本实施例的步骤包括步骤S31至步骤S42。
在步骤S31中,从第一次迭代译码开始一直到配置的最大迭代次数为止,每次迭代译码都对输入的63行BCH码软信息码块逐行确定4个不可靠位,其中,每行BCH码软信息从63个软信息数据中选择的4个不可靠位的绝对值大小是这63个软信息绝对值中最小的4个值。
在步骤S32中,对每行BCH码软信息硬判得到一个63比特的硬比特数据,并根据4个不可靠位分别进行0或1的组合,最多可以得到2的4次方即16个待译码码字,每个待译码码字为63比特长,但是不一定是BCH(63,51)码字。
在步骤S33中,将上述16个待译码码字输入到BCH译码器进行译码得到若干候选码字,这些候选码字为BCH(63,51)码字,但是得到的候选码字的个数不一定是16个,需要筛选出重复或译码失败的码字。
在步骤S34中,将上述若干数量的候选码字与对应输入的BCH码软信息分别计算欧氏距离,其中,欧式距离的计算是将候选码字的所有比特位与对应输入的BCH码软信息进行欧式距离计算,即得到的欧式距离为全欧式距离,将全欧氏距离最小值对应的那个候选码字确定为对应输入的BCH码软信息的D码字,对应的竞争码字C将从其他的候选码字中搜寻。
在步骤S35中,对63行的每行BCH码软信息逐比特进行初步软信息计算。
如果BCH码软信息的第j比特(j为1到63的整数)存在竞争码字C,则按 照公式r′ j=(dist_C-dist_D)*0.25*d j计算得到第j比特的初步软信息值;如果第j比特不存在竞争码字C,则初步软信息值为r′ j=β*d j,其中r′ j是初步软信息值、dist_C是竞争码字C的欧氏距离值、dist_D是D码字的欧氏距离值、d j是D码字第j比特的符号值、β为估计系数。
在步骤S36中,对63行的每行BCH码逐比特进行外信息计算,计算公式为w j=r′ j-r j,其中,w j是BCH码软信息的第j比特的外信息值,r j是当前迭代次数下对应输入的BCH码软信息中第j比特的软信息输入值。
在步骤S37中,设定一个参考D码字可靠判断阈值(即第一预设阈值)threshold,当D码字的欧氏距离dist_D小于阈值threshold时,将此D码字标注为可靠D码字,其中欧式距离是全欧式距离。
参考D码字可靠判断阈值threshold的获取以当前迭代次数下TPC码块所有行对应的D码字的欧氏距离的均值dist_mean为参考乘以一个比例系数Q得到的一个值,Q为小于1的一个正数,D码字的欧氏距离小于threshold时,即认为可以得到较好的译码性能;在本实施例中,如果当前译码次数为第1次,将Q取0.39,则D码字标注为可靠D码字的条件为:dist_D<dist_mean*0.39;如果当前译码次数为第2次,将Q取0.31,则D码字标注为可靠D码字的条件为:dist_D<dist_mean*0.31,也就是说,Q值可以根据不同的迭代次数取不同的值。
在步骤S38中,判断当前迭代译码次数是否达到最大配置值4次,基于当前迭代译码次数没有到达最大配置值4次的判断结果,执行步骤S39;基于当前迭代译码次数到达最大配置值4次的判断结果,执行步骤S42。
在步骤S39中,判断当前行的D码字是否为可靠码字,基于当前行的D码字是可靠码字的判断结果,执行步骤S40;基于当前行的D码字不是为可靠码字的判断结果,执行步骤S41。
在步骤S40中,如果D码字为可靠D码字,并且当前迭代译码次数在预设的迭代次数范围内,即当前迭代次数为第1次到第2次,则每一行BCH码软信息中第j比特的下一次迭代译码软信息输入值的计算公式为r j_next=R j+k*α*w j,其中r j_next为BCH码软信息中第j比特的下一次迭代译码的软信息输入值、R j是BCH码软信息中第j比特的原始值R j、k是大于1的一个预设正数因子、α为外信息的信任因子,且k*α的上限为1;在本实施例中,当前迭代次数为第1次时,k值可以取2,当前迭代次数为第2次时,k的值可以取1.6,由于0<α≤1,通过k*α来增大外信息的信任值并加快收敛。
计算所有下一次迭代译码软信息输入值之后,对由所有下一次迭代译码的软信息输入值组成的TPC码块进行转置后,得到下一次的TPC输入码块,将迭代次数计数器加1。
在步骤S41中,如果D码字没有标注为可靠D码字,或当前迭代译码次数 没有落在预设的迭代次数范围内,则下次迭代译码软信息输入值的计算公式为r j_next=R j+α*w j
计算所有下一次迭代译码软信息输入值之后,对由所有下一次迭代译码的软信息输入值组成的TPC码块进行转置后,得到下一次的TPC输入码块,将迭代次数计数器加1。
在步骤S42中,如果当前迭代译码次数到达最大配置值4次,对每行BCH码逐比特计算最终软译码输出,BCH码软信息中第j比特的的最终软译码输出值r j-out=r j+w j,r j为当前迭代译码次数下BCH码软信息中第j比特的软信息输入值,对TPC码块中所有BCH码软信息逐比特计算对应的最终译码输出值后,即可得到待译码TPC码块的译码结果。
本发明的第二实施例提供了一种提高Turbo译码性能的装置,其结构示意图如图4所示,主要包括:D码字检测模块401,设置为检测待译码TPC码块中预定BCH码软信息对应的D码字的欧氏距离dist_D是否小于第一预设阈值,其中,预定BCH码软信息为待译码TPC码块中的任意一行或任意一列;D码字标记模块402,与D码字检测模块401耦合,设置为在预定BCH码软信息对应的D码字的欧氏距离dist_D小于第一预设阈值的情况下,将预定BCH码软信息对应的D码字标记为可靠码字;下一次迭代译码的软信息计算模块403,与D码字标记模块402耦合,设置为在预定BCH码软信息对应的D码字为可靠码字的情况下,根据预定BCH码软信息中第j比特的原始值R j、外信息值w j、外信息信任因子α以及预设正数因子k,计算预定BCH码软信息中第j比特的下一次迭代译码的软信息输入值r j_next,其中,k为大于1的预设正数因子。
在一实施例中,预定BCH码软信息为待译码TPC码块中的任意一行或者任意一列软信息,第一预设阈值又称为D码字可靠性判断阈值,可根据公式threshold=dist_mean*Q计算得来,其中,threshold为第一预设阈值,Q为比例系数,在本实施例中,Q为小于1的正数,且Q的值随着迭代译码次数的变化而变化,在本实施例中,迭代译码次数的增加的情况下,比例系数Q的值减小;dist_mean为当前迭代译码次数下预定BCH码软信息对应的所有候选码字的欧氏距离的均值,此时所涉及的欧氏距离可以为全欧氏距离或精简欧氏距离,或者,dist_mean为当前迭代译码次数下待译码TPC码块的所有BCH码软信息行对应的D码字的欧氏距离的均值,此时所涉及的欧氏距离为全欧氏距离。
在一实施例中,上述的全欧氏距离为在计算欧式距离时,使用候选码字的所有比特位与预定BCH码软信息之间进行欧氏距离计算的结果;上述的精简欧氏距离为在计算欧式距离时,剔除预设比特位之后的候选码字与剔除预设比特位对应的软信息之后的预定BCH码软信息之间的欧氏距离,其中,预设比特位 为在所有候选码字中值全部相同的比特位,即该比特位在所有候选码字中的值全部为1或者全部为0。
在预定BCH码软信息对应的D码字的欧氏距离dist_D小于第一预设阈值时,证明该D码字与发端的正确码字吻合度更高,该D码字的可靠性更高,此时通过D码字标记模块402将其标记为可靠码字,在下一次迭代译码的软信息计算模块403计算某一个比特的下一次迭代译码的软信息输入值时,应当考虑增加该比特对应的外信息的信任程度。
在一实施例中,在预定BCH码软信息对应的D码字被标记为可靠码字时,通过设置预设正数因子k,使下一次迭代译码的软信息计算模块403在计算时增加对第j比特的外信息值w j的信任程度,以加快收敛。应当了解的是,由于外信息信任因子α的取值范围为0<α≤1,为了加快收敛,k应当为大于1的正数。
在一实施例中,下一次迭代译码的软信息计算模块403计算预定BCH码软信息中第j比特的下一次迭代译码的软信息输入值r j_next的具体公式可以为:r j_next=R j+k*α*w j,其中,R j为预定BCH码软信息中第j比特的原始值、w j为当次迭代译码中预定BCH码软信息的第j比特的外信息值,α为w j的信任因子,为了保证不过度增加信任值,在本实施例中,设置k*α的上限为1,即k*α的值如果大于1则让k*α=1。
在一实施例中,在下一次迭代译码的软信息计算模块403根据可靠码字进行加快收敛时,为了不过度地增加信任值,导致收敛过快,还可以设置预设的迭代次数范围,即下一次迭代译码的软信息计算模块403首先检测当前迭代译码次数是否落在预设的迭代次数范围,在当前迭代译码次数落在预设的迭代次数范围时,再根据预定BCH码软信息中第j比特的原始值R j、外信息值w j、外信息信任因子α以及预设的正数因子k,计算预定BCH码软信息中第j比特的下一次迭代译码的软信息输入值r j_next。应当了解的是,在本发明实施例中,预设的迭代次数范围可以为从第一次迭代译码到预先设置的最大配置次数的迭代译码中的任意一次或几次,但由于在迭代译码次数达到最大配置次数时,已经不需要进行下一次迭代译码的软信息输入值,所以通常情况下,预设的迭代次数范围不包括最后一次迭代译码。
在设置有预设的迭代次数范围的基础上,若当前迭代次数没有落在预设的迭代次数范围内,则按照相关技术中的方式,下一次迭代译码的软信息计算模块403根据预定BCH码软信息中第j比特的原始值R j、外信息值w j以及外信息信任因子α,计算预定BCH码软信息中第j比特的下一次迭代译码的软信息输入值r j_next即可,即r j_next=R j+α*w j
D码字检测模块401在检测待译码TPC码块中预定BCH码软信息对应的D码字的欧氏距离dist_D是否小于第一预设阈值时,还可能存在预定BCH码软信 息对应的D码字的欧氏距离dist_D大于或等于第一预设阈值的情况,而在此情况下,下一次迭代译码的软信息计算模块403在计算下一次迭代译码的软信息输入值时,则按照相关技术中的方式,根据预定BCH码软信息中第j比特的原始值R j、外信息值w j以及外信息信任因子α,计算预定BCH码软信息中第j比特的下一次迭代译码的软信息输入值r j_next即可,即r j_next=R j+α*w j
在一实施例中,本实施例中提高Turbo译码性能的装置,还可以包括如图5所示的以下模块:转置模块404,与下一次迭代译码的软信息计算模块403耦合,设置为在下一次迭代译码的软信息计算模块403对待译码TPC码块中的所有BCH码软信息逐比特计算下一次迭代译码的软信息输入值之后,对由下一次迭代译码的软信息输入值组成的TPC码块进行转置,得到下一次迭代译码的TPC输入码块。在一实施例中,下一次迭代译码的软信息计算模块403对待译码TPC码块中的所有BCH码软信息的每个比特都要计算其对应的下一次迭代译码的软信息输入值,转置模块404则对由待译码TPC码块中的所有比特的下一次迭代译码的软信息输入值组成的TPC码块进行转置,转置后的TPC码块,即为下一次迭代译码的TPC输入码块,即在下一次迭代译码中,从该TPC输入码块中获取任意一行或任意一列作为下一次迭代译码中的预定BCH码软信息。
应当了解的是,在得到下一次迭代译码的TPC输入码块之后,若当前迭代译码次数不为预先设置的最大配置次数,则通过与转置模块404耦合的迭代次数计数模块405将当前迭代译码次数的值在原有的基础上加1,并进行下一次迭代译码;若当前迭代译码次数等于预先设置的最大配置次数,则证明当前迭代译码为最后一次迭代译码,此时由与迭代次数计数模块405耦合的最终软译码输出模块406根据当前迭代译码次数下预定BCH码软信息中第j比特的外信息值w j以及软信息输入值r j,计算预定BCH码软信息中第j比特的的最终软译码输出值r j-out,具体的计算公式为r j-out=r j+w j,对TPC码块中所有BCH码软信息逐比特计算对应的最终译码输出值后,即可得到待译码TPC码块的译码结果。
在一实施例中,本实施例中提高Turbo译码性能的装置,还可以包括不可靠位确定模块407,硬判模块408,待译码码字产生模块409,候选码字产生模块410,D码字及竞争码字确定模块411,初步软信息计算模块412,以及外信息计算模块413。
不可靠位确定模块407,设置为在预定BCH码软信息中确定M个不可靠位,其中M为小于预定BCH码软信息的总比特数的正整数,M的实际数值应根据TPC码块的类型或进行译码的硬件环境进行确定。
硬判模块408,与不可靠位确定模块407耦合,设置为对预定BCH码软信息进行硬判,得到预定BCH码软信息对应的硬比特数据。
待译码码字产生模块409,与硬判模块408耦合,设置为根据硬比特数据以及M个不可靠位,得到预定BCH码软信息对应的N个待译码码字,其中,N=2 M
候选码字产生模块410,与待译码码字产生模块409耦合,设置为将N个待译码码字进行译码,得到预定BCH码软信息对应的P个候选码字,其中,P为小于或等于N的正整数,候选码字产生模块410在可以为BCH译码器,对N个待译码码字进行译码时,将上述N个待译码码字输入到BCH译码器进行译码以得到P个候选码字,由于译码后的候选码字可能有重复,或出现译码失败的情况,因此需要对得到的所有候选码字进行筛选,删除掉重复和/或译码失败的码字后,得到P个候选码字。
D码字及竞争码字确定模块411,与候选码字产生模块410耦合,设置为根据预定BCH码软信息对应的P个候选码字,计算预定BCH码软信息对应的D码字以及竞争码字;例如,在D码字及竞争码字确定模块411计算预定BCH码软信息对应的D码字时,将P个候选码字与预定BCH码软信息分别计算欧氏距离,将欧式距离最小的那个候选码字确定为预定BCH码软信息的D码字,预定BCH码软信息每个比特位的竞争码字则从P个候选码字中除去D码字以外的其他候选码字中进行确定;在计算候选码字与预定BCH码软信息之间的欧式距离时,可以计算全欧氏距离,或者精简欧氏距离。
初步软信息计算模块412,与D码字及竞争码字确定模块411耦合,设置为根据预定BCH码软信息对应的D码字以及竞争码字,对预定BCH码软信息的第j比特进行初步软信息r′ j计算,例如,初步软信息计算模块412计算预定BCH码软信息的第j比特进行初步软信息r′ j时,根据第j比特是否存在竞争码字,存在不同的计算方式如下:在预定BCH码软信息的第j比特存在竞争码字的情况下,根据公式r′ j=(dist_C-dist_D)*0.25*d j计算预定BCH码软信息的第j比特进行初步软信息r′ j,其中,dist_C为预定BCH码软信息的第j比特的竞争码字的欧氏距离,d j为D码字的第j比特的符号值;在预定BCH码软信息的第j比特不存在竞争码字的情况下,根据公式r′ j=β*d j计算预定BCH码软信息的第j比特进行初步软信息r′ j,其中,β为估计系数。
外信息计算模块413,与初步软信息计算模块412以及D码字检测模块401分别耦合,设置为根据预定BCH码软信息的第j比特的初步软信息,对预定BCH码软信息的第j比特进行外信息w j的计算,其中,w j=r′ j-r j,r j为当前迭代次数下预定BCH码软信息中第j比特的软信息输入值。
本发明实施例通过设定第一预设阈值threshold来判断待译码TPC码块中的某行或某列软信息的D码字是否为可靠的D码字,并在其为可靠的D码字的情况下,通过设置预设的正数因子增大信任值,以加快收敛,使译码性能得到提高,避免了相关技术的TPC码块译码过程中,TPC码块的译码收敛较慢,译码 性能较低的情况。
下面以127行BCH(127,120)码构成的待译码TPC码块为例,结合图6对提高Turbo译码性能的装置的译码过程进行详细说明。
TPC译码算法的对象是由127行BCH(127,120)码构成的TPC码块,共设置进行6次迭代译码,即迭代译码次数配置的最大值为6次;在本实施例中,对D码字的可靠性设置一个第一预设阈值threshold,阈值的大小为当前行所有候选码字的欧氏距离的均值为参考乘以一个比例系数Q得到的一个值;对标注为可靠D码字的处理迭代次数配置范围为第2次及第3次,即预设的迭代次数范围为第2次和第3次,即迭代次数为第2次或第3次迭代的时候,在计算下一次迭代译码软信息输入值的时候才根据可靠D码字的标记进行加快收敛的操作。结合图6,详述使用提高Turbo译码性能的装置实现译码过程的包括步骤S61至步骤S72。
在步骤S61中,迭代次数计数模块405将记录当前迭代译码次数,通过不可靠位确定模块407为输入的127行BCH码软信息码块逐行确定6个不可靠位,其中,每行BCH码软信息从127个软信息数据中选择的6个不可靠位的绝对值大小是这127个软信息绝对值中最小的6个值。
在步骤S62中,硬判模块408对每行BCH码的软信息进行硬判,得到一个对应的127比特的硬比特数据,并通过待译码码字产生模块409得到2的6次方即64个待译码码字,每个待译码码字为127比特长,但是不一定是BCH(127,120)码字。
在步骤S63中,将上述64个待译码码字输入到候选码字产生模块410进行译码得到若干候选BCH码字,且这些候选码字将是BCH(127,120)码字,但是得到的候选码字的个数不一定是64个,需要筛选出重复或译码失败的码字。
在步骤S64中,通过D码字及竞争码字确定模块411将上述若干数量的候选码字与对应输入的BCH码软信息分别计算欧氏距离,其中,欧式距离的计算是将候选码字的所有比特位与对应输入的BCH码软信息进行欧式距离计算,即得到的欧式距离为全欧式距离,将全欧氏距离最小值对应的那个候选码字确定为对应输入的BCH码软信息的D码字,对应的竞争码字C将从其他的候选码字中搜寻。
在步骤S65中,初步软信息计算模块412对127行的每行BCH码软信息逐比特进行初步软信息计算。
如果BCH码软信息的第j比特(j为1到127的整数)存在竞争码字C,则按照公式r′ j=(dist_C-dist_D)*0.25*d j计算得到第j比特的初步软信息值;如果第j比特不存在竞争码字C,则初步软信息值为r′ j=β*d j,其中r′ j是初步软信息值、dist_C是竞争码字C的欧氏距离值、dist_D是D码字的欧氏距离值、d j是 D码字第j比特的符号值、β为估计系数。
在步骤S66中,外信息计算模块413对127行的每行BCH码逐比特进行外信息计算,计算公式为w j=r′ j-r j,其中,w j是BCH码软信息的第j比特的外信息值,r j是当前迭代次数下对应输入的BCH码软信息中第j比特的软信息输入值。
在步骤S67中,设定一个参考D码字可靠判断阈值(即第一预设阈值)threshold,通过D码字检测模块401检测出当前D码字的欧氏距离dist_D小于阈值threshold时,通过D码字标记模块402将此D码字标注为可靠D码字,其中欧式距离是全欧式距离或精简欧氏距离。
参考D码字可靠判断阈值threshold的获取以当前迭代译码次数下当前行对应的所有候选码字的欧氏距离的均值dist_mean为参考乘以一个比例系数Q得到的一个值,Q为小于1的一个正数,D码字的欧氏距离小于threshold时,即认为可以得到较好的译码性能;在本实施例中,如果当前译码次数为第2次,将Q取0.6,则D码字标注为可靠D码字的条件为:dist_D<dist_mean*0.6;如果当前译码次数为第3次,将Q取0.5,则D码字标注为可靠D码字的条件为:dist_D<dist_mean*0.5,也就是说,Q值可以根据不同的迭代次数取不同的值。
在步骤S68中,判断当前迭代译码次数是否达到最大配置值6次,基于当前迭代译码次数没有到达最大配置值6次的判断结果,执行步骤S69;基于当前迭代译码次数到达最大配置值6次的判断结果,执行步骤S72。
在步骤S69中,判断当前行的D码字是否为可靠码字,基于当前行的D码字是可靠码字的判断结果,执行步骤S70;基于当前行的D码字不是可靠码字的判断结果,执行步骤S71。
在步骤S70中,如果D码字为可靠D码字,并且当前迭代译码次数在预设的迭代次数范围内,即当前迭代次数为第2次到第3次,则下一次迭代译码的软信息计算模块403计算每一行BCH码软信息中第j比特的下一次迭代译码软信息输入值的计算公式为r j_next=R j+k*α*w j,其中r j_next为BCH码软信息中第j比特的下一次迭代译码的软信息输入值、R j是BCH码软信息中第j比特的原始值R j、k是大于1的一个预设正数因子、α为外信息的信任因子,且k*α的上限为1;在本实施例中,当前迭代次数为第2次时,k值可以取2,当前迭代次数为第3次时,k的值可以取1.6,由于0<α≤1,通过k*α来增大外信息的信任值并加快收敛。
计算所有下一次迭代译码软信息输入值之后,通过转置模块404对由所有下一次迭代译码的软信息输入值组成的TPC码块进行转置后,得到下一次的TPC输入码块,将迭代次数计数器加1。
在步骤S71中,如果D码字没有标注为可靠D码字,或当前迭代译码次数 没有落在预设的迭代次数范围内,则下一次迭代译码的软信息计算模块403计算下次迭代译码软信息输入值的计算公式为r j_next=R j+α*w j
计算所有下一次迭代译码软信息输入值之后,通过转置模块404对由所有下一次迭代译码的软信息输入值组成的TPC码块进行转置后,得到下一次的TPC输入码块,将迭代次数计数器加1。
在步骤S72中,如果当前迭代译码次数到达最大配置值6次,由最终软译码输出模块406对每行BCH码逐比特计算最终软译码输出,BCH码软信息中第j比特的的最终软译码输出值r j-out=r j+w j,r j为当前迭代译码次数下BCH码软信息中第j比特的软信息输入值,对TPC码块中所有BCH码软信息逐比特计算对应的最终译码输出值后,即可得到待译码TPC码块的译码结果。
本发明的第三实施例提供了一种计算机设备,至少包括存储器、处理器,存储器上存储有计算机程序,处理器在执行存储器上的计算机程序时实现如下步骤S81至S83。
在步骤S81中,检测待译码TPC码块中预定BCH码软信息对应的D码字的欧氏距离dist_D是否小于第一预设阈值,其中,预定BCH码软信息为待译码TPC码块中的任意一行或任意一列。
在步骤S82中,在预定BCH码软信息对应的D码字的欧氏距离dist_D小于第一预设阈值的情况下,将预定BCH码软信息对应的D码字标记为可靠码字。
在步骤S83中,在预定BCH码软信息对应的D码字为可靠码字的情况下,根据预定BCH码软信息中第j比特的原始值R j、外信息值w j、外信息信任因子α以及预设正数因子k,计算预定BCH码软信息中第j比特的下一次迭代译码的软信息输入值r j_next,其中,k为大于1的预设正数因子。
在本实施例中,计算机设备可以为具有译码功能的终端。由于在第一实施例中已经对提高Turbo译码性能的方法进行了详细说明,因此,在本实施例中不再赘述。

Claims (19)

  1. 一种提高Turbo译码性能的方法,包括:
    检测待译码TPC码块中预定BCH码软信息对应的D码字的欧氏距离dist_D是否小于第一预设阈值,其中,所述预定BCH码软信息为待译码TPC码块中的任意一行或任意一列;
    在所述预定BCH码软信息对应的D码字的欧氏距离dist_D小于第一预设阈值的情况下,将所述预定BCH码软信息对应的D码字标记为可靠码字;
    在所述预定BCH码软信息对应的D码字为可靠码字的情况下,根据所述预定BCH码软信息中第j比特的原始值R j、外信息值w j、外信息信任因子α以及预设正数因子k,计算所述预定BCH码软信息中第j比特的下一次迭代译码的软信息输入值
    Figure PCTCN2019093798-appb-100001
    其中,k为大于1的预设正数因子。
  2. 如权利要求1所述的提高Turbo译码性能的方法,所述第一预设阈值threshold=dist_mean*Q,其中,
    比例系数Q为小于1的正数,dist_mean为当前迭代译码次数下所述预定BCH码软信息对应的所有候选码字的欧氏距离的均值,且所述欧氏距离为全欧氏距离或精简欧氏距离;
    或者,比例系数Q为小于1的正数,dist_mean为当前迭代译码次数下所述待译码TPC码块的所有BCH码软信息行对应的D码字的欧氏距离的均值,且所述欧氏距离为全欧氏距离。
  3. 如权利要求2所述的提高Turbo译码性能的方法,其中,所述全欧氏距离为,所述候选码字的所有比特位与所述预定BCH码软信息之间的欧氏距离;
    所述精简欧氏距离为,剔除预设比特位之后的候选码字与剔除所述预设比特位对应的软信息之后的预定BCH码软信息之间的欧氏距离,其中,所述预设比特位为在所有候选码字中值全部相同的比特位。
  4. 如权利要求2所述的提高Turbo译码性能的方法,其中,所述比例系数Q的值随迭代译码次数的增加而减小。
  5. 如权利要求1所述的提高Turbo译码性能的方法,其中,根据公式
    Figure PCTCN2019093798-appb-100002
    计算所述预定BCH码软信息中第j比特的下一次迭代译码的软信息输入值
    Figure PCTCN2019093798-appb-100003
    其中,R j为所述预定BCH码软信息中第j比特的原始值、w j为当次迭代译码中所述预定BCH码软信息的第j比特的外信息值,α为w j的信任因子,且k*α的上限为1。
  6. 如权利要求1所述的提高Turbo译码性能的方法,其中,根据所述预定BCH码软信息中第j比特的原始值R j、外信息值w j、外信息信任因子α以及预设的正数因子k,计算所述预定BCH码软信息中第j比特的下一次迭代译码的软信息输入值
    Figure PCTCN2019093798-appb-100004
    包括:
    检测当前迭代译码次数是否在预设的迭代次数范围内;
    在当前迭代译码次数在预设的迭代次数范围内的情况下,根据所述预定BCH码软信息中第j比特的原始值R j、外信息值w j、外信息信任因子α以及预设的正数因子k,计算所述预定BCH码软信息中第j比特的下一次迭代译码的软信息输入值
    Figure PCTCN2019093798-appb-100005
  7. 如权利要求6所述的提高Turbo译码性能的方法,检测当前迭代译码次数是否在预设的迭代次数范围内之后,还包括:
    在当前迭代译码次数不在预设的迭代次数范围内的情况下,根据所述预定BCH码软信息中第j比特的原始值R j、外信息值w j以及外信息信任因子α,计算所述预定BCH码软信息中第j比特的下一次迭代译码的软信息输入值
    Figure PCTCN2019093798-appb-100006
  8. 如权利要求1所述的提高Turbo译码性能的方法,检测待译码TPC码块中预定BCH码软信息对应的D码字的欧氏距离dist_D是否小于第一预设阈值之后,还包括:
    在所述预定BCH码软信息对应的D码字的欧氏距离dist_D大于或等于第一预设阈值的情况下,根据所述预定BCH码软信息中第j比特的原始值R j、外信息值w j以及外信息信任因子α,计算所述预定BCH码软信息中第j比特的下一次迭代译码的软信息输入值
    Figure PCTCN2019093798-appb-100007
  9. 如权利要求7或8所述的提高Turbo译码性能的方法,其中,根据公式
    Figure PCTCN2019093798-appb-100008
    计算所述预定BCH码软信息中第j比特的下一次迭代译码的软信息输入值
    Figure PCTCN2019093798-appb-100009
  10. 如权利要求1至8中任一项所述的提高Turbo译码性能的方法,计算所述预定BCH码软信息中第j比特的下一次迭代译码的软信息输入值
    Figure PCTCN2019093798-appb-100010
    之后,还包括:
    对所述待译码TPC码块中的所有BCH码软信息逐比特计算下一次迭代译码的软信息输入值,对由所述下一次迭代译码的软信息输入值组成的TPC码块进行转置,得到下一次迭代译码的TPC输入码块。
  11. 如权利要求10所述的提高Turbo译码性能的方法,得到下一次迭代译码的TPC输入码块之后,还包括:
    将当前迭代译码次数的值加1。
  12. 如权利要求10所述的提高Turbo译码性能的方法,得到下一次迭代译码的TPC输入码块之后,还包括:
    在当前迭代译码次数达到预设的最大迭代译码次数的情况下,根据当前迭代译码次数下所述预定BCH码软信息中第j比特的外信息值w j以及软信息输入值r j,计算所述预定BCH码软信息中第j比特的的最终软译码输出值r j-out,其中,r j-out=r j+w j
  13. 如权利要求1至8中任一项所述的提高Turbo译码性能的方法,检测待 译码TPC码块中预定BCH码软信息对应的D码字的欧氏距离dist_D是否小于第一预设阈值之前,还包括:
    在所述预定BCH码软信息中确定M个不可靠位,其中M为小于所述预定BCH码软信息的总比特数的正整数;
    对所述预定BCH码软信息进行硬判,得到所述预定BCH码软信息对应的硬比特数据;
    根据所述硬比特数据以及所述M个不可靠位,得到所述预定BCH码软信息对应的N个待译码码字,其中,N=2 M
    将所述N个待译码码字进行译码,得到所述预定BCH码软信息对应的P个候选码字,其中,P为小于或等于N的正整数;
    根据所述预定BCH码软信息对应的P个候选码字,计算所述预定BCH码软信息对应的D码字以及竞争码字;
    根据所述预定BCH码软信息对应的D码字以及竞争码字,对所述预定BCH码软信息的第j比特进行初步软信息r′ j和外信息w j的计算,其中,w j=r′ j-r j,r j为当前迭代次数下所述预定BCH码软信息中第j比特的软信息输入值。
  14. 如权利要求13所述的提高Turbo译码性能的方法,其中,根据所述预定BCH码软信息对应的D码字以及竞争码字,对所述预定BCH码软信息的第j比特进行初步软信息r′ j的计算,包括:
    在所述预定BCH码软信息的第j比特存在竞争码字的情况下,根据公式r′ j=(dist_C-dist_D)*0.25*d j计算所述预定BCH码软信息的第j比特进行初步软信息r′ j,其中,dist_C为所述预定BCH码软信息的第j比特的竞争码字的欧氏距离,d j为所述D码字的第j比特的符号值;
    在所述预定BCH码软信息的第j比特不存在竞争码字的情况下,根据公式r′ j=β*d j计算所述预定BCH码软信息的第j比特进行初步软信息r′ j,其中,β为估计系数。
  15. 一种提高Turbo译码性能的装置,包括:
    D码字检测模块,设置为检测待译码TPC码块中预定BCH码软信息对应的D码字的欧氏距离dist_D是否小于第一预设阈值,其中,所述预定BCH码软信息为待译码TPC码块中的任意一行或任意一列;
    D码字标记模块,设置为在所述预定BCH码软信息对应的D码字的欧氏距离dist_D小于第一预设阈值的情况下,将所述预定BCH码软信息对应的D码字标记为可靠码字;
    下一次迭代译码的软信息计算模块,设置为在所述预定BCH码软信息对应的D码字为可靠码字的情况下,根据所述预定BCH码软信息中第j比特的原始值R j、外信息值w j、外信息信任因子α以及预设正数因子k,计算所述预定BCH 码软信息中第j比特的下一次迭代译码的软信息输入值
    Figure PCTCN2019093798-appb-100011
    其中,k为大于1的预设正数因子。
  16. 如权利要求15所述的提高Turbo译码性能的装置,其中,所述第一预设阈值threshold=dist_mean*Q,其中,
    比例系数Q为小于1的正数,dist_mean为当前迭代译码次数下所述预定BCH码软信息对应的所有候选码字的欧氏距离的均值,且所述欧氏距离为全欧氏距离或精简欧氏距离;
    或者,比例系数Q为小于1的正数,dist_mean为当前迭代译码次数下所述待译码TPC码块的所有BCH码软信息行对应的D码字的欧氏距离的均值,且所述欧氏距离为全欧氏距离。
  17. 如权利要求16所述的提高Turbo译码性能的装置,其中,所述比例系数Q的值随迭代译码次数的增加而减小。
  18. 如权利要求15所述的提高Turbo译码性能的装置,其中,所述下一次迭代译码的软信息计算模块,设置为:
    根据公式
    Figure PCTCN2019093798-appb-100012
    计算所述预定BCH码软信息中第j比特的下一次迭代译码的软信息输入值
    Figure PCTCN2019093798-appb-100013
    其中,R j为所述预定BCH码软信息中第j比特的原始值、w j为当次迭代译码中所述预定BCH码软信息的第j比特的外信息值,α为w j的信任因子,且k*α的上限为1。
  19. 一种计算机设备,至少包括存储器、处理器,所述存储器上存储有计算机程序,所述处理器在执行所述存储器上的计算机程序时实现权利要求1至14中任一项所述的方法。
PCT/CN2019/093798 2018-06-29 2019-06-28 一种提高Turbo译码性能的方法、装置及计算机设备 WO2020001638A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201810699879.1 2018-06-29
CN201810699879.1A CN110661535B (zh) 2018-06-29 2018-06-29 一种提高Turbo译码性能的方法、装置及计算机设备

Publications (1)

Publication Number Publication Date
WO2020001638A1 true WO2020001638A1 (zh) 2020-01-02

Family

ID=68984645

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2019/093798 WO2020001638A1 (zh) 2018-06-29 2019-06-28 一种提高Turbo译码性能的方法、装置及计算机设备

Country Status (2)

Country Link
CN (1) CN110661535B (zh)
WO (1) WO2020001638A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112332870A (zh) * 2020-11-12 2021-02-05 Oppo广东移动通信有限公司 译码方法、装置、通信芯片及网络设备
CN115333906A (zh) * 2022-07-28 2022-11-11 苏州浪潮智能科技有限公司 一种基于欧式距离的psk解码方法、装置及系统

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113765624A (zh) * 2021-09-10 2021-12-07 北京零壹空间电子有限公司 一种tpc迭代译码方法、装置、遥测地面站及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030126538A1 (en) * 2001-12-20 2003-07-03 Philippe Mejean High-efficiency compact turbo-decoder
CN101777926A (zh) * 2010-01-12 2010-07-14 浙江大学 一种Turbo乘积码的通用译码器及其方法
CN106656216A (zh) * 2016-10-11 2017-05-10 湖南基石通信技术有限公司 一种针对Turbo乘积码的修正的软入软出译码方法
CN107370491A (zh) * 2017-06-21 2017-11-21 西安空间无线电技术研究所 一种高性能低时延的扩展tpc译码方法
CN108023679A (zh) * 2017-12-07 2018-05-11 中国电子科技集团公司第五十四研究所 基于并行级联系统极化码的迭代译码缩放因子优化方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100542050C (zh) * 2004-02-06 2009-09-16 中国科学院沈阳自动化研究所 一种带有自适应性以及高速turbo解码器的设计方法
CN102571108B (zh) * 2012-02-24 2014-02-26 清华大学深圳研究生院 一种应用于Turbo乘积码的自适应迭代译码方法
CN102664707B (zh) * 2012-04-10 2015-06-17 华为技术有限公司 确定对数似然比的方法、Turbo译码方法及其装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030126538A1 (en) * 2001-12-20 2003-07-03 Philippe Mejean High-efficiency compact turbo-decoder
CN101777926A (zh) * 2010-01-12 2010-07-14 浙江大学 一种Turbo乘积码的通用译码器及其方法
CN106656216A (zh) * 2016-10-11 2017-05-10 湖南基石通信技术有限公司 一种针对Turbo乘积码的修正的软入软出译码方法
CN107370491A (zh) * 2017-06-21 2017-11-21 西安空间无线电技术研究所 一种高性能低时延的扩展tpc译码方法
CN108023679A (zh) * 2017-12-07 2018-05-11 中国电子科技集团公司第五十四研究所 基于并行级联系统极化码的迭代译码缩放因子优化方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112332870A (zh) * 2020-11-12 2021-02-05 Oppo广东移动通信有限公司 译码方法、装置、通信芯片及网络设备
CN115333906A (zh) * 2022-07-28 2022-11-11 苏州浪潮智能科技有限公司 一种基于欧式距离的psk解码方法、装置及系统
CN115333906B (zh) * 2022-07-28 2023-08-08 苏州浪潮智能科技有限公司 一种基于欧式距离的psk解码方法、装置及系统

Also Published As

Publication number Publication date
CN110661535B (zh) 2022-08-05
CN110661535A (zh) 2020-01-07

Similar Documents

Publication Publication Date Title
WO2020001638A1 (zh) 一种提高Turbo译码性能的方法、装置及计算机设备
JPH0812612B2 (ja) 誤り訂正方法及び装置
US10218388B2 (en) Techniques for low complexity soft decoder for turbo product codes
US7962837B2 (en) Technique for reducing parity bit-widths for check bit and syndrome generation for data blocks through the use of additional check bits to increase the number of minimum weighted codes in the hamming code H-matrix
US20050188292A1 (en) Method and apparatus for encoding special uncorrectable errors in an error correction code
US9419651B2 (en) Non-polynomial processing unit for soft-decision error correction coding
US20050149834A1 (en) (18, 9) Error correction code for double error correction and triple error detection
KR101882620B1 (ko) 신드롬 기반 연판정 bch 복호 장치 및 그 방법
US8566679B2 (en) Error-correcting encoding method with total parity bits, and method for detecting multiple errors
CN105812000B (zh) 一种改进的bch软判决译码方法
CN104242957A (zh) 译码处理方法及译码器
US11184034B2 (en) Method and device for decoding staircase code, and storage medium
JP2009100369A (ja) 誤り検出訂正回路、半導体メモリコントローラ、および誤り検出訂正方法
CN111464267A (zh) 通信数据校验方法、装置、计算机设备和存储介质
WO2020001641A1 (zh) 一种提高Turbo译码性能的方法、装置及计算机设备
US20160269148A1 (en) Method and device for determining toggle sequence and error pattern based on soft decision
WO2020234185A1 (en) A method of marking bits, a method of decoding bits, a bit marking device, a decoder, a receiver and a chip
US9520899B2 (en) Method for generating a maximized linear correcting code, method and device for decoding such a code
Takita et al. A decoding algorithm for cyclic codes over symbol-pair read channels
CN109120376A (zh) 基于极化码级联的低复杂度crc设计方法
Fujiwara et al. Optimal two-level unequal error control codes for computer systems
US20220190846A1 (en) Single error correct double error detect (secded) error coding with burst error detection capability
CN113114273B (zh) Ldpc码的校验矩阵提取方法及系统、设备
WO2023092723A1 (zh) 数据纠错方法、装置及电子设备
CN114884519B (zh) 一种基于级联方案的cv-qkd残余误码分步消除的方法与装置

Legal Events

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

Ref document number: 19825143

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 14.05.2021)

122 Ep: pct application non-entry in european phase

Ref document number: 19825143

Country of ref document: EP

Kind code of ref document: A1