Data checking method and device
20170359150 · 2017-12-14
Inventors
Cpc classification
H03M13/1102
ELECTRICITY
H03M13/6513
ELECTRICITY
H03M13/09
ELECTRICITY
H04L1/0054
ELECTRICITY
International classification
Abstract
Provided are a data checking method and device. The method includes: receiving a transmission signal containing a first data block and transmitted by a transmission node, wherein the length of the first data block is N bits, the first data block is generated by performing an FEC encoding on a second data block which has a length of K bits, and the second data block is generated by performing a CRC encoding on a third data block which has a length of L bits, where N, K and L are all positive integers, and N≧K>L; obtaining a first estimation data block of the first data block according to the transmission signal, and obtaining a second estimation data block of the second data block according to the transmission signal; and checking the third data block according to a relationship between the first estimation data block and an FEC code space and/or a CRC check result of the second estimation data block. By means of the technical solution provided in the present disclosure, the problems that a transmission rate decreases due to the fact that a CRC check code is too long and a false detection rate cannot be ensured due to the fact that the CRC check code is too short are solved.
Claims
1. A data checking method, comprising: receiving a transmission signal containing a first data block and transmitted by a transmission node, wherein the first data block has a length of N bits, and the first data block is generated by performing a Forward Error Correction code (FEC) encoding on a second data block which has a length of K bits, and the second data block is generated by performing a Cyclic Redundancy Check code (CRC) encoding on a third data block which has a length of L bits, where N, K and L are positive integers, and N≧K>L; obtaining a first estimation data block of the first data block according to the transmission signal, and obtaining a second estimation data block of the second data block according to the transmission signal; and checking the third data block according to a relationship between the first estimation data block and an FEC code space and/or a CRC check result of the second estimation data block.
2. The method as claimed in claim 1, wherein checking the third data block according to a relationship between the first estimation data block and an FEC code space and/or a CRC check result of the second estimation data block, comprises: judging that the third data block is received correctly when the first estimation data block is a codeword of the FEC code space and the CRC check of the second estimation data block is correct; and judging that the third data block is not received correctly when the first estimation data block is not a codeword of the FEC code space and/or the CRC check of the second estimation data block fails.
3. The method as claimed in claim 2, wherein when the first data block is a code block or a transmission block containing a code block, the first estimation data block is a codeword of the FEC code space indicating that: the code block or the transmission block is a codeword in the FEC code space; or when the first data block is a transmission block containing a plurality of data blocks, the first estimation data block is a codeword of the FEC code space indicating that: the plurality of data blocks are codewords in the FEC code space.
4. The method as claimed in claim 2, wherein when it is judged that the third data block is received correctly, transmitting Acknowledgment (ACK) information to the transmission node; and when it is judged that the third data block is not received correctly, transmitting Non-Acknowledgment (NACK) information to the transmission node.
5. The method as claimed in claim 2, wherein the FEC encoding comprises at least one of: a Turbo code, a Low Density Parity Check (LDPC) code, and a convolution code.
6. The method as claimed in claim 5, wherein when the FEC encoding is a Turbo code, determining whether the data block is a codeword in the FEC code space by at least one of the following manners: manner one: comparing side information Λ.sub.i.sup.e.sup.
7. The method as claimed in claim 5, wherein when the FEC encoding is the LDPC code, determining whether the data block is a codeword in the FEC code space by at least one of the following manners: manner one: comparing soft information Λ.sub.i.sup.jof N codeword bits output by an LDPC code decoder after the jth iteration with the eighth threshold Y.sub.8, wherein if Λ.sub.i.sup.j≧Y.sub.8, the bit i is judged to be “1”, if Λ.sub.i.sup.j<Y.sub.8, the bit i is judged to be 0, and generating the estimation of the data block according to the judging result, where i is an integer and i ∈ {0,1,2, . . . N-1}, j is an integer greater than or equal to 1; if
×H.sup.T=0,
generated by the LDPC code decoder after the jth iteration is a codeword in the FEC code space; and if
H.sup.T ≠0, the
is not a codeword in the FEC code space, where H is a check matrix of the LDPC code; manner two: comparing soft information Λ.sub.i.sup.j of N codeword bits output by an LDPC code decoder after the jth iteration with the eighth threshold Y.sub.8, wherein if Λ.sub.i.sup.j≧Y.sub.8, the bit i is judged to be “1”, if Λ.sub.i.sup.j<Y.sub.8, the bit i is judged to be 0, generating the estimation
of the first data block according to the judging result, and generating the estimation
of the bit sequence by taking the first K bits for the estimation
, where i is an integer and i ∈ {0,1,2, . . . N-1}, j is an integer greater than or equal to 1; generating the data block C by performing LDPC encoding on the
, wherein if
=C, the
is a codeword in the FEC code space; and if
≠C, the
is not a codeword in the FEC code space; manner three: comparing the symbol sign(Λ.sub.i.sup.j) of soft information of N codeword bits output by a LDPC code decoder after the jth iteration with the soft information sign(Λ.sub.j.sup.j−1) output by a decoder after the j-1th iteration, wherein if sign(Λ.sub.i.sup.j) and sign(Λ.sub.i.sup.j−1) of each bit are the same, the data block generated by the LDPC code decoder after the jth iteration is a codeword in the FEC code space; and if sign(Λ.sub.i.sup.j) and sign(Λ.sub.i.sup.j−1) of at least one bit are different, the data block generated after the jth iteration is not a codeword in the FEC code space, where i is an integer and i ∈ {0,1,2, . . . N-1}, j is an integer greater than or equal to 2; manner four: comparing the symbol sign(Λ.sub.i.sup.j) of soft information of N codeword bits output by a LDPC code decoder after the jth iteration with the soft information sign(Λ.sub.i.sup.j−1) output by a decoder after the j-1th iteration, wherein if the number of bits in which sign(Λ.sub.i.sup.j) and sign(Λ.sub.i.sup.j−1) are the same is greater than or equal to a ninth threshold Y.sub.9, the data block generated by the LDPC code decoder after the jth iteration is a codeword in the FEC code space; if the number of bits in which sign(Λ.sub.i.sup.j) and sign(Λ.sub.i.sup.j−1) are different is less than or equal to the ninth threshold Y.sub.9, the data block generated after the jth iteration is not a codeword in the FEC code space, where i is an integer and i ∈ {0,1,2, . . . N-1}, j is an integer greater than or equal to 2; or if the number of bits in which sign(Λ.sub.i.sup.j) and sign(Λ.sub.i.sup.j−1) are different is less than or equal to a tenth threshold Y.sub.10, the data block generated by the LDPC code decoder after the jth iteration is a codeword in the FEC code space; and if the number of bits in which sign(Λ.sub.i.sup.j) and sign(Λ.sub.i.sup.j−1) are different is greater than the tenth threshold Y.sub.10, the data block generated after the jth iteration is not a codeword in the FEC code space; manner five: comparing the absolute value of the soft information of N codeword bits output by the LDPC code decoder after the jth iteration with an eleventh threshold Y.sub.11, wherein if the minimum value |Λ.sub.i.sup.j| is greater than the eleventh threshold Y.sub.11, the data block generated by the LDPC code decoder after the jth iteration is a codeword in the FEC code space; and if the minimum value in |Λ.sub.i.sup.j| is less than or equal to the eleventh threshold Y.sub.11, the data block generated by the LDPC code decoder after the jth iteration is not a codeword in the FEC code space, where i is an integer and i ∈ {0,1,2, . . . N-1}, j is an integer greater than or equal to 1; manner six: comparing the mean value
8. The method as claimed in claim 5, wherein when the FEC encoding is the convolution code, determining whether the data block is a codeword in the FEC code space by at least one of the following manners: manner one: comparing the symbol sign(Λ.sub.i.sup.j) of soft information of K bits output by the convolution code decoder after the jth iteration with the soft information sign(Λ.sub.i.sup.j−1) output by a decoder after the j-1th iteration, wherein if sign(Λ.sub.i.sup.j) and sign(Λ.sub.i.sup.j−1) of each bit are the same, the data block generated by the convolution code decoder after the jth iteration is a codeword in the FEC code space; and if sign(Λ.sub.i.sup.j) and sign(Λ.sub.i.sup.j−1) of at least one bit are different, the data block generated after the jth iteration is not a codeword in the FEC code space, where i is an integer and i ∈ {0,1,2, . . . K-1}, j is an integer greater than or equal to 2; manner two: comparing the symbol sign(Λ.sub.i.sup.j) of soft information of K bits output by the convolution code decoder after the jth iteration with the soft information sign(Λ.sub.i.sup.j−1) output by a decoder after the j-1th iteration, wherein if the number of bits in which sign(Λ.sub.i.sup.j) and sign(Λ.sub.i.sup.j−1) are the same is greater than or equal to a thirteenth threshold Y.sub.13, the data block generated after the jth iteration is a codeword in the FEC code space; and if the number of bits in which sign(Λ.sub.i.sup.j) and sign(Λ.sub.i.sup.j−1) are the same is less than or equal to the thirteenth threshold Y.sub.13, the data block generated after the jth iteration is not a codeword in the FEC code space, where i is an integer and i ∈ {0,1,2, . . . K-1}, j is an integer greater than or equal to 2; or if the number of bits in which sign(Λ.sub.i.sup.j) and sign(Λ.sub.i.sup.j−1) are different is greater than or equal to a fourteenth threshold Y.sub.14, the data block generated by the convolution code decoder after the jth iteration is a codeword in the FEC code space; and if the number of bits in which sign(Λ.sub.i.sup.j) and sign(Λ.sub.i.sup.j−1) are different is greater than the fourteenth threshold Y.sub.14, the data block generated after the jth iteration is not a codeword in the FEC code space; manner three: comparing the absolute value |Λ.sub.i.sup.j| of the soft information of K bits output by the convolution code decoder after the jth iteration with a fifteenth threshold Y.sub.15, wherein if the maximum value in is greater than the fifteenth threshold Y.sub.15the data block generated by the convolution code decoder after the jth iteration is a codeword in the FEC code space; and if the minimum value in |Λ.sub.i.sup.j| is less than or equal to the fifteenth threshold Y.sub.15, the data block generated after the jth iteration is not a codeword in the FEC code space, where i is an integer and i ∈ {0,1,2, . . . K-1}, j is an integer greater than or equal to 1; manner four: comparing the mean value
9. The method as claimed in claim 1, further comprising: determining the length of the CRC according to the length L of the third data block.
10. The method as claimed in claim 9, wherein determining the length of the CRC according to the length L of the third data block, comprising: dividing the range of values of the length L into T intervals in an ascending order: L.sub.1,L.sub.2, . . . L.sub.T, where each interval corresponds to the CRCs of different lengths: L.sub.1.sup.CRC,L.sub.2.sup.CRC, . . . L.sub.T.sup.CRC, wherein L.sub.1.sup.CRC,L.sub.2.sup.CRC, . . . L.sub.T.sup.CRC, and T is a positive integer; and selecting the length of the CRC used for encoding the third data block according to the value interval to which the length L of the third data block belongs.
11. The method as claimed in claim 1, wherein the transmission node comprises at least one of: a base station, a relay node, and a terminal.
12. The method as claimed in claim 11, wherein when the transmission node is a terminal, a transmission signaling for indicating a data checking mode is transmitted to the transmission node, wherein the data checking mode comprises at least one of: checking data according to the FEC code space and/or the CRC check result; and checking data according to the CRC check result.
13. The method as claimed in claim 11, wherein when the transmission node is a base station or a relay node, an indication signaling for configuring the data checking mode and transmitted by the transmission node is received, wherein the data checking mode comprises at least one of: checking data according to the FEC code space and/or the CRC check result; checking data according to the CRC check result.
14. The method as claimed in claim 13, wherein a data checking mode in which data is checked according to the FEC code space and/or the CRC check result is used in one of the following cases: the length of the transmission block or code block in the first data block is less than the first preset threshold; the number of repetitions of the transmission block or code block in the first data block is greater than the second preset threshold.
15. The method as claimed in claims 1, wherein the FEC code space comprises: a set of all codewords generated using the FEC encoding manner.
16. The method as claimed in claim 1, wherein obtaining the first estimation data block of the first data block according to the transmission signal comprises: obtaining the first estimation data block by demodulating the transmission signal; and obtaining the second estimation data block of the second data block according to the transmission signal comprises: obtaining the second estimation data block by demodulating and FEC decoding the transmission signal.
17. A data checking device, comprising: a receiving module, configured to receive a transmission signal containing a first data block and transmitted by a transmission node, wherein the length of the first data block is N bits, the first data block is generated by performing a Forward Error Correction code (FEC) encoding on a second data block which has a length of K bits, and the second data block is generated by performing a Cyclic Redundancy Check code (CRC) encoding on a third data block which has a length of L bits, where N, K and L are all positive integers, and N≧K>L; a determining module, configured to obtain a first estimation data block of the first data block according to the transmission signal, and obtain a second estimation data block of the second data block according to the transmission signal; and a checking module, configured to check the third data block according to a relationship between the first estimation data block and an FEC code space and/or a CRC check result of the second estimation data block.
18. The device as claimed in claim 17, wherein the checking module comprises: a first judging unit, configured to judge that the third data block is received correctly when the first estimation data block is a codeword of the FEC code space and the CRC check of the second estimation data block is correct; and a second judging unit, configured to judge that the third data block is not received correctly when the first estimation data block is not a codeword of the FEC code space and/or the CRC check of the second estimation data block fails.
19. The device as claimed in claim 17, wherein the checking module is configured to check the third data block when the FEC code space comprises the following: a set of all codewords generated using the FEC encoding manner.
20. The method as claimed in claim 14, wherein the first estimation data block of the first data block is obtained according to the transmission signal, comprising: obtaining the first estimation data block by demodulating the transmission signal; and the second estimation data block of the second data block is obtained according to the transmission signal, comprising: obtaining the second estimation data block by demodulating and FEC decoding the transmission signal.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0087] The drawings are described here to provide further understanding of the present disclosure, and form a part of the present application. The schematic embodiments and description of the present disclosure are adopted to explain the present disclosure.
[0088]
[0089]
[0090]
[0091]
[0092]
[0093]
[0094]
[0095]
[0096]
DETAILED DESCRIPTION OF THE EMBODIMENTS
[0097] The present disclosure is described below with reference to the drawings and the embodiments in detail. It is to be noted that the embodiments of the present application and the characteristics in certain embodiments may be combined with each other under the condition of no conflicts.
[0098] In order to make a better understanding of the present disclosure by those skilled in the art, the technical solutions In certain embodiments of the present disclosure will be described in a clear and complete manner in conjunction with the accompanying drawings In certain embodiments of the present disclosure, and it will be apparent that the described embodiments is merely a part of embodiments of the present disclosure, rather than all embodiments. All other embodiments obtained by those of ordinary skill in the art without making creative work are intended to be within the scope of the present disclosure based on embodiments of the present disclosure.
[0099] In the present embodiment, there is provided a data checking method.
[0100] At Step S502: A transmission signal containing a first data block and transmitted by a transmission node is received, and the length of the first data block is N bits, the first data block is generated by a second data block, the length of which is K bits, after FEC encoding, and the second data block is generated by a third data block, the length of which is L bits, after CRC encoding, where N, K and L are all positive integers, and N≧K>L.
[0101] At Step S504: A first estimation data block of the first data block is obtained according to the transmission signal, and a second estimation data block of the second data block is obtained according to the transmission signal.
[0102] At Step S506: The third data block is checked according to a relationship between the first estimation data block and an FEC code space and/or a CRC check result of the second estimation data block.
[0103] Through the above steps, the technical solution of checking the received data block by comprehensively using the FEC code space and the CRC checks is realized, solving the problems that a transmission rate decreases due to the fact that a CRC check code is too long and a false detection rate cannot be ensured due to the fact that the CRC check code is too short, so as to reduce the length of the CRC in the case of meeting the requirement of the system error detection rate, thereby reducing the data redundancy rate and improving the transmission efficiency.
[0104] In certain embodiments of the present disclosure, there are many implementations for the above Step S506. In the exemplary embodiment of the present disclosure, there may be several following solutions: judging that the third data block is received correctly when the first estimation data block is a codeword of the FEC code space and the CRC check of the second estimation data block is correct; and judging that the third data block is not received correctly when the first estimation data block is not a codeword of the FEC code space and/or the CRC check of the second estimation data block fails. That is, as long as one of the fact that the first estimation data block is not a codeword of the FEC code space and the CRC check of the second estimation data block fails is coincident, it will be judged that the third data block is not received correctly.
[0105] In the specific implementation process, the first data block may have a plurality of cases (including a code block or a plurality of code blocks), and specifically, the first estimation data block is a codeword of the FEC code space when the first data block is a code block or a transmission block containing a code block, indicating that: the code block or the transmission block is a codeword in the FEC code space; or the first estimation data block is a codeword of the FEC code space when the first data block is a transmission block containing a plurality of data blocks, indicating that: the plurality of data blocks are codewords in the FEC code space.
[0106] Herein when it is judged that the third data block is received correctly, ACK information is transmitted to the transmission node; and when it is judged that the third data block is not received correctly, NACK information is transmitted to the transmission node.
[0107] In the above technical solution, when it is judged whether the data block is a codeword in the code space, there are a plurality of different implementations contained in the FEC encoding, which will be detailed below. The FEC encoding includes at least one of: a Turbo code, a LDPC code, and a convolution code.
[0108] (1) When the FEC code is a Turbo code, when the FEC encoding is a Turbo code, it is determined whether the data block is a codeword in the FEC code space by at least one of the following manners, and the following manners one to seven can be arbitrarily combined.
[0109] Manner One:
[0110] Comparing side information Λ.sub.i.sup.e.sup.
[0111] Comparing side information Λ.sub.i.sup.e.sup.
[0112] Interleaving the bit sequence E.sub.1 using an inner interleaver pattern of the Turbo code, generating an interleaved bit sequence E.sub.1.sup.int, and comparing the size relationship between E.sub.1.sup.int and E.sub.2, and if the E.sub.1.sup.int=E.sub.2, the data block generated by being decoded by the Turbo code after j iterations is a codeword in the FEC code space; if E.sub.1.sup.int≠E.sub.2, the data block generated after j iterations is not a codeword in the FEC code space, where int represents that the E.sub.1.sup.int is the interleaved information or bit sequence; or
[0113] Deinterleaving the E.sub.2 using an inner interleaver of the Turbo code, generating an deinterleaved bit sequence E.sub.2.sup.dei, and comparing E.sub.1 and E.sub.2.sup.dei, and if the E.sub.2.sup.dei=E.sub.1, the data block generated by being encoded by the Turbo code after j iterations is a codeword in the FEC code space; if E.sub.2.sup.dei≠E.sub.1, the data block generated after j iterations is not a codeword in the FEC code space, where die represents that the E.sub.2.sup.dei is the deinterleaved information or bit sequence.
[0114] Manner Two:
[0115] comparing the symbol sign(Λ.sub.i.sup.j) of soft information of K bits output by the Turbo code decoder after the jth iteration with the soft information sign(Λ.sub.i.sup.j−1) output by a decoder after the j-1th iteration, and if sign(Λ.sub.i.sup.j) and sign(Λ.sub.i.sup.j−1) of each bit are the same, the data block generated by the Turbo code decoder after the jth iteration is a codeword in the FEC code space; and if sign(Λ.sub.i.sup.j) and sign(Λ.sub.i.sup.j−1) of at least one bit are different, the data block generated by the Turbo code decoder after the jth iteration is not a codeword in the FEC code space, where i is an integer and i ∈ {0,1,2, . . . K-1}, j is an integer greater than or equal to 2.
[0116] Manner Three:
[0117] comparing the symbol sign(Λ.sub.i.sup.j of soft information of K bits output by the Turbo code decoder after the jth iteration with the soft information sign(Λ.sub.i.sup.j−1) output by a decoder after the j-1th iteration, and if the number of bits in which sign(Λ.sub.i.sup.j) and sign(Λ.sub.i.sup.j−1) are the same is less than or equal to a second threshold Y.sub.2, the data block generated after the jth iteration is not a codeword in the FEC code space, where i is an integer and i ∈ {0,1,2, . . . K-1}, j is an integer greater than or equal to 2; or
[0118] if the number of bits in which sign(Λ.sub.i.sup.j) and sign(Λ.sub.i.sup.j−1) are different is less than or equal to a third threshold Y.sub.3, the data block generated by the Turbo code decoder after the jth iteration is a codeword in the FEC code space; and if the number of bits in which sign(Λ.sub.i.sup.j) and sign(Λ.sub.i.sup.j−1) are different is greater than the third threshold Y.sub.3, the data block generated after the jth iteration is not a codeword in the FEC code space.
[0119] Manner Four:
[0120] comparing the symbol sign(Λ.sub.i.sup.a.sup.
[0121] if the number of bits in which sign(Λ.sub.i.sup.a.sup.
[0122] Manner Five:
[0123] comparing the absolute value |Λ.sub.i.sup.j| of the soft information of K bits output by the Turbo code decoder after the jth iteration with a sixth threshold Y.sub.6, and if the maximum value in |Λ.sub.i.sup.j| is greater than the sixth threshold Y.sub.6, the data block generated by the Turbo code decoder after the jth iteration is a codeword in the FEC code space; and if the minimum value in |Λ.sub.i.sup.j| is less than or equal to the sixth threshold Y.sub.6, the data block generated by the Turbo code decoder after the jth iteration is not a codeword in the FEC code space, where i is an integer and i ∈ {0,1,2, . . . K-1}, j is an integer greater than or equal to 1.
[0124] Manner Six:
[0125] comparing the mean value
of the absolute value of the soft information of K bits output by the Turbo code decoder after the jth iteration with a seventh threshold Y.sub.7, and if S.sup.j is greater than the seventh threshold Y.sub.7, the data block generated by the Turbo code decoder after the jth iteration is a codeword in the FEC code space; and if S.sup.j is less than or equal to the seventh threshold Y.sub.7the data block generated by the Turbo code decoder after the jth iteration is not a codeword in the FEC code space, where i is an integer and i ∈ {0,1,2, . . . K-1}, j is an integer greater than or equal to 1.
[0126] Manner Seven:
[0127] comparing the sum
of the absolute value of the soft information of K bits output by the Turbo code decoder after the jth iteration with the sum
of the absolute value of the soft information of K bits output by the Turbo code decoder after the j-1th iteration, and if S.sup.j is less than or equal to S.sup.j−1, the data block generated by the Turbo code decoder after the jth iteration is a codeword in the FEC code space; and if S.sup.j is greater than S.sup.j−1, the data block generated by the Turbo code decoder after the jth iteration is not a codeword in the FEC code space, where i is an integer and i ∈ {0,1,2, . . . K-1}, j is an integer greater than or equal to 2, and the first threshold Y.sub.1 to the seventh threshold Y.sub.7 are integers greater than or equal to zero.
[0128] (2) When the FEC encoding is the LDPC code, it is determined whether the data block is a codeword in the FEC code space by at least one of the following manners, and the following manners one to seven can be arbitrarily combined.
[0129] Manner One:
[0130] comparing soft information Λ.sub.i.sup.j of N codeword bits output by an LDPC code decoder after the jth iteration with the eighth threshold Y.sub.8, and if Λ.sub.i.sup.j≧Y.sub.8, the bit i is judged to be “1”, if Λ.sub.i.sup.j<Y.sub.8, the bit i is judged to be 0, and generating the estimation of the data block according to the judging result, where i is an integer and i ∈ {0,1,2, . . . N-1}, j is an integer greater than or equal to 1;
[0131] if ×H.sup.T=0,
generated by the LDPC code decoder after the jth iteration is a codeword in the FEC code space; and if
×H.sup.T≠0, the
is not a codeword in the FEC code space, where H is a check matrix of the LDPC code.
[0132] Manner Two:
[0133] comparing soft information Λ.sub.i.sup.j of N codeword bits output by an LDPC code decoder after the jth iteration with the eighth threshold Y.sub.8, and if Λ.sub.i.sup.j≧Y.sub.8, the bit i is judged to be “1”, if Λ.sub.i.sup.j<Y.sub.8, the bit i is judged to be 0, generating the estimation of the first data block according to the judging result, and generating the estimation
of the bit sequence by taking the first K bits for the estimation
, where i is an integer and i ∈ {0,1,2, . . . N-1}, j is an integer greater than or equal to 1;
[0134] generating the data block C by performing LDPC encoding on the , and if
=C, the
is a codeword in the FEC code space; and if
≠C, the
is not a codeword in the FEC code space.
[0135] Manner Three:
[0136] comparing the symbol sign(Λ.sub.i.sup.j) of soft information of N codeword bits output by a LDPC code decoder after the jth iteration with the soft information sign(Λ.sub.i.sup.j−1) output by a decoder after the j-1th iteration, and if sign(Λ.sup.j) and sign(Λ.sub.i.sup.j−1) of each bit are the same, the data block generated by the LDPC code decoder after the jth iteration is a codeword in the FEC code space; and if sign(Λ.sub.i.sup.j) and sign(Λ.sub.i.sup.j−1) of at least one bit are different, the data block generated after the jth iteration is not a codeword in the FEC code space, where i is an integer and i ∈ {0,1,2, . . . N-1}, j is an integer greater than or equal to 2.
[0137] Manner Four:
[0138] comparing the symbol sign(Λ.sub.i.sup.j) of soft information of N codeword bits output by a LDPC code decoder after the jth iteration with the soft information sign(Λ.sub.i.sup.j−1) output by a decoder after the j-1th iteration, and if the number of bits in which sign(Λ.sub.i.sup.j) and sign(Λ.sub.i.sup.j−1) are the same is greater than or equal to a ninth threshold Y.sub.9, the data block generated by the LDPC code decoder after the jth iteration is a codeword in the FEC code space; if the number of bits in which sign(Λ.sub.i.sup.j) and sign(Λ.sub.i.sup.j−1) are different is less than or equal to the ninth threshold Y.sub.9, the data block generated after the jth iteration is not a codeword in the FEC code space, where i is an integer and i ∈ {0,1,2, . . . N-1}, j is an integer greater than or equal to 2; or
[0139] if the number of bits in which sign(Λ.sub.i.sup.j) and sign(Λ.sub.i.sup.j−1) are different is less than or equal to a tenth threshold Y.sub.10, the data block generated by the LDPC code decoder after the jth iteration is a codeword in the FEC code space; and if the number of bits in which sign(Λ.sub.i.sup.j) and sign(Λ.sub.i.sup.j−1) are different is greater than the tenth threshold Y.sub.10, the data block generated after the jth iteration is not a codeword in the FEC code space.
[0140] Manner Five:
[0141] comparing the absolute value of the soft information of N codeword bits output by the LDPC code decoder after the jth iteration with an eleventh threshold Y.sub.11, and if the minimum value in |Λ.sub.i.sup.j| is greater than the eleventh threshold Y.sub.11, the data block generated by the LDPC code decoder after the jth iteration is a codeword in the FEC code space; and if the minimum value in |Λ.sub.i.sup.j| is less than or equal to the eleventh threshold Y.sub.11, the data block generated by the LDPC code decoder after the jth iteration is not a codeword in the FEC code space, where i is an integer and i ∈ {0,1,2, . . . N-1}, j is an integer greater than or equal to 1.
[0142] Manner Six:
[0143] comparing the mean value
of the absolute value of the soft information of N codeword bits output by the LDPC code decoder after the jth iteration with a twelfth threshold Y.sub.12, and if S.sup.j is greater than the twelfth threshold Y.sub.12, the data block generated by the LDPC code decoder after the jth iteration is a codeword in the FEC code space; and if S.sup.j is less than or equal to the twelfth threshold Y.sub.12, the data block generated by the LDPC code decoder after the jth iteration is not a codeword in the FEC code space, where i is an integer and i ∈ {0,1,2, . . . N-1}, j is an integer greater than or equal to 1.
[0144] Manner Seven:
[0145] comparing the sum
of the absolute value of the soft information of N codeword bits output by the LDPC code decoder after the jth iteration with the sum
of the absolute value of the soft information of N codeword bits output by the LDPC code decoder after the j-1th iteration, and if S.sub.j is less than or equal to S.sup.j−1, the data block generated by the LDPC code decoder after the jth iteration is a codeword in the FEC code space; and if S.sup.j is greater than S.sup.j−1, the data block generated by the LDPC code decoder after the jth iteration is not a codeword in the FEC code space, where i is an integer and i ∈ {0,1,2, . . . N-1}, j is an integer greater than or equal to 2, and the eighth threshold Y.sub.8 to the twelfth threshold Y.sub.12 are integers greater than or equal to zero.
[0146] (3) When the FEC encoding is the convolution code, it is determined whether the data block is a codeword in the FEC code space by at least one of the following manners, and the following manners one to five can be arbitrarily combined.
[0147] Manner One:
[0148] comparing the symbol sign(Λ.sub.i.sup.j) of soft information of K bits output by the convolution code decoder after the jth iteration with the soft information sign(Λ.sub.i.sup.j−1) output by a decoder after the j-1th iteration, and if sign(Λ.sub.i.sup.j) and sign(Λ.sub.i.sup.j−1) of each bit are the same, the data block generated by the convolution code decoder after the jth iteration is a codeword in the FEC code space; and if sign(Λ.sub.i.sup.j) and sign(Λ.sub.i.sup.j−1) of at least one bit are different, the data block generated after the jth iteration is not a codeword in the FEC code space, where i is an integer and i ∈{0,1,2, . . . K-1}, j is an integer greater than or equal to 2.
[0149] Manner Two:
[0150] comparing the symbol sign(Λ.sub.i.sup.j) of soft information of K bits output by the convolution code decoder after the jth iteration with the soft information sign(Λ.sub.i.sup.j−1) output by a decoder after the j-1th iteration, and if the number of bits in which sign(Λ.sub.i.sup.j) and sign(Λ.sub.i.sup.j−1) are the same is greater than or equal to a thirteenth threshold Y.sub.13, the data block generated after the jth iteration is a codeword in the FEC code space; and if the number of bits in which sign(Λ.sub.i.sup.j) and sign(Λ.sub.i.sup.j−1) are the same is less than or equal to the thirteenth threshold Y.sub.13, the data block generated after the jth iteration is not a codeword in the FEC code space, where i is an integer and i ∈ {0,1,2, . . . K-1}, j is an integer greater than or equal to 2; or
[0151] if the number of bits in which sign(Λ.sub.i.sup.j) and sign(Λ.sub.i.sup.k−1) are different is greater than or equal to a fourteenth threshold Y.sub.14, the data block generated by the convolution code decoder after the jth iteration is a codeword in the FEC code space; and if the number of bits in which sign(Λ.sub.i.sup.j) and sign(Λ.sub.i.sup.j−1) are different is greater than the fourteenth threshold Y.sub.14, the data block generated after the jth iteration is not a codeword in the FEC code space.
[0152] Manner Three:
[0153] comparing the absolute value |Λ.sub.i.sup.j| of the soft information of K bits output by the convolution code decoder after the jth iteration with a fifteenth threshold Y.sub.15, and if the maximum value in |Λ.sub.i.sup.j| is greater than the fifteenth threshold Y.sub.15, the data block generated by the convolution code decoder after the jth iteration is a codeword in the FEC code space; and if the minimum value in |Λ.sub.i.sup.j| is less than or equal to the fifteenth threshold Y.sub.15, the data block generated after the jth iteration is not a codeword in the FEC code space, where i is an integer and i ∈{0,1,2, . . . K-1}, j is an integer greater than or equal to 1.
[0154] Manner Four:
[0155] comparing the mean value
of the absolute value of the soft information of K bits output by the convolution code decoder after the jth iteration with a sixteenth threshold Y.sub.16, and if S.sup.j is greater than the sixteenth threshold Y.sub.16, the data block generated by the convolution code decoder after the jth iteration is a codeword in the FEC code space; and if S.sup.j is less than or equal to the sixteenth threshold Y.sub.16, the data block generated after the jth iteration is not a codeword in the FEC code space, where i is an integer and i ∈ {0,1,2, . . . K-1}, j is an integer greater than or equal to 1.
[0156] Manner Five:
[0157] comparing the sum
of the absolute value of the soft information of K bits output by the convolution code decoder after the jth iteration with the sum
of the absolute value of the soft information of K bits output by the LDPC code decoder after the j-1th iteration, and if S.sup.j is less than or equal to S.sup.j−1, the data block is a codeword in the FEC code space; and if S.sup.j is greater than S.sup.j−1, the data block is not a codeword in the FEC code space, where i is an integer and i ∈ {0,1,2, . . . K-1}, j is an integer greater than or equal to 2, and the thirteenth threshold Y.sub.13 to the sixteenth threshold Y.sub.16 are integers greater than or equal to zero.
[0158] In certain embodiments of the present disclosure, during the CRC encoding, it is also possible to perform a process of determining the length of the CRC according to the length L of the third data block. For the technical solution, in an example of the embodiment of the present disclosure, it be achieved by the following technical solution: dividing the range of values of the length L into T intervals in an ascending order: L.sub.1,L.sub.2, . . . L.sub.T.sup.CRC, where each interval corresponds to the CRCs of different lengths: L.sub.1.sup.CRC,L.sub.2.sup.CRC, . . . L.sub.T.sup.CRC, and L.sub.1.sup.CRC, L.sub.2.sup.CRC, . . . L.sub.T.sup.CRC, and T is a positive integer, and selecting the length of the CRC used for encoding the third data block according to the value interval to which the length L of the third data block belongs.
[0159] It should be noted that the transmission node includes at least one of: a base station, a relay node, and a terminal.
[0160] (1) When the transmission node is a terminal, a transmission signaling for indicating a data checking mode is transmitted to the transmission node, and the data checking mode includes at least one of: checking data according to the FEC code space and/or the CRC check result; and checking data according to the CRC check result.
[0161] (2) When the transmission node is a base station or a relay node, an indication signaling for configuring the data checking mode and transmitted by the transmission node is received, and the data checking mode includes at least one of: checking data according to the FEC code space and/or the CRC check result; checking data according to the CRC check result.
[0162] In the actual application process, it is possible to flexibly select between the data checking method provided by the embodiment of the present disclosure and the conventional process using only the CRC check. Specifically, the technical solution provided by the embodiment of the disclosure is used in one of the following cases: a data checking mode in which data is checked according to the FEC code space and/or the CRC check result: the length of the transmission block or code block in the first data block is less than the first preset threshold; or the number of repetitions of the transmission block or code block in the first data block is greater than the second preset threshold. The determination of the first preset threshold and the second preset threshold can be flexibly set as required.
[0163] It should be noted that the FEC code space In certain embodiments of the present disclosure includes a set of all the codewords generated using the FEC encoding manner, and the main body executing the above steps may be, but is not limited to, any network elements such as a terminal, a base station, and a relay having the function of receiving data.
[0164] In the present embodiment, the process referred to in the above Step S504 obtains the first estimation data block of the first data block according to the transmission signal, which may be implemented by the following process: obtaining the first estimation data block by demodulating the transmission signal; and obtains the second estimation data block of the second data block according to the transmission signal, which may be implemented by the following process: obtaining the second estimation data block by demodulating and FEC decoding the transmission signal.
[0165] In summary, the embodiments of the present disclosure propose a data checking method of using a combination of CRC and FEC codes. The method only requires the addition of a shorter CRC to the data block, and can judge according to the characteristics of the FEC decoder whether the codeword passing the CRC check is a codeword in the FEC code space, and if so, it is judged that the data is received correctly and the ACK is fed back to the transmitting end; if not, it is judged that the data is not received correctly, and the NACK is fed back to the transmitting end.
[0166] In the present embodiment, there is also provided a data checking device for realizing the above embodiments and exemplary embodiments. Those having been described will not be described in detail. As used herein, the term “module” may implement a combination of software and/or hardware of a predetermined function. Although the device described in the following embodiments are preferably implemented in software, the implementation of hardware, or a combination of software and hardware, is also possible and conceivable.
[0167]
[0168] a receiving module 60 configured to receive a transmission signal containing a first data block and transmitted by a transmission node, and the length of the first data block is N bits, the first data block is generated by a second data block, the length of which is K bits, after FEC encoding, and the second data block is generated by a third data block, the length of which is L bits, after CRC encoding, where N, K and L are all positive integers, and N≧K>L;
[0169] a determining module 62 connected to the receiving module 60 and configured to obtain a first estimation data block of the first data block according to the transmission signal, and obtain a second estimation data block of the second data block according to the transmission signal; and
[0170] a checking module 64 connected to the determining module 62 and configured to check the third data block according to a relationship between the first estimation data block and an FEC code space and/or a CRC check result of the second estimation data block.
[0171] Through the combination of the above modules, the technical solution of checking the received data block by comprehensively using the FEC code space and the CRC checks is realized, solving the problems that a transmission rate decreases due to the fact that a CRC check code is too long and a false detection rate cannot be ensured due to the fact that the CRC check code is too short, so as to reduce the length of the CRC in the case of meeting the requirement of the system error detection rate, thereby reducing the data redundancy rate and improving the transmission efficiency.
[0172] In the present embodiment, as shown in
[0173] a first judging unit 640 configured to judge that the third data block is received correctly when the first estimation data block is a codeword of the FEC code space and the CRC check of the second estimation data block is correct; and
[0174] a second judging unit 642 configured to judge that the third data block is not received correctly when the first estimation data block is not a codeword of the FEC code space and/or the CRC check of the second estimation data block fails.
[0175] In one example of the embodiment of the present disclosure, the checking module 64 is configured to check the third data block when the FEC code space includes the following: a set of all codewords generated using the FEC encoding manner.
[0176] In order to better understand the data checking process in the above embodiments, the following description will be made with reference to the exemplary embodiments:
Exemplary Embodiment One
[0177] The present embodiment proposes a data checking method, applied to a first transmission node. As shown in
[0178] At Step S802: The first transmission node receives a transmission signal containing a data block D (equivalent to the first data block of the above embodiment) and transmitted by the second transmission node, and the length of the data block D is N bits, the data block D is generated by a data block K (equivalent to the second data block of the above embodiment), the length of which is K bits, after Turbo encoding, and the data block K is generated by a data block L, the length of which is L bits, after CRC encoding, where N, K and L are all positive integers, and N≧K>L.
[0179] Herein the first transmission node is a terminal and the second transmission node is a base station or a relay; or the first transmission node is a base station or a relay, the second transmission node is a terminal.
[0180] Herein the Turbo code space is a set of codewords generated by traversing all data blocks of the same length and by the Turbo encoder.
[0181] For example, the data block having the length of F bits has 2F codewords in the code space generated after the FEC encoding.
[0182] In the present embodiment, the first transmission node receives the transmission signal containing the data block D and transmitted by the second transmission node, indicating that the method further includes: the transmission signal including the signal after being by modulated the data block D.
[0183] In the present embodiment, the data block D may be a code block or a transmission block including only one code block, or may be a transmission block including a plurality of code blocks.
[0184] Specifically, if the data block D is a code block or a transmission block including only one code block, the transmission signal is generated by the following manners, including Step S8020 to Step S8026 (not shown).
[0185] At Step S8020: A data block I is subjected to CRC encoding, and the CRC redundancy bit is added to generate a data block K, and if the data block K is a block, the added CRC redundancy bit is a redundant bit generated by the code block CRC generation polynomial; if the data block K is a transmission block, the added CRC redundancy bit is a redundant bit generated by the transmission block CRC generation polynomial.
[0186] Herein the method further includes: determining the length of the redundant bit of the code block CRC or the transmission block CRC according to the length L of the data block I.
[0187] In the present embodiment, the range of values of the length L is dividied into T intervals in an ascending order: L.sub.1,L.sub.2, L.sub.T, where each interval corresponds to the CRC redundant bits of different lengths, L.sub.1.sup.CRC,L.sub.2.sup.CRC, . . . L.sub.T.sup.CRC, and L.sub.1.sup.CRC, L.sub.2.sup.CRC, . . . L.sub.T.sup.CRC. The data block K is generated by CRC encoding the data block I with a corresponding length according to the value range to which L belongs.
[0188] At Step S8021: The data block K is subjected to the Turbo code encoding to generate a master codeword M, and the master codeword M is subjected to rate matching to generate the data block D, and the rate matching includes at least one of interleaving the master codeword M, and deleting or repeating the master codeword according to the transmission code rate.
[0189] At Step S8022: The data containing the data block D is modulated to generate the transmission signal, and the modulation includes at least one of: performing digital baseband modulation of the data containing the data block D to generate a modulation symbol; performing Multiple-Input Multiple-Output (MIMO) precoding on the modulation symbol; mapping the modulation symbol to a corresponding physical channel resource to generate a baseband signal; and converting the baseband signal into a radio frequency signal.
[0190] Herein the digital baseband modulation includes at least one of the following modulation modes: Binary Phase Shift Key (BPSK), Quadrature Phase Shift Keying (QPSK), 16 Quadrature Amplitude Modulation (QAM), 32QAM, 64QAM, 256QAM, 512QAM, and 1024QAM.
[0191] Specifically, if the data block D is a transmission block containing a plurality of code blocks, the transmission signal is generated in the following manner.
[0192] At Step S8023: The data block I is subjected to transmission block CRC encoding, the transmission block CRC redundancy bit is added, and the data block I is generated.
[0193] At Step S8024: The code block I is subjected to code block division to generate a plurality of code blocks, each of the code blocks is subjected to the code block CRC encoding, and the code block CRC redundancy bit is added; and the data block K contains the data block I and the added transmission block CRC and the code block CRC, as shown in
[0194] Herein the method further includes determining the length of the redundant bits of the transmission block CRC according to the length L of the data block I.
[0195] In the present embodiment, the range of values of the length L is dividied into T intervals in an ascending order: L.sub.1,L.sub.2, . . . L.sub.T where each interval corresponds to the CRC redundant bits of different lengths, L.sub.1.sup.CRC,L.sub.2.sup.CRC, . . . L.sub.T.sup.CRC, and L.sub.1.sup.CRC,L.sub.2.sup.CRC, . . . L.sub.T.sup.CRC. The data block K is generated by CRC encoding the data block I with a corresponding length according to the value range to which L belongs.
[0196] Herein the method further includes determining the length of the redundant bits of the code block CRC by the length L′ of each code block after the code block division is performed according to the data block I.
[0197] In the present embodiment, the range of values of the length L′ is dividied into T intervals in an ascending order: L′.sub.1,L′.sub.2, . . . L′.sub.T, where each interval corresponds to the CRC redundant bits of different lengths, L′.sub.1.sup.CRC, L′.sub.2.sup.CRC, . . . L′.sub.T.sup.CRC, and L′.sub.1.sup.CRC,L′.sub.2.sup.CRC, . . . L′.sub.T.sup.CRC. The data block is subjected to CRC encoding with a corresponding length according to the value range to which L′ belongs.
[0198] At Step S8025: The data block K is subjected to the Turbo code encoding, and a plurality of code blocks (including a code block CRC and a transmission block CRC) in the data block K are respectively encoded to generate a master codeword of each code bloc. The master codeword is subjected to rate matching and code block concatenation to generate the data block K, and the rate matching includes at least one of: interleaving the master codeword; deleting or repeating the master codeword according to the transmission rate or the available physical channel resources and the modulation mode;
[0199] At Step S8026: The data containing the data block D is modulated to generate the transmission signal, and the modulation includes at least one of: performing digital baseband modulation of the data containing the data block D to generate a modulation symbol; performing MIMO precoding on the modulation symbol; mapping the modulation symbol to a corresponding physical channel resource and generating a time domain baseband signal; and converting the time domain baseband signal into a radio frequency signal.
[0200] Herein the digital baseband modulation includes at least one of the following modulation modes: BPSK, QPSK, 16QAM, 32QAM, 64QAM, 256QAM, 512QAM, and 1024QAM.
[0201] At Step S804: The first transmission node generates estimation (equivalent to the first estimation matrix of the above embodiment, and the estimation matrix of the data block represents the estimation
in
(equivalent to the second estimation matrix of the above embodiment, and the estimation matrix of the data block K represents the estimation
in
[0202] Herein the first transmission node demodulates the received transmission signal to generate estimation of the data block D; and the demodulation includes at least one of converting the radio frequency signal into a time domain baseband signal; extracting a modulation symbol from the time domain baseband signal; performing a demodulation MIMO on the modulation symbol; and performing digital baseband demodulation on the modulation symbol.
[0203] If the data block D is a block or a transmission block including only one code block, the first transmission node demodulates the received transmission signal and the Turbo decoder generates estimation of the data block D.
[0204] In the present embodiment, if the data block D is a transmission block including a plurality of code blocks, the first transmission node demodulates the received transmission signal and performs Turbo decoding on each code block after performing code block division on the demodulated soft bits, respectively, to generate estimation of the data block K.
[0205] At Step S806: If the is a codeword in the Turbo code space, and the CRC check of the
is correct, the first transmission node judges that the information block I is received correctly; if the
is not a codeword in the Turbo code space, or the CRC check of the
is wrong, the first transmission node judges that that the information block I is not received correctly.
[0206] Herein if the data block D is a code block or a transmission block including only one code block, the is a codeword in the code space, indicating that: the code block or the transmission block is a codeword in the Turbo code space.
[0207] Herein if the D is a transmission block including a plurality of code blocks, the is a codeword in the code space, indicating that: all of the code blocks in the
are codewords in the Turbo code space.
[0208] In certain embodiment, it is determined that the data block (a code block or transmission block) in the is a codeword in the code space by at least one of the following manners or any combination thereof.
[0209] Manner One:
[0210] comparing side information Λ.sub.i.sup.e.sup.
[0211] comparing side information Λ.sub.i.sup.e.sup.
[0212] interleaving the bit sequence E.sub.1 using an inner interleaver pattern of the Turbo code, generating an interleaved bit sequence E.sub.1.sup.int, and comparing the size relationship between E.sub.1.sup.int and E.sub.2, and if the E.sub.1.sup.int=E.sub.2, the data block generated by being decoded by the Turbo code after j iterations is a codeword in the FEC code space; if E.sub.1.sup.int≠E.sub.2, the data block generated after j iterations is not a codeword in the FEC code space, where int represents that the E.sub.1.sup.int is the interleaved information or bit sequence; or
[0213] deinterleaving the E.sub.2 using an inner interleaver of the Turbo code, generating an deinterleaved bit sequence E.sub.2.sup.dei, and comparing E.sub.1 and E.sub.2.sup.dei, and if the E.sub.2.sup.dei=E.sub.1, the data block generated by being encoded by the Turbo code after j iterations is a codeword in the FEC code space; if E.sub.2.sup.dei≠E.sub.1, the data block generated after j iterations is not a codeword in the FEC code space, where die represents that the E.sub.2.sup.dei is the deinterleaved information or bit sequence.
[0214] Manner Two:
[0215] comparing the symbol sign(Λ.sub.i.sup.j of soft information of K bits output by the Turbo code decoder after the jth iteration with the soft information sign(Λ.sub.i.sup.j−1) output by a decoder after the j-1th iteration, and if sign(Λ.sub.i.sup.j) and sign(Λ.sub.i.sup.j−1) of each bit are the same, the data block generated by the Turbo code decoder after the jth iteration is a codeword in the FEC code space; and if sign(Λ.sub.i.sup.j) and sign(Λ.sub.i.sup.j−1) of at least one bit are different, the data block generated by the Turbo code decoder after the jth iteration is not a codeword in the FEC code space, where i is an integer and i ∈ {0,1,2, . . . K-1}, j is an integer greater than or equal to 2.
[0216] Manner Three:
[0217] comparing the symbol sign(Λ.sub.i.sup.j) of soft information of K bits output by the Turbo code decoder after the jth iteration with the soft information sign(Λ.sub.i.sup.j−1) output by a decoder after the j-1th iteration, and if the number of bits in which sign(Λ.sub.i.sup.j) and sign(Λ.sub.i.sup.j−1) are the same is less than or equal to a second threshold Y.sub.2, the data block generated after the jth iteration is not a codeword in the FEC code space, where i is an integer and i ∈ {0,1,2, . . . K-1}, j is an integer greater than or equal to 2; or
[0218] if the number of bits in which sign(Λ.sub.i.sup.j) and sign(Λ.sub.i.sup.j−1) are different is less than or equal to a third threshold Y.sub.3, the data block generated by the Turbo code decoder after the jth iteration is a codeword in the FEC code space; and if the number of bits in which sign(Λ.sub.i.sup.j) and sign(Λ.sub.i.sup.j−1) are different is greater than the third threshold Y.sub.3, the data block generated after the jth iteration is not a codeword in the FEC code space.
[0219] Manner Four:
[0220] comparing the symbol sign(Λ.sub.i.sup.a.sup.
[0221] if the number of bits in which sign(Λ.sub.i.sup.a.sup.
[0222] Manner Five:
[0223] comparing the absolute value |Λ.sub.i.sup.j| of the soft information of K bits output by the Turbo code decoder after the jth iteration with a sixth threshold Y.sub.6, and if the maximum value in |Λ.sub.i.sup.j| is greater than the sixth threshold Y.sub.6, the data block generated by the Turbo code decoder after the jth iteration is a codeword in the FEC code space; and if the minimum value in |Λ.sub.i.sup.j| is less than or equal to the sixth threshold Y.sub.6, the data block generated by the Turbo code decoder after the jth iteration is not a codeword in the FEC code space, where i is an integer and i ∈ {0,1,2, . . . K-1}, j is an integer greater than or equal to 1.
[0224] Manner Six:
[0225] comparing the mean value
or the absolute value of the soft information of K bits output by the Turbo code decoder after the jth iteration with a seventh threshold Y.sub.7, and if S.sup.j is greater than the seventh threshold Y.sub.7, the data block generated by the Turbo code decoder after the jth iteration is a codeword in the FEC code space; and if S.sup.j is less than or equal to the seventh threshold Y.sub.7, the data block generated by the Turbo code decoder after the jth iteration is not a codeword in the FEC code space, where i is an integer and i ∈ {0,1,2, . . . K-1}, j is an integer greater than or equal to 1.
[0226] Manner Seven:
[0227] comparing the sum
of the absolute value of the soft information of K bits output by the Turbo code decoder after the jth iteration with the sum
of the absolute value of the soft information of K bits output by the Turbo code decoder after the j-1th iteration, and if S.sup.j is less than or equal to S.sub.j−1, the data block generated by the Turbo code decoder after the jth iteration is a codeword in the FEC code space; and if S.sup.j is greater than S.sup.j−1, the data block generated by the Turbo code decoder after the jth iteration is not a codeword in the FEC code space, where i is an integer and i ∈ {0,1,2, . . . K-1}, j is an integer greater than or equal to 2, and the first threshold Y.sub.1 to the seventh threshold Y.sub.7 are integers greater than or equal to zero, and the first threshold Y.sub.1 to the seventh threshold Y.sub.7 may be equal or partially equal, or may be completely unequal.
[0228] Herein the CRC check of is correct or wrong, indicating that the method includes that:
[0229] if the data block D is a code block or a transmission block containing only one code block, the is subjected to the code block CRC or the transmission block CRC check, and if the code block CRC or the transmission block CRC check is passed, the CRC check of the
is correct, otherwise, the CRC check of the
is wrong; and
[0230] if the data block D is a transmission block including a plurality of code blocks, if the following conditions are satisfied at the same time, the CRC check of the is correct, otherwise, the CRC check of the
is wrong.
[0231] Condition 1: In the , the code block CRC checks of all the code blocks are passed.
[0232] Condition 2: In the , after the CRC of each code block is removed, the estimation
of the data block I′ is obtained, and the transmission block CRC check of
is passed.
[0233] In the present embodiment, the method further includes the following steps.
[0234] At Step S808: If the first transmission node judges that the information block I is received correctly, an ACK message is transmitted to the second transmission node; and if the first transmission node judges that the information block I is not received correctly, NACK information is transmitted to the second transmission node.
[0235] In certain embodiments, the method further includes the following steps.
[0236] At Step S808-1: When the first transmission node is a terminal and the second transmission node is a base station (or relay); or when the first transmission node is a base station (or relay) and the second transmission node is a terminal, the method further includes that:
[0237] the terminal receives an indication signaling for configuring the data checking mode and transmitted by the base station (or relay), and the data checking mode includes at least one of: the data checking method as described in Step 103, or the data checking method based on CRC.
[0238] In certain embodiments, the method further includes:
[0239] At Step S808-2: When the first transmission node is a terminal and the second transmission node is a base station (or relay); or when the first transmission node is a base station (or relay) and the second transmission node is a terminal, the method further includes that:
[0240] the terminal receives an indication signaling for configuring the data checking mode and transmitted by the base station (or relay), and the data checking mode includes at least one of: the data checking method as described in Step 103, or the data checking method based on CRC.
[0241] In certain embodiments, the method further includes the following steps.
[0242] At Step S808-3: If the length of the transmission block or code block in the data block D is smaller than the preset threshold value Z1 (bit) or the number of repetitions of the transmission block or code block in the data block D is greater than the preset threshold value Z2, the first transmission node performs data checking using the data checking method described in Step S806, otherwise, the first transmission node uses the manner of CRC to perform data checking.
EXAMPLE 1
[0243] In the MTC application, the base station receives the transmission signal containing the data block D and transmitted by the terminal, the length of the data block D is 1536 bits, and the data block D includes only one code block. The data block D is generated by the data block K of 768 bit after Turbo encoding, and the Turbo encoder first encodes the master codeword having a length of 2316 bits, and then, performs rate matching operation on the master codeword such as deleting according to the transmission code rate of ½ to obtain the data block D having a length of 1536 bits,
[0244] Herein the data block K is obtained by a transmission block I with a length of 760 bits after a transmission block CRC encoding of 8 bits.
[0245] Herein the transmission signal received by the base station is a signal transmitted by the terminal after the data block D has been modulated.
[0246] The base station demodulates the received transmission signal to obtain the estimation of the data block D, inputs the
to the Turbo code decoder, and determines the
is a codeword in the code space in the following manner:
[0247] comparing side information Λ.sub.i.sup.e.sup.
[0248] comparing side information Λ.sub.i.sup.e.sup.
[0249] interleaving the bit sequence E.sub.1 using an inner interleaver pattern of the Turbo code, generating an interleaved bit sequence E.sub.1.sup.int, and comparing the size relationship between E.sub.1.sup.int and E.sub.2, and if the E.sub.1.sup.int=E.sub.2, the data block generated by being decoded by the Turbo code after j iterations is a codeword in the FEC code space; if E.sub.1.sup.int≠E.sub.2, the data block generated after j iterations is not a codeword in the FEC code space, where int represents that the E.sub.1.sup.int is the interleaved information or bit sequence; or
[0250] deinterleaving the E.sub.2 using an inner interleaver of the Turbo code, generating an deinterleaved bit sequence E.sub.2.sup.dei, and comparing E.sub.1 and E.sub.2.sup.dei=E.sub.1, and if the E.sub.2.sup.de.sup.1 =E.sub.1, the data block generated by being encoded by the Turbo code after j iterations is a codeword in the FEC code space; if E.sub.2.sup.dei≠E.sub.1, the data block generated after j iterations is not a codeword in the FEC code space, where die represents that the E.sub.2.sup.dei is the deinterleaved information or bit sequence.
[0251] If the is not a codeword in the code space, the base station judges that the transmission block I is not received correctly.
[0252] If the is a codeword in the code space, the estimation
of the data block K obtained by the Turbo code after j iterations is subjected to the transmission block CRC checking of 8 bits; if the check is passed, the base station judges that the transmission block I is received correctly; otherwise, the base station judges that the transmission block I is not received correctly.
[0253] In the present embodiment, if the base station judges that the transmission block I is received correctly, the base station feeds back the ACK to the terminal; if the base station judges that the transmission block I is not received correctly, the base station feeds back the NACK to the terminal.
EXAMPLE 2
[0254] The difference between Example 2 and Example 1 is that the terminal receives the transmission signal containing the data block D and transmitted by the base station and if the terminal also receives the indication signaling transmitted by the base station, the indication signaling is used to configure the data checking mode of the data block D. If the signaling indicates a data checking method of combining CRC and FEC is used, the terminal uses the same data checking method as Example 1; otherwise, the terminal still uses the conventional CRC data checking method.
EXAMPLE 3
[0255] The difference between Example 3 and Example 1 is that the base station determines the data checking method according to the size of the transmission block transmitted by the terminal or the number of repetitions of the transmission block. Specifically, when the length of the transmission block is smaller than a preset threshold value Z1 or the number of repetitions of the transmission block or code block is greater than the preset threshold value Z2, the base station uses the same data checking method as Example 1; otherwise, the base station still employs a conventional CRC data checking method.
EXAMPLE 4
[0256] The difference between Example 4 and Example 1 is that the base station also transmits an indication signaling to the terminal about the data checking mode, and the checking mode at least includes indicating that the data checking method is a data checking method in Example or a conventional CRC data checking method.
[0257] The exemplary embodiment of the present disclosure achieves the following technical effects: in the LTE system, transmissions block I, which normally has a length of 760 bits, and needs to add a 24-bit CRC. As can be seen in Example 1, the transmission block I only add an 8-bit CRC, but by means of the code space detecting method, it is possible to overcome the case that the false detection rate is increased due to the shorter CRC. Therefore, according to the method of the present disclosure, it is possible to reduce the CRC length of the data block and improve the transmission efficiency.
Exemplary Embodiment Two
[0258] The difference between the exemplary embodiment two and the exemplary embodiment one is that, in the exemplary embodiment two, the FEC is an LDPC code.
[0259] Step S805: It is determined that the data block (a code block or transmission block) in is a codeword in the code space by at least one of the following manners one to seven or any combination thereof.
[0260] Manner One:
[0261] comparing soft information Λ.sub.i.sup.j of N codeword bits output by an LDPC code decoder after the jth iteration with the eighth threshold Y.sub.8, and if Λ.sub.i.sup.j≧Y.sub.8, the bit i is judged to be “1”, if Λ.sub.i.sup.j<Y.sub.8, the bit i is judged to be 0, and generating the estimation of the data block according to the judging result, where i is an integer and i ∈ {0,1,2, . . . N-1}, j is an integer greater than or equal to 1;
[0262] if ×H.sup.T=0, E generated by the LDPC code decoder after the jth iteration is a codeword in the FEC code space; and if
×H.sup.T≠0, the
is not a codeword in the FEC code space, where H is a check matrix of the LDPC code.
[0263] Manner Two:
[0264] comparing soft information Λ.sub.i.sup.j of N codeword bits output by an LDPC code decoder after the jth iteration with the eighth threshold Y.sub.8, and if Λ.sub.i.sup.j≧Y.sub.8, the bit i is judged to be “1”, if Λ.sub.i.sup.j<Y.sub.8, the bit i is judged to be 0, generating the estimation of the first data block according to the judging result, and generating the estimation
of the bit sequence by taking the first K bits for the estimation
, where i is an integer and i ∈ {0,1,2, . . . N-1}, j is an integer greater than or equal to 1;
[0265] generating the data block C by performing LDPC encoding on the , and if
=C, the
is a codeword in the FEC code space; and if
≠C, the
is not a codeword in the FEC code space.
[0266] Manner Three:
[0267] comparing the symbol sign(Λ.sub.i.sup.j) of soft information of N codeword bits output by a LDPC code decoder after the jth iteration with the soft information sign(Λ.sub.i.sup.j−1) output by a decoder after the j-1th iteration, and if sign(Λ.sub.i.sup.j) and sign(Λ.sub.i.sup.j−1) of each bit are the same, the data block generated by the LDPC code decoder after the jth iteration is a codeword in the FEC code space; and if sign(Λ.sub.i.sup.j) and sign(Λ.sub.i.sup.j−1) of at least one bit are different, the data block generated after the jth iteration is not a codeword in the FEC code space, where i is an integer and i ∈ {0,1,2, . . . N-1}, j is an integer greater than or equal to 2.
[0268] Manner Four:
[0269] comparing the symbol sign(Λ.sub.i.sup.j) of soft information of N codeword bits output by a LDPC code decoder after the jth iteration with the soft information sign(Λ.sub.i.sup.j−1) output by a decoder after the j-1th iteration, and if the number of bits in which sign(Λ.sub.i.sup.j) and sign(Λ.sub.i.sup.j−1) are the same is greater than or equal to a ninth threshold Y.sub.9, the data block generated by the LDPC code decoder after the jth iteration is a codeword in the FEC code space; if the number of bits in which sign(Λ.sub.i.sup.j) and sign(Λ.sub.i.sup.j−1) are different is less than or equal to the ninth threshold Y.sub.9, the data block generated after the jth iteration is not a codeword in the FEC code space, where i is an integer and i ∈ {0,1,2, . . . N-1}, j is an integer greater than or equal to 2; or
[0270] if the number of bits in which sign(Λ.sub.i.sup.j) and sign(Λ.sub.i.sup.j−1) are different is less than or equal to a tenth threshold Y.sub.10, the data block generated by the LDPC code decoder after the jth iteration is a codeword in the FEC code space; and if the number of bits in which sign(Λ.sub.i.sup.j) and sign(Λ.sub.i.sup.j−1) are different is greater than the tenth threshold Y.sub.10, the data block generated after the jth iteration is not a codeword in the FEC code space.
[0271] Manner Five:
[0272] comparing the absolute value of the soft information of N codeword bits output by the LDPC code decoder after the jth iteration with an eleventh threshold Y.sub.11, and if the minimum value in |Λ.sub.i.sup.j| is greater than the eleventh threshold Y.sub.11, the data block generated by the LDPC code decoder after the jth iteration is a codeword in the FEC code space; and if the minimum value in |Λ.sub.i.sup.j| is less than or equal to the eleventh threshold Y.sub.11, the data block generated by the LDPC code decoder after the jth iteration is not a codeword in the FEC code space, where i is an integer and i ∈ {0,1,2, . . . N-1}, j is an integer greater than or equal to 1.
[0273] Manner Six:
[0274] comparing the mean value
of the absolute value of the soft information of N codeword bits output by the LDPC code decoder after the jth iteration with a twelfth threshold Y.sub.12, and if S.sup.j is greater than the twelfth threshold Y.sub.12, the data block generated by the LDPC code decoder after the jth iteration is a codeword in the FEC code space; and if S.sup.j is less than or equal to the twelfth threshold Y.sub.12, the data block generated by the LDPC code decoder after the jth iteration is not a codeword in the FEC code space, where i is an integer and i ∈ {0,1,2, . . . N-1}, j is an integer greater than or equal to 1.
[0275] Manner Seven:
[0276] comparing the sum
of the absolute value of the soft information of N codeword bits output by the LDPC code decoder after the jth iteration with the sum
of the absolute value of the soft information of N codeword bits output by the LDPC code decoder after the j-1th iteration, and if S.sup.j is less than or equal to S.sup.j−1, the data block generated by the LDPC code decoder after the jth iteration is a codeword in the FEC code space; and if S.sup.j is greater than S.sup.j−1, the data block generated by the LDPC code decoder after the jth iteration is not a codeword in the FEC code space, where i is an integer and i ∈ {0,1,2, . . . N-1}, j is an integer greater than or equal to 2, and the eighth threshold Y.sub.8 to the twelfth threshold Y.sub.12 are integers greater than or equal to zero, and the eighth threshold Y.sub.8 to the twelfth threshold Y.sub.12 may be equal or partially equal, or may be completely unequal.
EXAMPLE 5
[0277] In the wireless broadband application IEEE 802.11 system, the terminal receives the transmission signal containing the data block D and transmitted by the base station, the length of the data block D is 6720 bits, and the data block D includes 10 code blocks. The data block D is generated by the 5040-bit data block K after LDPC encoding, and the information bit sequence length of each code block in the data block K is 504 bits, and an LDPC encoder with a ¾ rate is used to generate a codeword bit sequence of each code block of 672 bits. 10 code blocks are cascaded to obtain the data block D with a length of 6720 bits.
[0278] Herein the data block K is obtained by a transmission block I with a length of 4952 bits after the 8-bit transmission block CRC and the code block CRC encoding; it is described specifically as follows.
[0279] The 8-bit transmission block CRC is first added to the transmission block Ito generate a data block I′ with a length of 4960 bits; the code block I′ is subjected to code block division to obtain 10 code blocks, each of which has a length of 496 bits, the length of each code block is 504 bits after each code block is added with an 8-bit code block CRC; the 10 code blocks are concatenated to obtain the data block K.
[0280] Herein the transmission signal received by the base station is a signal transmitted by the terminal after the data block D has been modulated.
[0281] The base station demodulates the received transmission signal to obtain the estimation of the data block D, performs code block division on the
to obtain 10 code blocks, inputs the 10 code blocks to the LDPC code decoder, respectively, and determines that a data block (a code block) in the
is a codeword in the code space in the following manner:
[0282] comparing soft information Λ.sub.i.sup.j of N codeword bits output by an LDPC code decoder after the jth iteration with the eighth threshold Y.sub.8, and if Λ.sub.i.sup.j≧Y.sub.8, the bit i is judged to be “1”, if Λ.sub.i.sup.j<Y.sub.8, the bit i is judged to be 0, and generating the estimation of the data block according to the judging result, where i is an integer and i ∈ {0,1,2, . . . N-1}, j is an integer greater than or equal to 1;
[0283] if ×H.sup.T=0,
generated by the LDPC code decoder after the jth iteration is a codeword in the FEC code space; and if
×H.sup.T≠0, the
is not a codeword in the FEC code space, where H is a check matrix of the LDPC code.
[0284] In the present example, the data block D is a transmission block including a plurality of code blocks. If all the code blocks are codewords in the code space, the data block is a codeword in the code space, otherwise, the data block
is not a codeword in the code space.
[0285] In the present example, the data block D is a transmission block including a plurality of code blocks. If the following conditions are satisfied at the same time, the CRC check of is correct, otherwise, the CRC check of the
is wrong.
[0286] Condition 1: In the , the code block CRC checks of all the code blocks are passed.
[0287] Condition 2: In the , after the CRC of each code block is removed, the estimation
of the data block I′ is obtained, and the transmission block CRC check of the
is passed.
[0288] If the is not a codeword in the code space, the base station judges that the transmission block I is not received correctly.
[0289] If the is a codeword in the code space, and the CRC check of the
is correct, the base station judges that the transmission block I is received correctly, otherwise, the base station judges that the transmission block I is not received correctly.
[0290] In the present embodiment, if the base station judges that the transmission block I is received correctly, the base station feeds back the ACK to the terminal; if the base station judges that the transmission block I is not received correctly, the base station feeds back the NACK to the terminal.
[0291] The exemplary embodiment of the present disclosure achieves the following technical effects. In the IEEE 802.11, the code block generally does not have a CRC, and if the data is not received correctly, the entire transmission block needs to be retransmitted. In order to improve the retransmission efficiency, it is possible to add a CRC to the code block, and retransmission can only be done for the wrong code block. However, if the CRC length is too long, it will bring more redundancy and reduce the transmission efficiency. If the CRC is too short, it will make the error detection performance not credible. By using the method of the present disclosure, CRC of only 8 bits is added for each code block so as to reach the detection target of the code block level, and the proportion of the increased CRC redundancy does not exceed 2%.
Exemplary Embodiment Three
[0292] The difference between the exemplary embodiment three and the exemplary embodiment one is that, in the exemplary embodiment three, the FEC is a convolution code.
[0293] Step S805: It is determined that the data block (a code block or transmission block) in the is a codeword in the code space by at least one of the following manners one to seven or any combination thereof.
[0294] Manner One:
[0295] comparing the symbol sign(Λ.sub.i.sup.j) of soft information of K bits output by the convolution code decoder after the jth iteration with the soft information sign(Λ.sub.i.sup.j−1) output by a decoder after the j-1th iteration, and if sign(Λ.sub.i.sup.j) and sign(Λ.sub.i.sup.j−1) of each bit are the same, the data block generated by the convolution code decoder after the jth iteration is a codeword in the FEC code space; and if sign(Λ.sub.i.sup.j) and sign(Λ.sub.i.sup.j−1) of at least one bit are different, the data block generated after the jth iteration is not a codeword in the FEC code space, where i is an integer and i ∈ {0,1,2, . . . K-1}, j is an integer greater than or equal to 2.
[0296] Manner Two:
[0297] comparing the symbol sign(Λ.sub.i.sup.j) of soft information of K bits output by the convolution code decoder after the jth iteration with the soft information sign(Λ.sub.i.sup.j−1) output by a decoder after the j-1th iteration, and if the number of bits in which sign(Λ.sub.i.sup.j) and sign(Λ.sub.i.sup.j−1) are the same is greater than or equal to a thirteenth threshold Y.sub.13, the data block generated after the jth iteration is a codeword in the FEC code space; and if the number of bits in which sign(Λ.sub.i.sup.j) and sign(Λ.sub.i.sup.j−1) are the same is less than or equal to the thirteenth threshold Y.sub.13, the data block generated after the jth iteration is not a codeword in the FEC code space, where i is an integer and i ∈ {0,1,2, . . . K-1}, j is an integer greater than or equal to 2; or
[0298] if the number of bits in which sign(Λ.sub.i.sup.j) and sign(Λ.sub.i.sup.j−1) are different is greater than or equal to a fourteenth threshold Y.sub.14, the data block generated by the convolution code decoder after the jth iteration is a codeword in the FEC code space; and if the number of bits in which sign(Λ.sub.i.sup.j) and sign(Λ.sub.i.sup.j−1) are different is greater than the fourteenth threshold Y.sub.14, the data block generated after the jth iteration is not a codeword in the FEC code space.
[0299] Manner Three:
[0300] comparing the absolute value |Λ.sub.i.sup.j| of the soft information of K bits output by the convolution code decoder after the jth iteration with a fifteenth threshold Y.sub.15, and if the maximum value in |Λ.sub.i.sup.j| is greater than the fifteenth threshold Y.sub.15, the data block generated by the convolution code decoder after the jth iteration is a codeword in the FEC code space; and if the minimum value in |Λ.sub.i.sup.j| is less than or equal to the fifteenth threshold Y.sub.15, the data block generated after the jth iteration is not a codeword in the FEC code space, where i is an integer and i ∈ {0,1,2, . . . K-1}, j is an integer greater than or equal to 1.
[0301] Manner Four:
[0302] comparing the mean value
of the absolute value of the soft information of K bits output by the convolution code decoder after the jth iteration with a sixteenth threshold Y.sub.16and if S.sup.j is greater than the sixteenth threshold Y.sub.16, the data block generated by the convolution code decoder after the jth iteration is a codeword in the FEC code space; and if S.sup.j is less than or equal to the sixteenth threshold Y.sub.16, the data block generated after the jth iteration is not a codeword in the FEC code space, where i is an integer and i ∈ {0,1,2, . . . K-1}, j is an integer greater than or equal to 1.
[0303] Manner Five:
[0304] comparing the sum
of the absolute value of the soft information of K bits output by the convolution code decoder after the jth iteration with the sum
of the absolute value of the soft information of K bits output by the LDPC code decoder after the j-1th iteration, and if S.sup.j is less than or equal to S.sup.j−1, the data block is a codeword in the FEC code space; and if S.sup.j is greater than S.sup.j−1, the data block is not a codeword in the FEC code space, where i is an integer and i ∈ {0,1,2, . . . K-1}, j is an integer greater than or equal to 2, and the thirteenth threshold Y.sub.13 to the sixteenth threshold Y.sub.16 are integers greater than or equal to zero.
EXAMPLE 6
[0305] In the wireless broadband application IEEE 802.11 system, the terminal receives the transmission signal containing the data block D and transmitted by the base station, the length of the data block D is 6720 bits, and the data block D includes 10 code blocks. The data block D is generated by the 5040-bit data block K after convolution code encoding, and the information bit sequence length of each code block in the data block K is 504 bits, and a convolution encoder with a ¾ rate is used to generate a codeword bit sequence of each code block of 672 bits. 10 code blocks are cascaded to obtain the data block D with a length of 6720 bits.
[0306] Herein the data block K is obtained by a transmission block I with a length of 4952 bits after the 8-bit transmission block CRC and the code block CRC encoding; it is described specifically as follows.
[0307] The 8-bit transmission block CRC is first added to the transmission block Ito generate a data block I′ with a length of 496 bits; the code block I′ is subjected to code block division to obtain 10 code blocks, each of which has a length of 496 bits, the length of each code block is 504 bits after each code block is added with an 8-bit code block CRC; the 10 code blocks are concatenated to obtain the data block K.
[0308] Herein the transmission signal received by the base station is a signal transmitted by the terminal after the data block D has been modulated.
[0309] The base station demodulates the received transmission signal to obtain the estimation {dot over (D)} of the data block D, performs code block division on the to obtain 10 code blocks, inputs the 10 code blocks to a SOVA decoder of the convolution code, respectively, and determines that a data block (a code block) in the
is a codeword in the code space in the following manner:
[0310] comparing the symbol sign(Λ.sub.i.sup.j) of soft information of K bits output by the convolution code decoder after the jth iteration with the soft information sign(Λ.sub.i.sup.j−1) output by a decoder after the j-1th iteration, and if sign(Λ.sub.i.sup.j) and sign(Λ.sub.i.sup.j−1) of each bit are the same, the data block generated by the convolution code decoder after the jth iteration is a codeword in the FEC code space; and if sign(Λ.sub.i.sup.j) and sign(Λ.sub.i.sup.j−1) of at least one bit are different, the data block generated after the jth iteration is not a codeword in the FEC code space, where i is an integer and i ∈ {0,1,2, . . . K-1}, j is an integer greater than or equal to 2.
[0311] In the present example, the data block D is a transmission block including a plurality of code blocks. If all the code blocks are codewords in the code space, the data block is a codeword in the code space, otherwise, the data block
is not a codeword in the code space.
[0312] In the present example, the data block D is a transmission block including a plurality of code blocks. If the following conditions are satisfied at the same time, the CRC check of correct, otherwise, the CRC check of the
is wrong.
[0313] Condition 1: In the , the code block CRC checks of all the code blocks are passed.
[0314] Condition 2: In the , after the CRC of each code block is removed, the estimation
of the data block I′ is obtained, and the transmission block CRC check of
is passed.
[0315] If the is not a codeword in the code space, the base station judges that the transmission block I is not received correctly.
[0316] If the is a codeword in the code space, and the CRC check of the
is correct, the base station judges that the transmission block I is received correctly, otherwise, the base station judges that the transmission block I is not received correctly.
[0317] In the present embodiment, if the base station judges that the transmission block I is received correctly, the base station feeds back the ACK to the terminal; if the base station judges that the transmission block I is not received correctly, the base station feeds back the NACK to the terminal.
[0318] The exemplary embodiment of the present disclosure achieves the following technical effects. In the IEEE 802.11, the code block generally does not have a CRC, and if the data is not received correctly, the entire transmission block needs to be retransmitted. In order to improve the retransmission efficiency, it is possible to add a CRC to the code block, and retransmission can only be done for the wrong code block. However, if the CRC length is too long, it will bring more redundancy and reduce the transmission efficiency. If the CRC is too short, it will make the error detection performance not credible. By using the method of the present disclosure, CRC of only 8 bits is added for each code block so as to reach the detection target of the code block level, and the proportion of the increased CRC redundancy does not exceed 2%.
[0319] The units described as a separating component may or may not be physically separate, and the components shown as units may or may not be physical units, i.e., may be located in one place or may be distributed over a plurality of network units. A part or all of the units may be selected according to the actual needs to achieve the object of the solution of the present embodiment.
[0320] Alternatively, all or a part of the steps of the embodiments described above may also be implemented using an integrated circuit. These steps may be separately made into one integrated circuit module or a plurality of modules or steps therein may be made into a single integrated circuit module for implementing. Thus, the present disclosure is not limited to any particular combination of hardware and software.
[0321] In another embodiment, there is also provided a software for performing the technical solutions described in the above embodiments and exemplary embodiments.
[0322] In another embodiment, there is also provided a storage medium in which the above software is stored, including but not limited to optical disks, floppy disks, hard disks, erasable memories, and so on.
[0323] It is to be understood that the terms “first”, “second” and so on in the specification and claims of the present disclosure and in the accompanying drawings are for distinguishing similar objects and are not necessarily used to describe a particular order or sequence. It is to be understood that the objects so used are interchangeable where appropriate so that the embodiments of the present disclosure described herein can be carried out in an order other than those illustrated or described herein. In addition, the terms “including” and “having” and any variations thereof are intended to cover a non-exclusive inclusion, for example, a process, method, system, product or device that includes a series of steps or units are not necessarily limited to these steps or units that are clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products, or devices.
[0324] The embodiment of the present disclosure has the following technical effect: the problems that a transmission rate decreases due to the fact that a CRC check code is too long and a false detection rate cannot be ensured due to the fact that the CRC check code is too short are solved, so as to reduce the length of the CRC in the case of meeting the requirement of the system error detection rate, thereby reducing the data redundancy rate and improving the transmission efficiency.
[0325] Obviously, those skilled in the art should know that each module or step of the embodiment of the present disclosure may be implemented by a universal computing device, and the modules or steps may be concentrated on a single computing device or distributed on a network formed by a plurality of computing devices, and may optionally be implemented by programmable codes executable for the computing devices, so that the modules or steps may be stored in a storage device for execution with the computing devices, and, in some cases, the steps shown or described may be performed in a order different from the order herein, or the modules or steps may form each integrated circuit module, or multiple modules or steps therein may form a single integrated circuit module for implementation. As a consequence, the present disclosure is not limited to any specific hardware and software combination.
[0326] The above is only the exemplary embodiment of the present disclosure and not intended to limit the present disclosure, and for the technician of the field, the present disclosure may have various modifications and variations. Any modifications, equivalent replacements, improvements and the like shall fall within the scope of protection as defined in the present disclosure.
INDUSTRIAL APPLICABILITY
[0327] According to the technical solution provided by the embodiment of the present disclosure, the technical solution of checking the received data block by comprehensively using the FEC code space and the CRC check solves the problems that a transmission rate decreases due to the fact that a CRC check code is too long and a false detection rate cannot be ensured due to the fact that the CRC check code is too short, so as to reduce the length of the CRC in the case of meeting the requirement of the system error detection rate, thereby reducing the data redundancy rate and improving the transmission efficiency.