CN111224741B - BCH code decoding method and decoder for satellite navigation and satellite navigation receiver - Google Patents

BCH code decoding method and decoder for satellite navigation and satellite navigation receiver Download PDF

Info

Publication number
CN111224741B
CN111224741B CN201811405200.XA CN201811405200A CN111224741B CN 111224741 B CN111224741 B CN 111224741B CN 201811405200 A CN201811405200 A CN 201811405200A CN 111224741 B CN111224741 B CN 111224741B
Authority
CN
China
Prior art keywords
vector
hard decision
bit
decoding
value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201811405200.XA
Other languages
Chinese (zh)
Other versions
CN111224741A (en
Inventor
刘海洋
王云
巴晓辉
原青
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Institute of Microelectronics of CAS
Original Assignee
Institute of Microelectronics of CAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Institute of Microelectronics of CAS filed Critical Institute of Microelectronics of CAS
Priority to CN201811405200.XA priority Critical patent/CN111224741B/en
Publication of CN111224741A publication Critical patent/CN111224741A/en
Application granted granted Critical
Publication of CN111224741B publication Critical patent/CN111224741B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0057Block codes
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S19/00Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
    • G01S19/01Satellite radio beacon positioning systems transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
    • G01S19/13Receivers
    • G01S19/24Acquisition or tracking or demodulation of signals transmitted by the system
    • G01S19/30Acquisition or tracking or demodulation of signals transmitted by the system code related
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/152Bose-Chaudhuri-Hocquenghem [BCH] codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • H04L1/0052Realisations of complexity reduction techniques, e.g. pipelining or use of look-up tables

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Signal Processing (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Algebra (AREA)
  • Pure & Applied Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)

Abstract

The invention provides a BCH code decoding method, a decoder and a satellite navigation receiver for satellite navigation, which are used for reducing the decoding complexity of BCH (51,8) codes. In the invention, the hard decision vector is used for calculating the checksum of any bit in the code word, the error value of the bit is estimated according to the checksum, and the estimated error value is used for correcting the hard decision value corresponding to the bit in the hard decision vector, thereby completing the decoding of the bit. And repeating the above processes to finish the decoding results of all bits. In the decoding process, all code words of the BCH code do not need to be stored, and all possible information sequences do not need to be coded to obtain corresponding code words, so that the operation is relatively simple, and the decoding complexity is reduced.

Description

BCH code decoding method and decoder for satellite navigation and satellite navigation receiver
Technical Field
The invention relates to the field of information security, in particular to a BCH code decoding method and decoder for satellite navigation and a satellite navigation receiver.
Background
Bose-Chaudhuri-Hocquenghem (BCH) codes are an important class of error control coding schemes. The codes have cyclic characteristics, so that the coding and decoding can be efficiently realized, and the codes are widely applied to the fields of digital communication, storage and the like. BCH (51,8) codes with the code length of 51 bits and the information bits of 8 bits are adopted in the next generation GPS system L1C signal message data and the next generation Beidou global positioning system B1C signal message data as error control coding schemes and used for correcting errors occurring in the transmission process of navigation messages.
Because the code rate of the BCH (51,8) code is low, the navigation standard file recommends that the BCH (51,8) code is decoded by adopting the following method: and correlating all code words of the BCH code with the received vector, and finding an information sequence corresponding to the code word with the maximum correlation value as a decoding result. It can be seen that the decoding result obtained by adopting the method has optimality. However, this method requires storing all codewords of the BCH (51,8) code. If the code word is not stored, all possible information sequences need to be encoded in the decoding process to obtain corresponding code words, and then the corresponding code words are correlated with the received vector. Furthermore, correlation of the codeword with the received vector requires a multiply-accumulate operation. Therefore, the decoding method has high complexity, and is not suitable for being applied to practical navigation receivers, especially low-cost navigation receivers.
Disclosure of Invention
Accordingly, the present invention provides a BCH code decoding method, decoder and satellite navigation receiver for satellite navigation to reduce the decoding complexity of BCH (51,8) code.
In order to achieve the above object, the present invention provides the following technical solutions:
a BCH code decoding method for satellite navigation comprises the following steps:
acquiring a receiving value corresponding to a code word of the BCH code;
performing hard decision according to the received value to obtain a hard decision vector; the hard decision vector length is the same as the total length of the codeword;
decoding each bit in the code word by using a majority logic decoding principle and the hard decision vector to obtain a decoding vector;
any bit in the code words is represented as the ith bit, i is not less than 1; the decoding each bit in the codeword using a majority logic decoding principle and the hard decision vector to obtain a decoded vector comprises:
(i-1) th cycle left shift result X using the hard decision vector i Calculating N groups of checksums corresponding to the ith bit; wherein each set of checksums comprises N sum values, each sum value of the N sum values resulting from the addition of at least four hard decision values in the hard decision vector; n is a positive integer;
obtaining a decision vector S corresponding to the ith bit according to the N groups of checksums i (ii) a The decision vector S i The length is N;
according to the decision vector S i Calculating an error value estimate e for the ith bit i
Using said e i To the X i And correcting the hard decision value of the first bit to obtain a correction value, wherein the correction value is the decoding result of the ith bit.
A decoder, comprising:
a hard decision module: the device is used for acquiring a receiving value corresponding to a code word of the BCH code and performing hard decision according to the receiving value to obtain a hard decision vector; the hard decision vector length is the same as the total length of the codeword;
a decoding module: decoding each bit in the codeword by using a majority logic decoding principle and the hard decision vector to obtain a decoded vector;
wherein the content of the first and second substances,
any bit in the code words is represented as the ith bit, i is not less than 1; the decoding each bit in the codeword using a majority logic decoding principle and the hard decision vector to obtain a decoded vector comprises:
(i-1) th cycle left shift result X using the hard decision vector i Calculating N groups of checksums corresponding to the ith bit; wherein each set of checksums comprises N sum values, each sum value of the N sum values resulting from the addition of at least four hard decision values in the hard decision vector; n is a positive integer;
obtaining a decision vector S corresponding to the ith bit according to the N groups of checksums i (ii) a The decision vector S i The length is N;
according to the decision vector S i Calculating an error value estimate e for the ith bit i
Using said e i To the X i And correcting the hard decision value of the first bit to obtain a correction value, wherein the correction value is the decoding result of the ith bit.
A satellite navigation receiver comprises the decoder.
It can be seen that, in the embodiment of the present invention, the hard decision vector is used to calculate the checksum of any bit in the codeword, the error value of the bit is estimated according to the checksum, and the estimated error value is used to correct the hard decision value corresponding to the bit in the hard decision vector, thereby completing the decoding of the bit. And repeating the above processes to finish the decoding results of all bits. In the decoding process, all code words of the BCH code do not need to be stored, and all possible information sequences do not need to be coded to obtain corresponding code words, so that the operation is relatively simple, and the decoding complexity is reduced.
Drawings
Fig. 1 is a schematic structural diagram of a satellite navigation receiver according to an embodiment of the present invention;
fig. 2 is a schematic diagram of a decoder according to an embodiment of the present invention;
FIG. 3 is a flowchart illustrating a method for decoding BCH codes for satellite navigation according to an embodiment of the present invention;
FIG. 4 is a decoding performance diagram according to an embodiment of the present invention.
Detailed Description
The invention provides a BCH code decoding method and a decoder for satellite navigation and a satellite navigation receiver applying the decoder, so as to reduce the decoding complexity of BCH (51,8) codes.
Referring to fig. 1, the satellite navigation receiver may include an acquirer 101, a tracker 102, a data demodulator 103, a decoder 104, and the like.
The navigation signal sent by the satellite is captured by the satellite navigation receiver, the received value corresponding to the code word of the BCH code is obtained through signal tracking and data demodulation, then the received value is input into a decoder for decoding, and then the message information required by positioning can be obtained according to the decoding result to complete positioning.
Fig. 2 shows an exemplary structure of the decoder described above, including: a hard decision module 201 and a decoding module, wherein the hard decision module 201 is configured to perform hard decision on bits in a codeword of the BCH code to obtain a hard decision vector (the length of the hard decision vector is the same as the total length of the codeword, and in the present invention, the total length is 51); and the decoding module is used for: and decoding each bit in the code word by using a majority logic decoding principle and the hard decision vector to obtain a decoding vector.
Further, the decoding module may include at least: a checksum calculation module 203, a correction module 204 and a decoding output module 207.
In another embodiment of the present invention, still referring to fig. 2, the decoding module may further include a checking module 206 for checking whether the decoding result (decoding vector) is correct. In addition, the decoding module may further include a first buffer memory 202 and a second buffer memory 205 to buffer data.
Next, a decoding method performed by the decoder shown in fig. 1 and 2 will be described.
Fig. 3 shows an exemplary flow of the decoding method, which may include at least the following steps:
s301: and acquiring a received value corresponding to the code word of the BCH code.
The received value may be output from the data demodulator 103 in the satellite navigation receiver to the decoder 104.
More specifically, the received value output by the data demodulator 103 may be received by the hard decision module 201 in fig. 2.
S302: and carrying out hard decision on the received value to obtain a hard decision vector.
The length of the hard decision vector is the same as the total length of the codeword, and in the present invention, is 51. X may be used to represent a hard decision vector.
S302 is performed by the hard decision module 201 in fig. 2.
Specifically, the hard decision module 201 performs hard decision according to each bit in the output codeword of the data demodulator 103 to obtain a hard decision value. The judgment method is to compare each accumulated output value with a set threshold value, if the accumulated output value exceeds the threshold value, the hard judgment value of the corresponding bit is judged to be 1, otherwise, the hard judgment value is judged to be 0.
The above-mentioned decision method is a general hard decision method, which is not described herein again.
In one example, the resulting hard decision values may be stored in the first buffer 202 in sequence to form the hard decision vector x described above.
Any bit in the codeword can be represented as the ith bit, i is not less than 1 and not more than 51. For the ith bit in the code word, performing the following operations to obtain a decoding result:
s303: (i-1) th cycle left shift result X using hard decision vector i And calculating N groups of checksums corresponding to the ith bit.
N is a positive integer. Each of the N sets of checksums includes N sum values, each sum value being obtained by summing at least four hard decision values in the hard decision vector.
In one example, if any group of checksums is represented as a jth group of checksums (j is not less than 1, not more than N), each sum value in the jth group of checksums is represented by X above i The hard decision value of the first bit, the jth bit and other bits in the sequence are added.
Note that, for the BCH (51,8) code, N-16 is the maximum value subjected to greedy search.
The jth group checksum may be expressed as s j,1 ,s j,2 ,…,s j,16 ]If N is 16, the 1 st set of checksums may be expressed as s 1,1 ,s 1,2 ,…,s 1,16 ](ii) a The 2 nd set of checksums may be represented as s 2,1 ,s 2,2 ,…,s 2,16 ](ii) a The 3 rd set of checksums may be represented as s 3,1 ,s 3,2 ,…,s 3,16 ]… …, and so on, the 16 th set of checksums may be represented as s 16,1 ,s 16,2 ,…,s 16,16 ]. How to specifically calculate the 16 sets of checksums will be described later herein.
S304: obtaining a decision vector S corresponding to the ith bit according to the N groups of checksums i
Wherein the decision vector S i Length is also N, where decision vector S i Each bit in (a) may correspond to a set of checksum decisions.
Specifically, if the number of the N sum values of the jth group of checksums, whose value is 1, is greater than N/2, the decision vector S is determined i The value of the jth bit of (1); otherwise, it is noted as 0.
With N being 16, S i =[S 1 ,S 2 ,…,S 16 ]For example, after 16 sets of checksums are calculated, S 1 To S 16 Can be determined by:
if s 1,1 ,s 1,2 ,…,s 1,16 In case the number of 1 is greater than 8, S 1 Is 1, otherwise S 1 Is 0;
if s 2,1 ,s 2,2 ,…,s 2,16 In case the number of 1 is greater than 8, S 2 Is 1, otherwise S 2 Is 0;
if s 3,1 ,s 3,2 ,…,s 3,16 In case the number of 1 is greater than 8, S 3 Is 1, otherwise S 3 Is 0;
……
if s 16,1 ,s 16,2 ,…,s 16,16 In case the number of 1 is greater than 8, S 16 Is 1, otherwise S 16 Is 0.
Steps S303 and S304 may be performed by the checksum calculation module 203 shown in fig. 2.
S305: according to a decision vector S i Calculating an error value estimate e for the ith bit i
In one example, if decision vector S i Of the N bits of (1), the number of values of 1 is greater than N/2, the error value is estimated e i The value of (a) is marked as 1; otherwise, it is noted as 0.
With N being 16, S i =[S 1 ,S 2 ,…,S 16 ]For example, if S 1 ,S 2 ,…,S 16 In case the number of 1 is greater than 8, e i Is 1, otherwise e i Is 0.
S306: using e i For the above X i The hard decision value of the first bit in the error correction code is corrected to obtain a correction value.
Can convert the above X into i The hard decision value of the first bit in (a) is represented as x 1 Expressing the correction value as y i . The correction value is the decoding result of the ith bit of the code word.
In one example, the formula y may be used i =x 1 +e i Calculating to obtain y i . The "+" in the formula represents a modulo-2 addition operation.
Steps S305 and S306 may be performed by the correction module 204 shown in FIG. 2, correcting the result y i May be stored in the second cache 205.
It should be noted that i is from 1, and the first bit of the codeword is a hard decision vector used in decoding. After the first bit is decoded, the correction module 204 circularly shifts the hard decision vector stored in the first buffer 202 by 1 bit to the left to obtain X 2 Returning to S303, repeatedly performing S303-S306 to decode the second bit of the codeword, and then circularly left-shifting the hard decision vector stored in the first cache 202 by 1 bit to obtain X 3 And returning to S303 to decode the third bit of the code word until 51 bits obtain a decoding result, and forming a decoding vector y ═ y 1 ,y 2 ,…,y 51 ]。
The decoding vector contains an information sequence. In one example, if i is equal to 51, the decoding output module 207 may output the information sequence of the decoding vector stored in the second buffer 205. In another example, if i is equal to 51, the following S307 may be performed.
S307: checking the decoding vector;
in one example, for BCH (51,8) code, the first 8 bits of the 51-bit coded vector are the information sequence. 43 verification results can be calculated from the information sequence, and the 43 verification results can be expressed as
Figure BDA0001877191490000061
Figure BDA0001877191490000062
If p is 9,10, …,51, all
Figure BDA0001877191490000063
The check is successful.
Step S307 may be performed by the verification module 206.
S308: if the check is successful, outputting the information sequence in the decoding vector.
Specifically, if the check is successful, the check module 206 may notify the decoding output module 207 to output the information sequence in the second buffer 206.
Of course, if the check fails, the decoding vector is invalid, and the received navigation message data may be discarded, waiting for the next set or frame of navigation messages to be received.
Fig. 4 shows decoding performance of the decoding method according to the embodiment of the present invention.
Therefore, in the invention, the hard decision vector is used for calculating the checksum of any bit in the code word, the error value of the bit is estimated according to the checksum, and the estimated error value is used for correcting the hard decision value corresponding to the bit in the hard decision vector, so that the decoding of the bit is completed. And repeating the above processes to finish the decoding results of all bits. In the decoding process, all code words of the BCH code do not need to be stored, and all possible information sequences do not need to be coded to obtain corresponding code words, so that the operation is relatively simple, and the decoding complexity is reduced.
In addition, after all bits are decoded, the decoding vector can be checked, if the check is successful, an information sequence in the decoding vector is output, and if the check is failed, the decoding result is invalid.
How to generate 16 sets of checksums and how to generate 43 check results are described below.
Can convert the above X into i Each hard decision value in (1) is expressed as x 1 To x 51 Then, the sum of the 16 checksum sets is calculated using the following formula in table 1:
Figure BDA0001877191490000071
Figure BDA0001877191490000081
Figure BDA0001877191490000091
Figure BDA0001877191490000101
Figure BDA0001877191490000111
Figure BDA0001877191490000121
TABLE 1
And the 43 verification results
Figure BDA0001877191490000122
The following formula in table 2 can be used for calculation:
Figure BDA0001877191490000123
Figure BDA0001877191490000131
TABLE 2
Wherein, the addition sign in all formulas of table 1 and table 2 represents the modulo-2 addition operation.
It can be seen that the operations related to the decoding method provided by the present invention include circular left shift and modulo 2 addition, and these operations are all logical operations, compared with the multiply-accumulate operation in the prior art, the operation is simple, and the decoding complexity of the BCH (51,8) code can be effectively reduced. In addition, the decoding method can detect decoding errors and is a good choice for satellite navigation receivers (especially low-cost satellite navigation receivers) in practice.
The embodiments in the present description are described in a progressive manner, each embodiment focuses on differences from other embodiments, and the same and similar parts among the embodiments are referred to each other. For the device disclosed in the embodiment, since it corresponds to the method disclosed in the embodiment, the description is simple, and the description can be referred to the method part.
Those of skill would further appreciate that the various illustrative components and model steps described in connection with the embodiments disclosed herein may be implemented as electronic hardware, computer software, or combinations of both, and that the various illustrative components and steps have been described above generally in terms of their functionality in order to clearly illustrate this interchangeability of hardware and software. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the implementation. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present invention.
The steps of a method or model described in connection with the embodiments disclosed herein may be embodied directly in hardware, in a software module executed by a processor, or in a combination of the two. A software module may reside in Random Access Memory (RAM), memory, Read Only Memory (ROM), electrically programmable ROM, electrically erasable programmable ROM, registers, hard disk, a removable disk, WD-ROM, or any other form of storage medium known in the art.
The previous description of the disclosed embodiments is provided to enable any person skilled in the art to make or use the present invention. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other embodiments without departing from the spirit or scope of the invention. Thus, the present invention is not intended to be limited to the embodiments shown herein but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.

Claims (10)

1. A BCH code decoding method for satellite navigation is characterized by comprising the following steps:
acquiring a receiving value corresponding to a code word of the BCH code;
performing hard decision according to the received value to obtain a hard decision vector; the hard decision vector length is the same as the total length of the codeword;
decoding each bit in the code word by using a majority logic decoding principle and the hard decision vector to obtain a decoding vector;
any bit in the code words is represented as the ith bit, i is not less than 1; the decoding each bit in the codeword using a majority logic decoding principle and the hard decision vector to obtain a decoded vector comprises:
(i-1) th cycle left shift result X using the hard decision vector i Calculating N groups of checksums corresponding to the ith bit; each group of checksum comprises N sum values, and each sum value in the N sum values is obtained by performing modulo-2 addition operation on at least four hard decision values in the hard decision vector; n is a positive integer;
obtaining a decision vector S corresponding to the ith bit according to the N groups of checksums i (ii) a The decision vector S i The length is N;
according to the decision vector S i Calculating an error value estimate e for the ith bit i
Using said e i To the X i And correcting the hard decision value of the first bit to obtain a correction value, wherein the correction value is the decoding result of the ith bit.
2. The method of claim 1,
the coding vector comprises an information sequence;
after obtaining the coding vector, the method further comprises:
checking the coding vector; and if the verification is successful, outputting the information sequence in the decoding vector.
3. The method of claim 1,
any one group in the N groups of checksums is expressed as a jth group of checksums; j is not less than 1 and not more than N;
obtaining a decision vector S corresponding to the ith bit according to the N groups of checksums i The method comprises the following steps:
if the number of the numerical values 1 in the N sum values of the jth group of checksums is greater than N/2, the decision vector S is determined i The value of the jth bit of (1); otherwise, marking as 0;
according to the decision vector S i Calculating an error value estimate e for the ith bit i The method comprises the following steps:
if the decision vector S i Of the N bits of (1), the number of values of 1 is greater than N/2, the error value is estimated e i The value of (a) is marked as 1; otherwise, it is noted as 0.
4. The method of claim 1, wherein X is i The hard decision value of the first bit in (a) is represented as x 1 (ii) a Said use of said e i To the X i Correcting the hard decision value of the first bit to obtain a correction value, wherein the step of correcting the hard decision value of the first bit comprises the following steps:
using the formula y i =x 1 +e i Calculating to obtain a correction value;
wherein the content of the first and second substances,said y i Indicating the correction value, "+" indicates a modulo-2 addition operation.
5. The method of claim 1 or 3,
the total length of the code word is 51 bits; the hard decision vector length is 51 bits; a jth group checksum in the N groups of checksums is represented as [ s ] j,1 ,s j,2 ,…,s j,16 ](ii) a j is not less than 1 and not more than N; said N is 16, said X i Each hard decision value in (1) is expressed as x 1 To x 51
The sum value of each group of checksums is calculated by the following formula:
Figure FDA0003591735800000021
Figure FDA0003591735800000031
Figure FDA0003591735800000041
Figure FDA0003591735800000051
Figure FDA0003591735800000061
Figure FDA0003591735800000071
Figure FDA0003591735800000081
Figure FDA0003591735800000091
Figure FDA0003591735800000101
wherein the addition sign in all formulas represents a modulo-2 addition operation.
6. The method of claim 2, wherein the total length of the decoded vector is 51 bits, the length of the information sequence is 8 bits, and the information sequence occupies the first 8 bits of the decoded vector; each decoding result in the decoding vector is represented as y 1 To y 51
The verifying the coding vector comprises:
calculating 43 check results according to the information sequence, wherein the 43 check results are expressed as
Figure FDA0003591735800000102
Figure FDA0003591735800000103
If all p is 9,10, …,51, there are
Figure FDA0003591735800000104
The check is successful.
7. The method of claim 6, wherein the 43 verification results are calculated using the following formula:
Figure FDA0003591735800000105
Figure FDA0003591735800000111
wherein the addition sign in all formulas represents a modulo-2 addition operation.
8. A decoder, comprising:
a hard decision module: the device is used for acquiring a receiving value corresponding to a code word of the BCH code and performing hard decision according to the receiving value to obtain a hard decision vector; the hard decision vector length is the same as the total length of the codeword;
a decoding module: decoding each bit in the codeword by using a majority logic decoding principle and the hard decision vector to obtain a decoded vector;
wherein the content of the first and second substances,
any bit in the code words is represented as the ith bit, i is not less than 1; the decoding each bit in the codeword using a majority logic decoding principle and the hard decision vector to obtain a decoded vector comprises:
(i-1) th cycle left shift result X using the hard decision vector i Calculating N groups of checksums corresponding to the ith bit; each group of checksum comprises N sum values, and each sum value in the N sum values is obtained by performing modulo-2 addition operation on at least four hard decision values in the hard decision vector; n is a positive integer;
obtaining a decision vector S corresponding to the ith bit according to the N groups of checksums i (ii) a The decision vector S i The length is N;
according to the decision vector S i Calculating an error value estimate e for the ith bit i
Using said e i To the X i And correcting the hard decision value of the first bit to obtain a correction value, wherein the correction value is the decoding result of the ith bit.
9. The decoder of claim 8, wherein the decoded vector includes a sequence of information; the coding module is also to:
checking the coding vector; and if the verification is successful, outputting the information sequence in the decoding vector.
10. A satellite navigation receiver comprising a decoder as claimed in claim 8 or 9.
CN201811405200.XA 2018-11-23 2018-11-23 BCH code decoding method and decoder for satellite navigation and satellite navigation receiver Active CN111224741B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811405200.XA CN111224741B (en) 2018-11-23 2018-11-23 BCH code decoding method and decoder for satellite navigation and satellite navigation receiver

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811405200.XA CN111224741B (en) 2018-11-23 2018-11-23 BCH code decoding method and decoder for satellite navigation and satellite navigation receiver

Publications (2)

Publication Number Publication Date
CN111224741A CN111224741A (en) 2020-06-02
CN111224741B true CN111224741B (en) 2022-08-12

Family

ID=70827031

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811405200.XA Active CN111224741B (en) 2018-11-23 2018-11-23 BCH code decoding method and decoder for satellite navigation and satellite navigation receiver

Country Status (1)

Country Link
CN (1) CN111224741B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111669185B (en) * 2020-06-24 2023-09-26 湖南国科微电子股份有限公司 BCH decoding method and device, storage medium and electronic equipment

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1414707A (en) * 2002-12-20 2003-04-30 清华大学 Method used to reduce storage content needed and complexity by product code decode
CN1561005A (en) * 2004-02-20 2005-01-05 汇智系统股份有限公司 Quick double-error correction BCH code decoder
CN105634506A (en) * 2015-12-25 2016-06-01 重庆邮电大学 Soft decision decoding method of quadratic residue (QR) code based on shifting search algorithm
CN106936446A (en) * 2017-03-10 2017-07-07 南京大学 A kind of high speed decoder and its interpretation method based on Non-Binary LDPC Coded
CN107743036A (en) * 2016-08-24 2018-02-27 中国科学院微电子研究所 The interpretation method of BCH code

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7100103B2 (en) * 2002-01-22 2006-08-29 Broadcom Corporation Efficient method for fast decoding of BCH binary codes
US8972817B2 (en) * 2011-08-22 2015-03-03 Telex Maglorie Ngatched Nkouatchah Two low complexity decoding algorithms for LDPC codes
US10404280B2 (en) * 2015-11-19 2019-09-03 Westhold Corporation Error correction using cyclic code-based LDPC codes

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1414707A (en) * 2002-12-20 2003-04-30 清华大学 Method used to reduce storage content needed and complexity by product code decode
CN1561005A (en) * 2004-02-20 2005-01-05 汇智系统股份有限公司 Quick double-error correction BCH code decoder
CN105634506A (en) * 2015-12-25 2016-06-01 重庆邮电大学 Soft decision decoding method of quadratic residue (QR) code based on shifting search algorithm
CN107743036A (en) * 2016-08-24 2018-02-27 中国科学院微电子研究所 The interpretation method of BCH code
CN106936446A (en) * 2017-03-10 2017-07-07 南京大学 A kind of high speed decoder and its interpretation method based on Non-Binary LDPC Coded

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
An Iterative Weighted Reliability Decoding Algorithm for Two-Step Majority-Logic Decodable Cyclic Codes;H. Chang, C. Chen and H. Chang;《IEEE Communications Letters》;20130829;全文 *
Finite Hyperplane Codes: Minimum Distance and Majority-Logic Decoding;C. Chen, H. Liu and B. Bai;《2018 IEEE International Symposium on Information Theory (ISIT)》;20180816;全文 *
LDPC码改进高速译码算法;李化营,王健,刘焱.;《遥测遥控》;20150331;第36卷(第2期);全文 *
低复杂度的大数逻辑LDPC译码算法及其量化优化;梁奇;《CNKI中国优秀硕士学位论文全文数据库》;20170601(第7期);全文 *
北斗系统BCH码的低复杂度软判决译码算法;曲国伟,邓松峰.;《系统仿真学报》;20160808;第28卷(第8期);全文 *
基于可靠性的北斗系统BCH码擦除译码算法;张超逸,刘海洋,李金海,孙金海,阎跃鹏.;《哈尔滨工程大学学报 》;20170925;第38卷(第9期);全文 *

Also Published As

Publication number Publication date
CN111224741A (en) 2020-06-02

Similar Documents

Publication Publication Date Title
CN108702161B (en) Systems and methods for polarization encoding and decoding
CN108650057B (en) Coding and decoding method, device and system
US8086928B2 (en) Methods and systems for terminating an iterative decoding process of a forward error correction block
EP2838204B1 (en) Decoding processing method and decoder
JP6446730B2 (en) Method and decoder for decoding data
US8032812B1 (en) Error correction decoding methods and apparatus
JP2016519481A (en) System and method for multi-stage soft input decoding
CN111628780A (en) Data encoding method, data decoding method and data processing system
JP2011052987A (en) Positioning data receiver, error correction device, and program
US8910009B1 (en) Method and apparatus for enhancing error detection in data transmission
US20070153693A1 (en) Transport format detecting apparatus and method
US20070198896A1 (en) Decoding with a concatenated error correcting code
CN111224741B (en) BCH code decoding method and decoder for satellite navigation and satellite navigation receiver
CN108549096B (en) Method and device for error correction and decoding of GPS navigation message
CN101060341A (en) Post-viterbi error correction method and apparatus for the same
CN110806948A (en) Data verification method and device
US7577893B2 (en) Forward error correction decoding method and apparatus for satellite digital audio radio broadcasting
WO2009146517A1 (en) Method of encoding and/or decoding multidimensional and a system comprising such method
CN112564858B (en) CRC error correction method and system for satellite navigation
US10742236B2 (en) Methods, systems and computer-readable media for decoding cyclic code
CN101411071A (en) MAP decoder with bidirectional sliding window architecture
US8644432B2 (en) Viterbi decoder for decoding convolutionally encoded data stream
CN112698366A (en) Frame synchronization method for satellite positioning receiver
CN111669185B (en) BCH decoding method and device, storage medium and electronic equipment
CN101227192B (en) Post-viterbi error correction method and apparatus thereof

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant