Method, device and computer equipment for improving Turbo decoding performance

文档序号:1601155 发布日期:2020-01-07 浏览:32次 中文

阅读说明:本技术 一种提高Turbo译码性能的方法、装置及计算机设备 (Method, device and computer equipment for improving Turbo decoding performance ) 是由 殷俊杰 王卫明 于 2018-06-29 设计创作,主要内容包括:本发明公开了一种提高Turbo译码性能的方法、装置及计算机设备,该方法包括:检测预定BCH码软信息对应的D码字的欧氏距离是否小于第一预设阈值;在D码字的欧氏距离小于第一预设阈值的情况下,将D码字标记为可靠码字;在D码字为可靠码字的情况下,根据预定BCH码软信息中第j比特的原始值、外信息值、外信息信任因子以及预设正数因子,计算预定BCH码软信息中第j比特的下一次迭代译码的软信息输入值。本发明通过设定第一预设阈值来判断D码字是否为可靠的D码字,并在其为可靠的D码字的情况下,通过设置预设的正数因子增大信任值,以达到加快收敛的目的,使译码性能得到提高。(The invention discloses a method, a device and computer equipment for improving Turbo decoding performance, wherein the method comprises the following steps: detecting whether the Euclidean distance of a D code word corresponding to the preset BCH code soft information is smaller than a first preset threshold value or not; under the condition that the Euclidean distance of the D code word is smaller than a first preset threshold value, the D code word is marked as a reliable code word; and under the condition that the D code word is a reliable code word, calculating a soft information input value of next iterative decoding of the j bit in the preset BCH code soft information according to the original value of the j bit in the preset BCH code soft information, the value of the extrinsic information, an extrinsic information trust factor and a preset positive factor. The invention judges whether the D code word is a reliable D code word by setting a first preset threshold value, and increases the trust value by setting a preset positive number factor under the condition that the D code word is a reliable D code word, so as to achieve the purpose of accelerating convergence and improve the decoding performance.)

1. A method for improving Turbo decoding performance is characterized by comprising the following steps:

detecting whether the Euclidean distance dist _ D of a D code word corresponding to preset BCH code soft information in a TPC code block to be decoded is smaller than a first preset threshold value, wherein the preset BCH code soft information is any row or any column in the TPC code block to be decoded;

under the condition that the Euclidean distance dist _ D of the D code word corresponding to the preset BCH code soft information is smaller than a first preset threshold value, marking the D code word corresponding to the preset BCH code soft information as a reliable code word;

under the condition that the D code word corresponding to the preset BCH code soft information is a reliable code word, according to the original value R of the j bit in the preset BCH code soft informationjExtrinsic information value wjAn external information trust factor alpha and a preset positive number factor k, and calculating the soft information input value of the next iterative decoding of the jth bit in the preset BCH code soft information

Figure FDA0001714034970000011

2. The method according to claim 1, wherein the first preset threshold value threshold is dist _ mean Q, where the scaling coefficient Q is a positive number less than 1, dist _ mean is an average of euclidean distances of all candidate codewords corresponding to the predetermined BCH code soft information at the current iterative decoding time, and the euclidean distance is an all-euclidean distance or a reduced euclidean distance;

or, the proportionality coefficient Q is a positive number smaller than 1, dist _ mean is an average value of euclidean distances of D codewords corresponding to all BCH code soft information rows of the TPC code block to be decoded at the current iterative decoding number of times, and the euclidean distance is a full euclidean distance.

3. The method for improving Turbo decoding performance of claim 2, wherein the full euclidean distance is the euclidean distance between all bits of the candidate codeword and the predetermined BCH code soft information;

the reduced Euclidean distance is the Euclidean distance between the candidate code words after the preset bit positions are removed and the preset BCH code soft information after the soft information corresponding to the preset bit positions is removed, wherein the preset bit positions are all the same bit positions in the median values of all the candidate code words.

4. The method for improving Turbo decoding performance according to claim 2, wherein the value of the scaling coefficient Q is decreased in case of an increase in the number of iterative decoding.

5. The method for improving Turbo decoding performance of claim 1 wherein the Turbo decoding performance is based on a formula

Figure FDA0001714034970000021

6. The method for improving Turbo decoding performance of claim 1, wherein the original value R of j bit in the soft information according to the predetermined BCH codejExtrinsic information value wjAn external information trust factor alpha and a preset positive number factor k, and calculating a soft information input value of the next iterative decoding of the jth bit in the preset BCH code soft information

Figure FDA0001714034970000023

detecting whether the current iterative decoding times are within a preset iterative times range;

under the condition that the current iterative decoding times are within a preset iterative times range, according to the original value R of the j bit in the preset BCH code soft informationjExtrinsic information value wjAn external information trust factor alpha and a preset positive number factor k, and calculating a soft information input value of the next iterative decoding of the jth bit in the preset BCH code soft information

Figure FDA0001714034970000024

7. The method for improving Turbo decoding performance according to claim 6, wherein after detecting whether the current iterative decoding time is within a preset iterative time range, the method further comprises:

under the condition that the current iterative decoding times are not within the preset iterative times range, according to the original value R of the j bit in the preset BCH code soft informationjExtrinsic information value wjAnd an external information trust factor alpha, which is used for calculating the soft information input value of the next iterative decoding of the jth bit in the preset BCH code soft information

8. The method for improving Turbo decoding performance according to claim 1, wherein after detecting whether a euclidean distance dist _ D of a D codeword corresponding to predetermined BCH code soft information in a TPC code block to be decoded is smaller than a first preset threshold, the method further comprises:

when the Euclidean distance dist _ D of the D code word corresponding to the predetermined BCH code soft information is greater than or equal to a first preset threshold value, according to the original value R of the j bit in the predetermined BCH code soft informationjExtrinsic information value wjAnd an external information trust factor alpha, which is used for calculating the soft information input value of the next iterative decoding of the jth bit in the preset BCH code soft information

9. The method for improving Turbo decoding performance of claim 7 or 8, wherein the root isAccording to the formula

Figure FDA0001714034970000031

10. The method for improving Turbo decoding performance according to any one of claims 1 to 8, wherein a soft information input value for next iterative decoding of a j bit in the predetermined BCH code soft information is calculated

Figure FDA0001714034970000033

and calculating soft information input values of next iterative decoding for all BCH code soft information in the TPC code block to be decoded bit by bit, and transposing the TPC code block formed by the soft information input values of the next iterative decoding to obtain the TPC input code block of the next iterative decoding.

11. The method for improving Turbo decoding performance of claim 10, wherein obtaining the TPC input code blocks for the next iterative decoding further comprises:

and adding 1 to the value of the current iterative decoding times.

12. The method for improving Turbo decoding performance of claim 10, wherein obtaining the TPC input code blocks for the next iterative decoding further comprises:

under the condition that the current iterative decoding times reach the preset maximum iterative decoding times, according to the extrinsic information value w of the j bit in the preset BCH code soft information under the current iterative decoding timesjAnd soft information input value rjCalculating the final soft decoding output value r of the j bit in the predetermined BCH code soft informationj-outWherein r isj-out=rj+wj

13. The method for improving Turbo decoding performance according to any one of claims 1 to 8, wherein before detecting whether a euclidean distance dist _ D of a D codeword corresponding to predetermined BCH code soft information in a TPC code block to be decoded is smaller than a first preset threshold, the method further comprises:

determining M unreliable bits in the predetermined BCH code soft information, wherein M is a positive integer smaller than the total bit number of the predetermined BCH code soft information;

carrying out hard judgment on the preset BCH code soft information to obtain hard bit data corresponding to the preset BCH code soft information;

obtaining N code words to be decoded corresponding to the soft information of the preset BCH code according to the hard bit data and the M unreliable bits, wherein N is 2M

Decoding the N code words to be decoded to obtain P candidate code words corresponding to the preset BCH code soft information, wherein P is a positive integer less than or equal to N;

calculating D code words and competitive code words corresponding to the preset BCH code soft information according to the P candidate code words corresponding to the preset BCH code soft information;

according to the D code word and the competitive code word corresponding to the preset BCH code soft information, performing preliminary soft information r on the jth bit of the preset BCH code soft informationj' and extrinsic information wjIn which w is calculatedj=r′j-rj,rjAnd the soft information input value of the j bit in the preset BCH code soft information under the current iteration number is obtained.

14. The method for improving Turbo decoding performance of claim 13, wherein the j bits of the predetermined BCH code soft information are subjected to preliminary soft information r 'according to the D codeword and the competitive codeword corresponding to the predetermined BCH code soft information'jComprises the following steps:

when a competitive code word exists in the j bit of the preset BCH code soft information, according to a formula r'j=(dist_C-dist_D)*0.25*djCalculating j bit of the preset BCH code soft information to perform preliminary soft information r'jWherein dist _ C is Euclidean distance of competing code words of j bit of the predetermined BCH code soft information, djThe symbol value of the j bit of the D code word;

under the condition that no competitive code word exists in the j bit of the preset BCH code soft information, according to a formula r'j=β*djCalculating j bit of the preset BCH code soft information to perform preliminary soft information r'jWhere β is the estimation coefficient.

15. An apparatus for improving Turbo decoding performance, comprising:

a D code word detection module, configured to detect whether an Euclidean distance dist _ D of a D code word corresponding to predetermined BCH code soft information in a TPC code block to be decoded is smaller than a first preset threshold, where the predetermined BCH code soft information is any row or any column in the TPC code block to be decoded;

a D codeword labeling module, configured to label a D codeword corresponding to the predetermined BCH code soft information as a reliable codeword when a euclidean distance dist _ D of the D codeword corresponding to the predetermined BCH code soft information is smaller than a first preset threshold;

a soft information calculation module for next iterative decoding, configured to, when the D codeword corresponding to the predetermined BCH code soft information is a reliable codeword, calculate, according to an original value R of a jth bit in the predetermined BCH code soft informationjExtrinsic information value wjAn external information trust factor alpha and a preset positive number factor k, and calculating the soft information input value of the next iterative decoding of the jth bit in the preset BCH code soft information

Figure FDA0001714034970000051

16. The apparatus for improving Turbo decoding performance according to claim 15, wherein the first preset threshold value threshold is dist _ mean Q, where the scaling coefficient Q is a positive number less than 1, dist _ mean is an average value of euclidean distances of all candidate codewords corresponding to the predetermined BCH code soft information at the current iterative decoding time, and the euclidean distance is an all-euclidean distance or a reduced euclidean distance;

or, the proportionality coefficient Q is a positive number smaller than 1, dist _ mean is an average value of euclidean distances of D codewords corresponding to all BCH code soft information rows of the TPC code block to be decoded at the current iterative decoding number of times, and the euclidean distance is a full euclidean distance.

17. The apparatus for improving Turbo decoding performance according to claim 16, wherein the value of the scaling coefficient Q is decreased in case of an increase in the number of iterative decoding.

18. The apparatus for improving Turbo decoding performance according to claim 15, wherein the soft information calculating module of the next iterative decoding is specifically configured to:

according to the formulaCalculating the soft information input value of the next iterative decoding of the j bit in the preset BCH code soft information

Figure FDA0001714034970000053

19. A computer device comprising at least a memory, a processor, the memory having a computer program stored thereon, characterized in that the processor realizes the steps of the method of any one of claims 1 to 14 when executing the computer program on the memory.

Technical Field

The invention relates to the technical field of optical communication, in particular to a method, a device and computer equipment for improving Turbo decoding performance.

Background

Forward Error Correction (FEC) technology is widely applied to optical communication systems at present, so as to achieve the purposes of improving the Error rate performance of the system and improving the reliability of system communication. In recent years, optical communication FEC has gone through three generations in time and performance. The first generation of FEC, using hard decision block codes, is typically represented by RS (255, 239). The second generation FEC adopts the technology of hard decision cascade code, comprehensive application cascade, interweaving, iterative decoding and the like, effectively improves the error correction capability of the FEC, and can support the long-distance transmission requirements of 10G and 40G systems. The third generation is soft-decision FEC, and as the single-wave rate in optical fiber evolves toward 100G, the application of coherent reception technology and the rapid development of integrated circuit technology make the application of soft-decision FEC possible. The Turbo Product Code (TPC) is a soft decision FEC algorithm for optical communication belonging to the third generation.

For the third generation Turbo product code, its coding is a multi-dimensional data block formed by combining many rows of block codes, and these data blocks are independent coding units. At the receiving end, the decoder performs soft decoding on the independent data blocks row by row or column by column; when the soft decoding of all rows or columns of a data block is completed, the soft information of the data block is updated, and the process is called an iterative decoding. The next decoding transposes the data block based on the updated data block of the last decoding, and then performs soft decoding on the data block row by row or column by column, thereby obtaining new code block soft information. However, in the existing TPC block decoding process, the decoding convergence of the TPC block is slow, and the decoding performance is low.

Disclosure of Invention

The invention provides a method, a device and computer equipment for improving Turbo decoding performance, which are used for solving the problems of slow decoding convergence and low decoding performance of TPC code blocks in the TPC code block decoding process in the prior art.

In order to solve the above technical problems, in one aspect, the present invention provides a method for improving Turbo decoding performance, including: detecting whether the Euclidean distance dist _ D of a D code word corresponding to preset BCH code soft information in a TPC code block to be decoded is smaller than a first preset threshold value, wherein the preset BCH code soft information is any row or any column in the TPC code block to be decoded; under the condition that the Euclidean distance dist _ D of the D code word corresponding to the preset BCH code soft information is smaller than a first preset threshold value, marking the D code word corresponding to the preset BCH code soft information as a reliable code word; under the condition that the D code word corresponding to the predetermined BCH code soft information is a reliable code wordAccording to the original value R of the j bit in the predetermined BCH code soft informationjExtrinsic information value wjAn external information trust factor alpha and a preset positive number factor k, and calculating the soft information input value of the next iterative decoding of the jth bit in the preset BCH code soft information

Figure BDA0001714034980000021

Wherein k is a preset positive factor greater than 1.

Further, the first preset threshold value threshold is dist _ mean Q, where the proportionality coefficient Q is a positive number smaller than 1, dist _ mean is an average value of euclidean distances of all candidate codewords corresponding to the predetermined BCH code soft information at the current iterative decoding time, and the euclidean distance is a full euclidean distance or a reduced euclidean distance; or, the proportionality coefficient Q is a positive number smaller than 1, dist _ mean is an average value of euclidean distances of D codewords corresponding to all BCH code soft information rows of the TPC code block to be decoded at the current iterative decoding number of times, and the euclidean distance is a full euclidean distance.

Further, the full euclidean distance is the euclidean distance between all bits of the candidate code words and the predetermined BCH code soft information; the reduced Euclidean distance is the Euclidean distance between the candidate code words after the preset bit positions are removed and the preset BCH code soft information after the soft information corresponding to the preset bit positions is removed, wherein the preset bit positions are all the same bit positions in the median values of all the candidate code words.

Further, with an increase in the number of iterative coding, the value of the scaling factor Q decreases.

Further according to the formula

Figure BDA0001714034980000022

Calculating the soft information input value of the next iterative decoding of the j bit in the preset BCH code soft information

Figure BDA0001714034980000023

Wherein R isjIs the original value, w, of the j-th bit in the predetermined BCH code soft informationjIn the current iteration decodingThe j bit of the soft information of the preset BCH code has an outer information value of alpha being wjAnd the upper limit of k x α is 1.

Further, according to the original value R of the j bit in the predetermined BCH code soft informationjExtrinsic information value wjAn external information trust factor alpha and a preset positive number factor k, and calculating a soft information input value of the next iterative decoding of the jth bit in the preset BCH code soft information

Figure BDA0001714034980000031

The method comprises the following steps: detecting whether the current iterative decoding times are within a preset iterative times range; under the condition that the current iterative decoding times are within a preset iterative times range, according to the original value R of the j bit in the preset BCH code soft informationjExtrinsic information value wjAn external information trust factor alpha and a preset positive number factor k, and calculating a soft information input value of the next iterative decoding of the jth bit in the preset BCH code soft information

Figure BDA0001714034980000032

Further, after detecting whether the current iterative decoding time is within a preset iterative time range, the method further includes: under the condition that the current iterative decoding times are not within the preset iterative times range, according to the original value R of the j bit in the preset BCH code soft informationjExtrinsic information value wjAnd an external information trust factor alpha, which is used for calculating the soft information input value of the next iterative decoding of the jth bit in the preset BCH code soft information

Further, 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, the method further includes: when the Euclidean distance dist _ D of the D code word corresponding to the predetermined BCH code soft information is greater than or equal to a first preset threshold value, according to the original value R of the j bit in the predetermined BCH code soft informationjExtrinsic information value wjAndan external information trust factor alpha is calculated, and the soft information input value of the next iterative decoding of the j bit in the preset BCH code soft information is calculated

Figure BDA0001714034980000034

Further according to the formula

Figure BDA0001714034980000035

Calculating the soft information input value of the next iterative decoding of the j bit in the preset BCH code soft information

Further, calculating the soft information input value of the next iterative decoding of the j bit in the preset BCH code soft information

Figure BDA0001714034980000037

Then, the method further comprises the following steps: and calculating soft information input values of next iterative decoding for all BCH code soft information in the TPC code block to be decoded bit by bit, and transposing the TPC code block formed by the soft information input values of the next iterative decoding to obtain the TPC input code block of the next iterative decoding.

Further, after obtaining the TPC input code block for the next iterative decoding, the method further includes: and adding 1 to the value of the current iterative decoding times.

Further, after obtaining the TPC input code block for the next iterative decoding, the method further includes: under the condition that the current iterative decoding times reach the preset maximum iterative decoding times, according to the extrinsic information value w of the j bit in the preset BCH code soft information under the current iterative decoding timesjAnd soft information input value rjCalculating the final soft decoding output value r of the j bit in the predetermined BCH code soft informationj-outWherein r isj-out=rj+wj

Further, before 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, the method further includes: on the predetermined BCHDetermining M unreliable bits in the code soft information, wherein M is a positive integer smaller than the total bit number of the preset BCH code soft information; carrying out hard judgment on the preset BCH code soft information to obtain hard bit data corresponding to the preset BCH code soft information; obtaining N code words to be decoded corresponding to the soft information of the preset BCH code according to the hard bit data and the M unreliable bits, wherein N is 2M(ii) a Decoding the N code words to be decoded to obtain P candidate code words corresponding to the preset BCH code soft information, wherein P is a positive integer less than or equal to N; calculating D code words and competitive code words corresponding to the preset BCH code soft information according to the P candidate code words corresponding to the preset BCH code soft information; according to the D code word and the competitive code word corresponding to the preset BCH code soft information, performing preliminary soft information r 'on the jth bit of the preset BCH code soft information'jAnd extrinsic information wjIn which w is calculatedj=r′j-rj,rjAnd the soft information input value of the j bit in the preset BCH code soft information under the current iteration number is obtained.

Further, according to a D code word and a competition code word corresponding to the preset BCH code soft information, performing preliminary soft information r 'on a j bit of the preset BCH code soft information'jComprises the following steps: when a competitive code word exists in the j bit of the preset BCH code soft information, according to a formula r'j=(dist_C-dist_D)*0.25*djCalculating j bit of the preset BCH code soft information to perform preliminary soft information r'jWherein dist _ C is Euclidean distance of competing code words of j bit of the predetermined BCH code soft information, djThe symbol value of the j bit of the D code word; under the condition that no competitive code word exists in the j bit of the preset BCH code soft information, according to a formula r'j=β*djCalculating j bit of the preset BCH code soft information to perform preliminary soft information r'jWhere β is the estimation coefficient.

On the other hand, the invention also provides a device for improving Turbo decoding performance, which comprises: a D code word detection module for detecting Euclidean of D code word corresponding to preset BCH code soft information in TPC code block to be decodedWhether the distance dist _ D is smaller than a first preset threshold value or not, wherein the preset BCH code soft information is any row or any column in a TPC code block to be decoded; a D codeword labeling module, configured to label a D codeword corresponding to the predetermined BCH code soft information as a reliable codeword when a euclidean distance dist _ D of the D codeword corresponding to the predetermined BCH code soft information is smaller than a first preset threshold; a soft information calculation module for next iterative decoding, configured to, when the D codeword corresponding to the predetermined BCH code soft information is a reliable codeword, calculate, according to an original value R of a jth bit in the predetermined BCH code soft informationjExtrinsic information value wjAn external information trust factor alpha and a preset positive number factor k, and calculating the soft information input value of the next iterative decoding of the jth bit in the preset BCH code soft information

Figure BDA0001714034980000051

Wherein k is a preset positive factor greater than 1.

Further, the first preset threshold value threshold is dist _ mean Q, where the proportionality coefficient Q is a positive number smaller than 1, dist _ mean is an average value of euclidean distances of all candidate codewords corresponding to the predetermined BCH code soft information at the current iterative decoding time, and the euclidean distance is a full euclidean distance or a reduced euclidean distance; or, the proportionality coefficient Q is a positive number smaller than 1, dist _ mean is an average value of euclidean distances of D codewords corresponding to all BCH code soft information rows of the TPC code block to be decoded at the current iterative decoding number of times, and the euclidean distance is a full euclidean distance.

Further, with an increase in the number of iterative coding, the value of the scaling factor Q decreases.

Further, the soft information calculation module of the next iterative decoding is specifically configured to: according to the formulaCalculating the soft information input value of the next iterative decoding of the j bit in the preset BCH code soft information

Figure BDA0001714034980000053

Wherein,RjIs the original value, w, of the j-th bit in the predetermined BCH code soft informationjIs the extrinsic information value of j bit of the soft information of the predetermined BCH code in the current iterative decoding, and alpha is wjAnd the upper limit of k x α is 1.

In another aspect, the present invention further provides a computer device, at least including a memory and a processor, where the memory stores a computer program, and the processor implements the steps of the method for improving Turbo decoding performance when executing the computer program on the memory.

The embodiment of the invention judges whether the D code word of a certain row or a certain column of soft information in the TPC code block to be decoded is a reliable D code word by setting a first preset threshold value, and increases the trust value by setting a preset positive number factor under the condition that the D code word is the reliable D code word, so as to achieve the purpose of accelerating convergence, improve the decoding performance, and solve the problems of slower decoding convergence and lower decoding performance of the TPC code block in the decoding process of the TPC code block in the prior art.

Drawings

FIG. 1 is a flow chart of a conventional Turbo decoding method;

FIG. 2 is a flowchart of a method for improving Turbo decoding performance according to a first embodiment of the present invention;

fig. 3 is a schematic diagram illustrating a decoding process of TPC code blocks to be decoded according to a first embodiment of the present invention;

FIG. 4 is a schematic structural diagram of an apparatus for improving Turbo decoding performance according to a second embodiment of the present invention;

FIG. 5 is a schematic structural diagram of an apparatus for improving Turbo decoding performance according to a second embodiment of the present invention;

FIG. 6 is a schematic diagram of a decoding process of an apparatus for improving Turbo decoding performance according to a second embodiment of the present invention.

Detailed Description

In order to solve the problems of slow decoding convergence and low decoding performance of the TPC code blocks in the decoding process of the TPC code blocks in the prior art, the present invention provides a method, an apparatus, and computer equipment for improving Turbo decoding performance, and the following describes embodiments of the present invention in further detail with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative of the invention and do not limit the invention.

The first embodiment of the invention provides a method for improving Turbo decoding performance, which is characterized in that on the basis of the existing Turbo decoding method, whether a D code word corresponding to each row or each column of BCH code soft information in a TPC code block to be decoded is a reliable code word is determined, and when the D code word is the reliable code word, a preset positive number factor k is set to accelerate the convergence process. The conventional Turbo decoding method is described below with reference to fig. 1.

As shown in fig. 1, the conventional Turbo decoding method mainly includes steps S1 to S10:

s1, setting the current iterative decoding time N to 1;

s2, determining a certain number of unreliable bits for any row of BCH code soft information input by a TPC code block to be decoded;

s3, hard judging the BCH code soft information of each row, and obtaining a plurality of code words to be decoded according to unreliable bits;

s4, inputting a plurality of code words to be decoded into a BCH decoder for decoding to obtain a plurality of candidate code words;

s5, respectively calculating Euclidean distances between the candidate code words and the correspondingly input BCH code soft information, and determining D code words and competitive code words C of the BCH codes of each row;

s6, performing preliminary soft information calculation on the BCH code soft information of each row bit by bit;

s7, carrying out extrinsic information calculation on the BCH codes of each row bit by bit;

s8, judging whether the current iterative decoding times N reach the maximum configuration value, if not, executing the step S9, otherwise, executing the step S10;

s9, calculating the input soft information of the next iterative decoding bit by bit for the BCH code soft information of each row, and re-executing the step S2 when the current iterative decoding time N is equal to N + 1;

and S10, calculating the final soft decoding output bit by bit for the BCH code of each row.

In the TPC decoding process of the prior art, a switchThe step of keying is a search determination of the D codeword, which may be referred to as a reliable D codeword if the found D codeword matches the correct codeword of the originating terminal. In the prior art, if a row/column BCH code soft information is decoded in a plurality of previous iterative decoding, even if the corresponding D code word is reliable, the external information w is at the momentjIt is still possible to multiply by a small value of the trust factor alpha, i.e. the extrinsic information w is not sufficiently trusted at this timejThis will result in slower convergence and lower decoding performance of TPC decoding.

In order to solve the above problem, a first embodiment of the present invention provides a method for improving Turbo decoding performance, a flowchart of which is shown in fig. 2, and the method mainly includes steps S101 to S103:

s101, detecting whether the Euclidean distance dist _ D of a D code word corresponding to preset BCH code soft information in a TPC code block to be decoded is smaller than a first preset threshold value.

Specifically, 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 a D codeword reliability judgment threshold, and may be calculated according to a formula threshold _ dist _ mean × Q, where threshold is a first preset threshold, Q is a scaling coefficient, in this embodiment, Q is a positive number less than 1, and a value of Q changes with a change of iterative decoding times, and in this embodiment, a value of the scaling coefficient Q decreases with an increase of iterative decoding times; the dist _ mean is the mean value of the euclidean distances of all candidate code words corresponding to the predetermined BCH code soft information under the current iterative decoding times, at this time, the related euclidean distances can be full euclidean distances or simplified euclidean distances, or the dist _ mean is the mean value of the euclidean distances of the D code words corresponding to all BCH code soft information rows of the TPC code block to be decoded under the current iterative decoding times, at this time, the related euclidean distances are full euclidean distances.

Further, the above-mentioned all-euclidean distance is the result of performing euclidean distance calculation between all bits of the candidate codeword and the predetermined BCH code soft information when calculating the euclidean distance; the reduced euclidean distance is the euclidean distance between the candidate code word after the preset bit is removed and the predetermined BCH code soft information after the soft information corresponding to the preset bit is removed when the euclidean distance is calculated, wherein the preset bit is the bit with the same median value in all the candidate code words, that is, the value of the bit in all the candidate code words is all 1 or all 0.

S102, under the condition that the Euclidean distance dist _ D of the D code word corresponding to the preset BCH code soft information is smaller than a first preset threshold value, the D code word corresponding to the preset BCH code soft information is marked as a reliable code word.

When the Euclidean distance dist _ D of the D code word corresponding to the preset BCH code soft information is smaller than a first preset threshold value, the D code word is proved to have higher goodness of fit with a correct code word of a starting end, the reliability of the D code word is higher, the D code word is marked as a reliable code word, and when a soft information input value of next iterative decoding of a certain bit is calculated, the trust degree of external information corresponding to the bit needs to be considered to be increased.

S103, under the condition that the D code word corresponding to the preset BCH code soft information is a reliable code word, according to the original value R of the j bit in the preset BCH code soft informationjExtrinsic information value wjAn external information trust factor alpha and a preset positive number factor k, and calculating the soft information input value of the next iterative decoding of the jth bit in the preset BCH code soft information

Specifically, when a D code word corresponding to the predetermined BCH code soft information is marked as a reliable code word, a preset positive factor k is set, and the extrinsic information value w of the j bit during calculation is increasedjTo achieve the goal of speeding up convergence. It should be understood that the value range of the trust factor alpha is 0 due to the extrinsic information<α ≦ 1, k should be positive greater than 1 in order to speed convergence.

Further, soft information input value of next iterative decoding of j bit in predetermined BCH code soft information is calculatedThe specific formula of (2) may be:

Figure BDA0001714034980000092

wherein R isjIs the original value, w, of the jth bit in the soft information of the predetermined BCH codejAlpha is the extrinsic information value of the j bit of the soft information of the predetermined BCH code in the current iterative decoding, and is wjIn order to ensure that the trust value is not excessively increased, in the present embodiment, the upper limit of k α is set to 1, that is, if the value of k α is greater than 1, k α is set to 1.

Optionally, when accelerating convergence according to the reliable code word, in order not to excessively increase the confidence value and cause too fast convergence, a preset iteration number range may be set, that is, when the current iterative decoding number falls within the preset iteration number range, according to the original value R of the jth bit in the predetermined BCH code soft information, the current iterative decoding number may be set to be within the preset iteration number rangejExtrinsic information value wjAn external information trust factor alpha and a preset positive number factor k, and calculating a soft information input value of the next iterative decoding of the jth bit in the preset BCH code soft information

Figure BDA0001714034980000093

It should be understood that, in the embodiment of the present invention, the preset range of the number of iterations may be any one or several times from the first iterative decoding to the preset maximum configuration number of iterative decoding, but since the soft information input value for the next iterative decoding is not needed when the number of iterative decoding reaches the maximum configuration number, the preset range of the number of iterations does not include the last iterative decoding in a normal case.

On the basis of setting a preset iteration number range, if the current iteration number does not fall within the preset iteration number range, according to the mode in the prior art, according to the original value R of the jth bit in the preset BCH code soft informationjExtrinsic information value wjAnd an external information trust factor alpha, calculating the soft information input value of the next iterative decoding of the j bit in the preset BCH code soft information

Figure BDA0001714034980000094

That is to say that

Figure BDA0001714034980000095

In 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 case where the euclidean distance dist _ D of the D codeword corresponding to the predetermined BCH code soft information 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, according to the method in the prior art, according to the original value R of the jth bit in the predetermined BCH code soft information, according to the method in the prior artjExtrinsic information value wjAnd an external information trust factor alpha, calculating the soft information input value of the next iterative decoding of the j bit in the preset BCH code soft informationThat is to say that

Figure BDA0001714034980000097

Preferably, the soft information input value of the next iterative decoding of the j bit in the preset BCH code soft information is calculated under the current iterative decoding times

Figure BDA0001714034980000101

Thereafter, the following steps should also be included: and calculating soft information input values of next iterative decoding bit by bit of all BCH code soft information in the TPC code block to be decoded, and transposing the TPC code block consisting of the soft information input values of the next iterative decoding to obtain the TPC input code block of the next iterative decoding. Specifically, each bit of all BCH code soft information in the TPC code block to be decoded needs to calculate a corresponding soft information input value of next iterative decoding, and transposes a TPC code block composed of soft information input values of next iterative decoding of all bits in the TPC code block to be decoded, where the transposed TPC code block is a TPC input code block of next iterative decoding, that is, in next iterative decoding, any row or any column is obtained from the TPC input code block and is used as predetermined BCH code soft information in next iterative decoding.

Should be provided withAfter obtaining the TPC input code block of the next iterative decoding, if the current iterative decoding time is not the preset maximum configuration time, adding 1 to the value of the current iterative decoding time on the original basis, and performing the next iterative decoding; if the current iterative decoding times are equal to the preset maximum configuration times, the current iterative decoding is proved to be the last iterative decoding, and at the moment, the external information value w of the jth bit in the BCH code soft information is preset according to the current iterative decoding timesjAnd soft information input value rjCalculating the final soft decoding output value r of the j bit in the soft information of the preset BCH codej-outThe specific calculation formula is rj-out=rj+wjAnd after calculating the corresponding final decoding output value bit by bit for all BCH code soft information in the TPC code block, the decoding result of the TPC code block to be decoded can be obtained.

Preferably, before step S101, the following steps should be further included:

(1) and determining M unreliable bits in the preset BCH code soft information, wherein M is a positive integer smaller than the total bit number of the preset BCH code soft information, and the actual value of M is determined according to the type of the TPC code block or the hardware environment for decoding.

(2) And carrying out hard judgment on the preset BCH code soft information to obtain hard bit data corresponding to the preset BCH code soft information, wherein the hard bit data obtained after the hard judgment is composed of 0 or 1.

(3) Obtaining N code words to be decoded corresponding to the soft information of the preset BCH code according to the hard bit data and the M unreliable bits, wherein N is 2M

In the code word to be decoded, the data of other bits except M unreliable bits are fixed and the data after hard judgment is unchanged, and the values corresponding to the M unreliable bits use the combination of 0 or 1, namely 2 is obtained at mostMI.e. N code words to be decoded.

(4) And decoding the N code words to be decoded to obtain P candidate code words corresponding to the preset BCH code soft information, wherein P is a positive integer less than or equal to N.

When decoding N codewords to be decoded, the N codewords to be decoded may be input to a BCH decoder for decoding to obtain P candidate codewords, and since the decoded candidate codewords may have repetition or decoding failure, all the obtained candidate codewords need to be screened, and after the repeated and/or decoding failure codewords are deleted, the P candidate codewords are obtained.

(5) And calculating D code words and competitive code words corresponding to the preset BCH code soft information according to the P candidate code words corresponding to the preset BCH code soft information.

Specifically, when a D codeword corresponding to the predetermined BCH code soft information is calculated, euclidean distances are calculated for P candidate codewords and the predetermined BCH code soft information, the candidate codeword with the smallest euclidean distance is determined as the D codeword of the predetermined BCH code soft information, and a competing codeword of each bit of the predetermined BCH code soft information is determined from other candidate codewords excluding the D codeword among the P candidate codewords.

When calculating the euclidean distance between the candidate codeword and the predetermined BCH code soft information, the full euclidean distance may be calculated, or the reduced euclidean distance may be calculated.

(6) According to the D code word and the competitive code word corresponding to the preset BCH code soft information, performing preliminary soft information r 'on the j bit of the preset BCH code soft information'jAnd extrinsic information wjIn which w is calculatedj=r′j-rj,rjAnd the soft information input value of the j bit in the preset BCH code soft information under the current iteration number is obtained.

Specifically, j bit of preset BCH code soft information is calculated to carry out preliminary soft information r'jThen, according to whether there is a competing codeword in the jth bit, there are different calculation methods as follows:

under the condition that the j bit of the preset BCH code soft information has competition code words, according to a formula r'j=(dist_C-dist_D)*0.25*djCalculating j bit of preset BCH code soft information to perform preliminary soft information r'jWherein dist _ C is Euclidean distance of competing code words of j bit of predetermined BCH code soft information, djIs the symbol value of the j bit of the D code word;

without competing codewords at jth bit of predetermined BCH code soft informationIn case of, according to the formula r'j=β*djCalculating j bit of preset BCH code soft information to perform preliminary soft information r'jWhere β is the estimation coefficient.

The embodiment of the invention judges whether the D code word of a certain row or a certain column of soft information in the TPC code block to be decoded is a reliable D code word by setting a first preset threshold value, and increases the trust value by setting a preset positive number factor under the condition that the D code word is the reliable D code word, so as to achieve the purpose of accelerating convergence, improve the decoding performance, and solve the problems of slower decoding convergence and lower decoding performance of the TPC code block in the decoding process of the TPC code block in the prior art.

The decoding process of the TPC code block to be decoded will be described in detail with reference to fig. 3, taking the TPC code block to be decoded formed by 63 rows of BCH (63, 51) codes as an example.

The TPC decoding algorithm is to set a TPC code block formed by 63 rows of BCH (63, 51) codes to carry out 4 times of iterative decoding, namely the maximum value of iterative decoding times configuration is 4 times, wherein one iterative decoding refers to one row decoding or one column decoding; in this embodiment, a first preset threshold is set for the reliability of a D codeword, where the threshold is a value obtained by multiplying a proportional coefficient Q by a reference value, which is an average of euclidean distances of D codewords corresponding to all rows of a TPC code block in a current iteration; when the processing iteration times marked as the reliable D code words are configured in the range of 1 st time and 2 nd time, namely the preset iteration times range is 1 st time and 2 nd time, namely the iteration times is 1 st time or 2 nd time of iteration, and the convergence is accelerated according to the mark of the reliable D code words when the next iteration decoding soft information input value is calculated. With reference to fig. 3, the steps of this embodiment are detailed as follows:

and S31, determining 4 unreliable bits for the input 63 rows of BCH code soft information code blocks line by line from the first iterative decoding to the configured maximum iteration number, wherein the absolute value of the 4 unreliable bits selected from the 63 soft information data in each row of BCH code soft information data is the smallest 4 values in the 63 soft information absolute values.

S32, hard judgment is carried out on the soft information of the BCH code of each row to obtain hard bit data of 63 bits, 0 or 1 combination is carried out according to 4 unreliable bits respectively, 4 powers of 2, namely 16 code words to be decoded can be obtained at most, and each code word to be decoded is 63 bits long but not necessarily BCH (63, 51) code words.

S33, inputting the 16 codewords to be decoded into the BCH decoder for decoding to obtain a plurality of candidate codewords, where the candidate codewords are BCH (63, 51) codewords, but the number of the obtained candidate codewords is not necessarily 16, and a codeword with repetition or failed decoding needs to be screened out.

And S34, respectively calculating Euclidean distances between the candidate code words and the corresponding input BCH code soft information, wherein the Euclidean distances are calculated by performing Euclidean distance calculation on all bits of the candidate code words and the corresponding input BCH code soft information, namely the obtained Euclidean distances are all-Euclidean distances, the candidate code word corresponding to the minimum value of all-Euclidean distances is determined to be a D code word corresponding to the input BCH code soft information, and the corresponding competition code word C is searched from other candidate code words.

S35, performing preliminary soft information calculation on the BCH code soft information of each line of 63 lines bit by bit;

if there is a competing codeword C in the j-th bit (j is an integer from 1 to 63) of the BCH code soft information, according to the formula r'j=(dist_C-dist_D)*0.25*djCalculating to obtain a preliminary soft information value of the j bit; if there is no competing codeword C for the j-th bit, the preliminary soft information value is r'j=β*djWherein r'jIs the preliminary soft information value, dist _ C is the Euclidean distance value of the competing codeword C, dist _ D is the Euclidean distance value of the D codeword, DjIs the symbol value of j-th bit of D code word, beta is the estimation coefficient.

S36, carrying out extrinsic information calculation on BCH codes of each line of 63 lines bit by bit, wherein the calculation formula is wj=r′j-rjWherein w isjIs the extrinsic information value r of the j-th bit of the BCH code soft informationjIs the soft information input value of the j bit in the BCH code soft information correspondingly input under the current iteration times.

S37, setting a threshold (namely a first preset threshold) threshold for reliable judgment of a reference D code word, and marking the D code word as a reliable D code word when the Euclidean distance dist _ D of the D code word is smaller than the threshold, wherein the Euclidean distance is a full Euclidean distance;

obtaining a threshold value threshold by referring to the reliability of the D code word, and taking the mean value dist _ mean of Euclidean distances of the D code words corresponding to all rows of TPC code blocks under the current iteration number as a reference value obtained by multiplying a proportionality coefficient Q, wherein Q is a positive number smaller than 1, and when the Euclidean distance of the D code word is smaller than the threshold value, the better decoding performance can be obtained; in this embodiment, if the current decoding time is 1 st time and Q is 0.39, the condition for labeling the D codeword as a reliable D codeword is as follows: dist _ D < dist _ mean 0.39; if the current decoding time is 2, and Q is 0.31, the condition that the D code word is marked as a reliable D code word is as follows: dist _ D < dist _ mean 0.31, i.e. the Q value may take different values depending on the number of iterations.

And S38, judging whether the current iterative decoding times reach the maximum configuration value of 4 times, if the current iterative decoding times do not reach the maximum configuration value of 4 times, executing S39, otherwise, executing S42.

S39, determining whether the D codeword of the current row is a reliable codeword, if so, performing step S40, otherwise, performing step S41.

S40, if the D code word is a reliable D code word and the current iterative decoding times are in the preset iterative times range, namely the current iterative times are from 1 st to 2 nd times, the calculation formula of the next iterative decoding soft information input value of the j bit in each row of BCH code soft information is

Figure BDA0001714034980000141

Wherein

Figure BDA0001714034980000142

Soft information input value R for next iterative decoding of j bit in BCH code soft informationjIs the original value R of the j bit in the BCH code soft informationjK is a preset positive factor larger than 1, alpha is a trust factor of the external information, and the upper limit of k x alpha is 1; in this embodiment, whenWhen the previous iteration time is 1, the value of k can be 2, and when the current iteration time is 2, the value of k can be 1.6, because 0<Alpha is less than or equal to 1, the trust value of the external information is increased through k alpha, and the aim of accelerating convergence is fulfilled;

after calculating all the next iteration decoding soft information input values, the TPC code block formed by all the next iteration decoding soft information input values is transferred to obtain the next TPC input code block, and the iteration number counter is added by 1.

S41, if the D code word is not marked as a reliable D code word, or the current iteration decoding times are not in the preset iteration time range, the calculation formula of the soft information input value of the next iteration decoding is

After calculating all the next iteration decoding soft information input values, the TPC code block formed by all the next iteration decoding soft information input values is transferred to obtain the next TPC input code block, and the iteration number counter is added by 1.

S42, if the current iterative decoding times reach the maximum configuration value of 4 times, calculating the final soft decoding output bit by bit for each row of BCH codes, and the final soft decoding output value r of the j bit in the BCH code soft informationj-out=rj+wj,rjAnd calculating the corresponding final decoding output value bit by bit of all the BCH code soft information in the TPC code block for the j bit soft information input value in the BCH code soft information under the current iterative decoding times, and then obtaining the decoding result of the TPC code block to be decoded.

A second embodiment of the present invention provides a device for improving Turbo decoding performance, a schematic structural diagram of which is shown in fig. 4, and the device mainly includes: a D codeword detection module 401, configured to detect whether an euclidean distance dist _ D of a D codeword corresponding to predetermined BCH code soft information in the TPC code block to be decoded is smaller than a first preset threshold, where the predetermined BCH code soft information is any one of the TPC code blocks to be decodedA row or any column; a D codeword labeling module 402, coupled to the D codeword detecting module 401, configured to label, when an euclidean distance dist _ D of a D codeword corresponding to the predetermined BCH code soft information is smaller than a first preset threshold, the D codeword corresponding to the predetermined BCH code soft information as a reliable codeword; a soft information calculating module 403 for next iterative decoding, coupled to the D codeword labeling module 402, configured to, in case that the D codeword corresponding to the predetermined BCH code soft information is a reliable codeword, calculate, according to an original value R of a jth bit in the predetermined BCH code soft informationjExtrinsic information value wjAn external information trust factor alpha and a preset positive number factor k, and calculating the soft information input value of the next iterative decoding of the jth bit in the preset BCH code soft informationWherein k is a preset positive factor greater than 1.

Specifically, 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 a D codeword reliability judgment threshold, and may be calculated according to a formula threshold _ dist _ mean × Q, where threshold is a first preset threshold, Q is a scaling coefficient, in this embodiment, Q is a positive number less than 1, and a value of Q changes with a change of iterative decoding times, and in this embodiment, a value of the scaling coefficient Q decreases with an increase of iterative decoding times; the dist _ mean is the mean value of the euclidean distances of all candidate code words corresponding to the predetermined BCH code soft information under the current iterative decoding times, at this time, the related euclidean distances can be full euclidean distances or simplified euclidean distances, or the dist _ mean is the mean value of the euclidean distances of the D code words corresponding to all BCH code soft information rows of the TPC code block to be decoded under the current iterative decoding times, at this time, the related euclidean distances are full euclidean distances.

Further, the above-mentioned all-euclidean distance is the result of performing euclidean distance calculation between all bits of the candidate codeword and the predetermined BCH code soft information when calculating the euclidean distance; the reduced euclidean distance is the euclidean distance between the candidate code word after the preset bit is removed and the predetermined BCH code soft information after the soft information corresponding to the preset bit is removed when the euclidean distance is calculated, wherein the preset bit is the bit with the same median value in all the candidate code words, that is, the value of the bit in all the candidate code words is all 1 or all 0.

When the euclidean distance dist _ D of the D codeword corresponding to the predetermined BCH code soft information is smaller than a first preset threshold, it is proved that the coincidence degree of the D codeword and the correct codeword of the originating terminal is higher, and the reliability of the D codeword is higher, at this time, the D codeword is marked as a reliable codeword by the D codeword marking module 402, and 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, it should be considered to increase the trust degree of the extrinsic information corresponding to the bit.

Specifically, when the D code word corresponding to the predetermined BCH code soft information is marked as a reliable code word, by setting a preset positive factor k, the soft information calculation module 403 for next iterative decoding increases the extrinsic information value w to the j bit during calculationjTo achieve the goal of speeding up convergence. It should be understood that the value range of the trust factor alpha is 0 due to the extrinsic information<α ≦ 1, k should be positive greater than 1 in order to speed convergence.

Further, the soft information calculation module 403 for next iterative decoding calculates the soft information input value for next iterative decoding of the jth bit in the predetermined BCH code soft informationThe specific formula of (2) may be:

Figure BDA0001714034980000162

wherein R isjIs the original value, w, of the jth bit in the soft information of the predetermined BCH codejAlpha is the extrinsic information value of the j bit of the soft information of the predetermined BCH code in the current iterative decoding, and is wjIn order to ensure that the trust value is not excessively increased, in the present embodiment, the upper limit of k α is set to 1, that is, if the value of k α is greater than 1, k α is set to 1.

Optionally, the soft information calculation module 403 for next iterative decoding performs fast receiving according to the reliable code wordDuring convergence, in order to not excessively increase the confidence value and cause too fast convergence, a preset iteration frequency range may be set, that is, the next iteration decoding soft information calculation module 403 first detects whether the current iteration decoding frequency falls within the preset iteration frequency range, and when the current iteration decoding frequency falls within the preset iteration frequency range, the next iteration decoding soft information calculation module further detects whether the current iteration decoding frequency falls within the preset iteration frequency range according to the original value R of the jth bit in the preset BCH code soft informationjExtrinsic information value wjAn external information trust factor alpha and a preset positive number factor k, and calculating a soft information input value of the next iterative decoding of the jth bit in the preset BCH code soft information

Figure BDA0001714034980000163

It should be understood that, in the embodiment of the present invention, the preset range of the number of iterations may be any one or several times from the first iterative decoding to the preset maximum configuration number of iterative decoding, but since the soft information input value for the next iterative decoding is not needed when the number of iterative decoding reaches the maximum configuration number, the preset range of the number of iterations does not include the last iterative decoding in a normal case.

On the basis of setting the preset iteration number range, if the current iteration number does not fall within the preset iteration number range, the soft information calculation module 403 for next iterative decoding uses the original value R of the jth bit in the preset BCH code soft information according to the manner in the prior artjExtrinsic information value wjAnd an external information trust factor alpha, calculating the soft information input value of the next iterative decoding of the j bit in the preset BCH code soft information

Figure BDA0001714034980000171

That is to say that

Figure BDA0001714034980000172

When 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 smaller than the first preset threshold, there may also be a euclidean distance of the D codeword corresponding to the predetermined BCH code soft informationThe dist _ D is greater than or equal to the first preset threshold, and in this case, the soft information calculating module 403 for next iterative decoding calculates the soft information input value for next iterative decoding according to the original value R of the jth bit in the predetermined BCH code soft information in the manner of the prior artjExtrinsic information value wjAnd an external information trust factor alpha, calculating the soft information input value of the next iterative decoding of the j bit in the preset BCH code soft information

Figure BDA0001714034980000173

That is to say that

Figure BDA0001714034980000174

Preferably, the apparatus for improving Turbo decoding performance in this embodiment may further include the following modules as shown in fig. 5: a transpose module 404, coupled to the soft information calculation module 403 for next iterative decoding, configured to transpose a TPC code block formed by soft information input values for next iterative decoding after the soft information calculation module 403 for next iterative decoding calculates soft information input values for next iterative decoding bit by bit for all BCH code soft information in the TPC code block to be decoded, so as to obtain a TPC input code block for next iterative decoding. Specifically, the next iteration decoding soft information calculation module 403 calculates a corresponding next iteration decoding soft information input value for each bit of all BCH code soft information in the TPC code block to be decoded, the transposition module 404 transposes the TPC code block composed of the next iteration decoding soft information input values of all bits in the TPC code block to be decoded, and the transposed TPC code block is the next iteration decoding TPC input code block, that is, in the next iteration decoding, any row or any column is obtained from the TPC input code block and is used as the predetermined BCH code soft information in the next iteration decoding.

It should be understood that after the TPC input code block for the next iterative decoding is obtained, if the current iterative decoding time is not the preset maximum configuration time, the value of the current iterative decoding time is set to be the value of the current iterative decoding time by the iteration time counting module 405 coupled to the transposing module 404Adding 1 to the original basis, and carrying out next iterative decoding; if the current iterative decoding times are equal to the preset maximum configuration times, the current iterative decoding is proved to be the last iterative decoding, and at this time, a final soft decoding output module 406 coupled with the iterative times counting module 405 according to the external information value w of the jth bit in the preset BCH code soft information under the current iterative decoding timesjAnd soft information input value rjCalculating the final soft decoding output value r of the j bit in the soft information of the preset BCH codej-outThe specific calculation formula is rj-out=rj+wjAnd after calculating the corresponding final decoding output value bit by bit for all BCH code soft information in the TPC code block, the decoding result of the TPC code block to be decoded can be obtained.

Preferably, the apparatus for improving Turbo decoding performance in this embodiment may further include the following modules:

an unreliable bit determining module 407, configured to determine M unreliable bits in predetermined BCH code soft information, where M is a positive integer smaller than the total bit number of the predetermined BCH code soft information, and an actual value of M is determined according to the type of the TPC code block or a hardware environment for decoding;

a hard decision module 408, coupled to the unreliable bit determining module 407, configured to perform hard decision on the predetermined BCH code soft information to obtain hard bit data corresponding to the predetermined BCH code soft information;

a codeword to be decoded generating module 409, coupled to the hard decision module 408, configured to obtain N codewords to be decoded corresponding to the predetermined BCH code soft information according to the hard bit data and the M unreliable bits, where N is 2M

A candidate codeword generating module 410, coupled to the codeword generating module 409 for decoding 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, and when the candidate codeword generating module 410 can be a BCH decoder and decodes the N codewords to be decoded, the N codewords to be decoded are input to the BCH decoder for decoding to obtain P candidate codewords, and since the decoded candidate codewords may be repeated or have a decoding failure, all the obtained candidate codewords need to be screened, and after the repeated and/or decoding failure codewords are deleted, the P candidate codewords are obtained;

a D codeword and competition codeword determining module 411, coupled to the candidate codeword generating module 410, configured to calculate a D codeword and a competition codeword corresponding to the predetermined BCH code soft information according to the P candidate codewords corresponding to the predetermined BCH code soft information; specifically, when the D codeword and competition codeword determining module 411 calculates a D codeword corresponding to predetermined BCH code soft information, euclidean distances are respectively calculated for P candidate codewords and the predetermined BCH code soft information, the candidate codeword with the smallest euclidean distance is determined as the D codeword of the predetermined BCH code soft information, and a competition codeword of each bit of the predetermined BCH code soft information is determined from other candidate codewords excluding the D codeword among the P candidate codewords; when calculating the euclidean distance between the candidate codeword and the predetermined BCH code soft information, the full euclidean distance may be calculated, or the reduced euclidean distance may be calculated.

A preliminary soft information calculating module 412, coupled to the D codeword and competition codeword determining module 411, configured to perform preliminary soft information r 'on a jth bit of the predetermined BCH code soft information according to the D codeword and competition codeword corresponding to the predetermined BCH code soft information'jCalculating, specifically, the preliminary soft information calculating module 412 calculates the j-th bit of the predetermined BCH code soft information for preliminary soft information r'jThen, according to whether there is a competing codeword in the jth bit, there are different calculation methods as follows:

under the condition that the j bit of the preset BCH code soft information has competition code words, according to a formula r'j=(dist_C-dist_D)*0.25*djCalculating j bit of preset BCH code soft information to perform preliminary soft information r'jWherein dist _ C is Euclidean distance of competing code words of j bit of predetermined BCH code soft information, djIs the symbol value of the j bit of the D code word;

under the condition that no competitive code word exists in the j bit of the preset BCH code soft information, according to the formula r'j=β*djCalculating j bit of preset BCH code soft information to perform preliminary soft information r'jWherein, beta is an estimation coefficient;

an extrinsic information calculating module 413, coupled to the preliminary soft information calculating module 412 and the D-codeword detecting module 401, respectively, for performing extrinsic information w on the jth bit of the predetermined BCH code soft information according to the preliminary soft information of the jth bit of the predetermined BCH code soft informationjIn which w is calculatedj=r′j-rj,rjAnd the soft information input value of the j bit in the preset BCH code soft information under the current iteration number is obtained.

The embodiment of the invention judges whether the D code word of a certain row or a certain column of soft information in the TPC code block to be decoded is a reliable D code word by setting the first preset threshold value, and increases the trust value by setting the preset positive number factor under the condition that the D code word is the reliable D code word, so as to achieve the purpose of accelerating convergence, improve the decoding performance, and solve the problems of slower decoding convergence and lower decoding performance of the TPC code block in the decoding process of the TPC code block in the prior art.

The decoding process of the apparatus for improving Turbo decoding performance will be described in detail below with reference to fig. 6, taking a TPC code block to be decoded composed of 127 rows BCH (127, 120) codes as an example.

The TPC decoding algorithm is targeted at TPC code blocks formed by 127 row BCH (127, 120) codes, and 6 times of iterative decoding are arranged in total, namely the maximum value of the iterative decoding times is 6 times; in this embodiment, a first preset threshold is set for the reliability of the D codeword, where the threshold is a value obtained by multiplying a scaling coefficient Q by a reference value, which is an average of euclidean distances of all candidate codewords in a current row; the configuration range of the processing iteration times marked as the reliable D code words is 2 nd time and 3 rd time, namely the preset range of the iteration times is 2 nd time and 3 rd time, namely the iteration times is 2 nd time or 3 rd time of iteration, and when the next iteration decoding soft information input value is calculated, the convergence is accelerated according to the mark of the reliable D code words. With reference to fig. 6, the following steps are detailed to implement the decoding process by using the apparatus for improving Turbo decoding performance:

s61, the iteration count module 405 records the current iterative decoding number, and determines 6 unreliable bits for the inputted 127 rows of BCH code soft information code block row by row through the unreliable bit determining module 407, wherein the absolute value of the 6 unreliable bits selected from the 127 soft information data in each row of BCH code soft information is the smallest 6 values in the 127 soft information absolute values.

S62, the hard decision module 408 performs hard decision on the soft information of the BCH code in each row to obtain a corresponding hard bit data of 127 bits, and obtains 2 powers of 6, that is, 64 codewords to be decoded through the codeword to be decoded generating module 409, where each codeword to be decoded is 127 bits long, but not necessarily a BCH (127, 120) codeword.

S63, the 64 codewords to be decoded are input to the candidate codeword generation module 410 for decoding to obtain a plurality of candidate BCH codewords, and the candidate codewords are BCH (127, 120) codewords, but the number of the obtained candidate codewords is not necessarily 64, and codewords that are repeated or failed in decoding need to be screened out.

S64, the D codeword and competition codeword determining module 411 calculates euclidean distances between the candidate codewords and the corresponding input BCH code soft information, where the euclidean distances are calculated by performing euclidean distance calculation on all bits of the candidate codewords and the corresponding input BCH code soft information, that is, the obtained euclidean distances are all euclidean distances, the candidate codeword corresponding to the minimum value of all euclidean distances is determined as the D codeword corresponding to the input BCH code soft information, and the corresponding competition codeword C is searched from other candidate codewords.

S65, the preliminary soft information calculation module 412 performs preliminary soft information calculation on the BCH code soft information of each row of 127 rows bit by bit;

if there is a competing codeword C in the jth bit (j is an integer from 1 to 127) of the BCH code soft information, according to the formula r'j=(dist_C-dist_D)*0.25*djCalculating to obtain a preliminary soft information value of the j bit; if there is no competing codeword C for the j-th bit, the preliminary soft information value is r'j=β*djWherein r'jIs the preliminary soft information value, dist _ C is the Euclidean distance value of the competing codeword C, dist _ D is the Euclidean distance value of the D codeword, DjIs the symbol value of j-th bit of D code word, beta is the estimation coefficient.

S66, the extrinsic information calculation module 413 compares the BCH codes of each of 127 rowsSpecially, the external information is calculated by the formula of wj=r′j-rjWherein w isjIs the extrinsic information value r of the j-th bit of the BCH code soft informationjIs the soft information input value of the j bit in the BCH code soft information correspondingly input under the current iteration times.

S67, setting a threshold (i.e. a first preset threshold) threshold for reliable judgment of a reference D codeword, and when the D codeword detection module 401 detects that the euclidean distance dist _ D of the current D codeword is smaller than the threshold, labeling the D codeword as a reliable D codeword through the D codeword labeling module 402, wherein the euclidean distance is the full euclidean distance or the reduced euclidean distance;

obtaining a reference D code word reliability judgment threshold value, wherein the reference D code word reliability judgment threshold value is obtained by taking the mean value dist _ mean of Euclidean distances of all candidate code words corresponding to a current row under the current iterative decoding times as a reference value obtained by multiplying a proportionality coefficient Q, wherein Q is a positive number smaller than 1, and when the Euclidean distance of the D code word is smaller than the threshold value, the D code word reliability judgment threshold value is considered to obtain better decoding performance; in this embodiment, if the current decoding time is 2 nd time and Q is 0.6, the condition for labeling the D codeword as a reliable D codeword is as follows: dist _ D < dist _ mean 0.6; if the current decoding time is 3 rd time, and Q is 0.5, the condition that the D code word is marked as a reliable D code word is as follows: dist _ D < dist _ mean 0.5, i.e. the Q value may take different values depending on the number of iterations.

And S68, judging whether the current iterative decoding times reach the maximum configuration value for 6 times, if the current iterative decoding times do not reach the maximum configuration value for 6 times, executing S69, otherwise, executing S72.

S69, determining whether the D codeword of the current row is a reliable codeword, if so, performing step S70, otherwise, performing step S71.

S70, if the D code word is a reliable D code word and the current iterative decoding time is in the preset iterative time range, i.e. the current iterative time is from 2 nd to 3 rd, the soft information calculation module 403 for next iterative decoding calculates the calculation formula of the next iterative decoding soft information input value of the jth bit in each row of BCH code soft information asWherein

Figure BDA0001714034980000222

Soft information input value R for next iterative decoding of j bit in BCH code soft informationjIs the original value R of the j bit in the BCH code soft informationjK is a preset positive factor larger than 1, alpha is a trust factor of the external information, and the upper limit of k x alpha is 1; in this embodiment, when the current iteration number is 2, the value of k may be 2, and when the current iteration number is 3, the value of k may be 1.6, since 0<Alpha is less than or equal to 1, the trust value of the external information is increased through k alpha, and the aim of accelerating convergence is fulfilled;

after calculating all the next iterative decoding soft information input values, the transposition module 404 transposes the TPC code block composed of all the next iterative decoding soft information input values to obtain the next TPC input code block, and increments the iteration count counter by 1.

S71, if the D code word is not marked as a reliable D code word, or the current iterative decoding frequency does not fall within the preset iterative frequency range, the soft information calculation module 403 for the next iterative decoding calculates the soft information input value of the next iterative decoding by the calculation formula

Figure BDA0001714034980000223

After calculating all the next iterative decoding soft information input values, the transposition module 404 transposes the TPC code block composed of all the next iterative decoding soft information input values to obtain the next TPC input code block, and increments the iteration count counter by 1.

S72, if the current iterative decoding times reach the maximum configuration value of 6 times, the final soft decoding output module 406 calculates the final soft decoding output for each row of BCH codes bit by bit, the final soft decoding output value r of j bit in the BCH code soft informationj-out=rj+wj,rjAll BCH codes in TPC code blocks are soft for the soft information input value of j bit in BCH code soft information under the current iterative decoding timesAnd after the information bit by bit calculates the corresponding final decoding output value, the decoding result of the TPC code block to be decoded can be obtained.

A third embodiment of the present invention provides a computer apparatus, at least comprising a memory, a processor, a computer program stored on the memory, the processor implementing the following steps S81 to S83 when executing the computer program on the memory:

s81, detecting whether the Euclidean distance dist _ D of a D code word corresponding to preset BCH code soft information in the TPC code block to be decoded is smaller than a first preset threshold value, wherein the preset BCH code soft information is any row or any column in the TPC code block to be decoded;

s82, under the condition that the Euclidean distance dist _ D of the D code word corresponding to the preset BCH code soft information is smaller than a first preset threshold value, the D code word corresponding to the preset BCH code soft information is marked as a reliable code word;

s83, in case that the D code word corresponding to the predetermined BCH code soft information is a reliable code word, according to the original value R of the j bit in the predetermined BCH code soft informationjExtrinsic information value wjAn external information trust factor alpha and a preset positive number factor k, and calculating the soft information input value of the next iterative decoding of the jth bit in the preset BCH code soft information

Figure BDA0001714034980000231

Wherein k is a preset positive factor greater than 1.

In this embodiment, the computer device may be a terminal having a decoding function. Since the method for improving Turbo decoding performance has been described in detail in the first embodiment, details are not described in this embodiment.

Although the preferred embodiments of the present invention have been disclosed for illustrative purposes, those skilled in the art will appreciate that various modifications, additions and substitutions are possible, and the scope of the invention should not be limited to the embodiments described above.

24页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:星用半双工VDES系统多通道射频收发机

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类