You are on page 1of 5

Journal of Harbin Institute of Technology ( New Series) , Vol.22, No.1, 2015

doi:10.11916 / j.issn. 1005⁃9113.2015.01.008

Efficient Soft⁃Decision Maximum⁃Likelihood Decoding of BCH Code in the GNSS

Jinhai Sun ∗ , Jinhai Li, Haiyang Liu, Feng Wang and Yuepeng Yan
( Institute of microelectronics, Chinese Academy of Sciences, Beijing 100029, China)

Abstract: Soft⁃decision decoding of BCH code in the global navigation satellite system (GNSS) is investigated in
order to improve the performance of traditional hard⁃decision decoding. Using the nice structural properties of BCH
code, a soft⁃decision decoding scheme is proposed. It is theoretically shown that the proposed scheme exactly
performs maximum⁃likelihood (ML) decoding, which means the decoding performance is optimal. Moreover, an
efficient implementation method of the proposed scheme is designed based on Viterbi algorithm. Simulation results
show that the performance of the proposed soft⁃decision ML decoding scheme is significantly improved compared
with the traditional hard⁃decision decoding method at the expense of moderate complexity increase.
Keywords: GNSS; BCH codes; soft⁃decision decoding; maximum⁃likelihood (ML) decoding; Viterbi algorithm
CLC number: TP391􀆰 7      Document code: A        Article ID: 1005⁃9113(2015)01⁃0054⁃05

computational complexity than hard⁃decision decoding


1  Introduction in general. However, for some classes of block codes
( such as Reed⁃Muller codes ) with simple trellis
Nowadays, the satellite navigation becomes more structure, efficient soft⁃decision decoding is possible [6] .
and more important in our life [1-2] . For a navigation Using the structural properties and the relations
receiver, the accuracy of navigation messages is very between BCH ( 15, 11) code and second⁃order Reed⁃
crucial for providing reliable position services. Muller ( RM) code, a soft⁃decision decoding scheme is
However, the received data inevitably contain errors, proposed in the paper. It is proved that the proposed
since the satellite signal is transmitted over a very noisy scheme exactly performs maximum⁃likelihood ( ML )
channel. In order to overcome this problem, the forward decoding. In other words, the performance of the
error correction ( FEC) technique is widely used in the proposed scheme is exactly the same as that of ML
next GNSS [3] , such as GPS, Galileo, BeiDou, etc. decoding. An efficient implementation method of the
BCH codes, proposed by Bose, Chaudhuri and proposed scheme is designed based on the trellis
Hocquenghem in the 1960s, are an important class of diagram of RM code and Viterbi algorithm. Compared
algebraic codes [4-6] . Due to their nice algebraic with hard⁃decision decoding, the complexity increase of
structures and simple encoding and decoding methods, our decoding method is moderate. Simulation results
this class of codes has been widely studied and used in show that the performance of the proposed soft⁃decision
practical communication systems. In the next generation ML decoding scheme is significantly improved over the
BeiDou system, cyclic BCH (15, 11) code is used for traditional hard⁃decision decoding method. All these
the FEC [7] . Traditionally, this code is decoded by merits suggest the proposed decoding method is
hard⁃decision method [7-8] , which is very simple and attractive for practical purposes.
easy to implement. However, the coding gain achieved
by hard⁃decision is relatively small, and the decoding 2  BCH Code in the GNSS
failure threshold is relatively high.
Generally, soft⁃decision decoding can provide The FEC code used in the GNSS is cyclic BCH
better performance than hard⁃decision decoding [8] . For ( 15, 11 ) code [7] , whose generator polynomial is
the BCH decoder in the GNSS, soft input values can be g( x) = x 4 + x + 1. Since the code is cyclic, the
obtained. As a result, it is deserved to investigate soft⁃ encoding process can be efficiently implemented by a
decision decoding of BCH code in the GNSS, which is linear shift register circuit in practice [7] . More details
the motivation of this work. The main drawback of soft⁃ on the encoding can be found in Refs. [ 4 - 6] . It is
decision decoding is that it requires much more known that the minimum Hamming distance of the BCH

Received 2014-05-30.
Sponsored by the National Natural Science Foundation of China ( Grant No.61271423) .
∗Corresponding author. E⁃mail: sunjinhai@ ime.ac.cn.

· 54·
Journal of Harbin Institute of Technology ( New Series) , Vol.22, No.1, 2015

( 15, 11 ) code is 3 and the code is capable of 􀭵B be the extended code of


BCH (15, 11) code. Let C
correcting any single bit error under hard⁃decision C B , i.e.,
decoding. The syndrome decoding is a commonly⁃used 15

method for decoding this code, which can be 􀭵


CB = { [c0,c1,…,c15] | [c1,…,c15] ∈ CB ,c0 = ∑ ci } (3)
implemented by looking⁃up table ( LUT) in practice [8] .
i =1
    It can be seen from Eq.(3) that each codeword of
Since BCH ( 15, 11 ) code is perfect [6] , it can be 􀭵B is obtained by adding an overall parity⁃check symbol

shown that the syndrome decoding has the ML
c0 to a codeword in C B . As a result, there is an one⁃to⁃
property, i. e., the estimated codeword is the ML
codeword given the received hard⁃decision vector. one correspondence between the codewords in C B and
􀭵B . For convenience, the codeword c􀭰in C
C 􀭵B is said to be
3   Soft⁃Decision ML Decoding Scheme for BCH the extended codeword of c if c􀭰is obtained from c by
(15, 11) Code adding an overall parity⁃check symbol. Moreover, it
has been shown that C 􀭵B is equivalent to the second⁃
Although the bit error rate ( BER) performance of order RM (16, 11) code [6] .
BCH code under hard⁃decision decoding is improved A codeword in C B is supposed to be transmitted
compared with uncoded system, the coding gain over an AWGN channel and r = [ r 1 ,r 2 ,…,r 15 ] is the
achieved is relatively small. In this paper, soft⁃decision received vector. Construct a vector r􀭰by appending a
decoding of BCH code is investigated in order to zero element to r, i.e.,
improve the performance of hard⁃decision decoding. r􀭰= [0,r] = [0,r 1 ,…,r 15 ] (4)
3􀆰 1  Brief Review of Soft⁃decision Decoding     Since the length of r􀭰is 16, one may ask a
Considering a binary linear block code c of block question: what is the estimated codeword given the
length n. c = [ c1 ,c2 ,…,c n ] is supposed as the vector r􀭰if the ML rule is applied for decoding C􀭵B ? The
codeword to be transmitted and the binary⁃phase shift⁃ following theorem answers this question.
keying ( BPSK ) modulation is used. The modulator Theorem  c ML is assumed to be the decoded ML
maps the codeword into a bipolar sequence codeword given r is received. Let c􀭰 ML be the extended
x = [ x 1 ,x 2 ,…,x n ] codeword of c ML . It holds that c􀭰 is the decoded ML
ML
where codeword given r􀭰is received, where r􀭰is defined by
+ 1, c i = 0 Eq.(4) .
x i = 1 - 2c i = {
- 1, c i = 1
(1)
Proof  Let c ∈ C B and c􀭰the extended codeword
where 1 ≤ i ≤ n. of c. Obviously, c􀭰∈ C 􀭵B . Let x􀭵and x be the bipolar
This bipolar sequence is assumesd to be sequences corresponding to c􀭰and c, respectively. Given
transmitted over a binary input additive white Gaussian 15

noise ( AWGN) channel, and let r = [ r 1 ,r 2 ,…,r n ] be the received vector r, the cost of c is m c = ∑
i=1
xi ri .
the received vector. It is known that the ML rule is Meanwhile, the cost of c􀭰can be calculated as
optimal for decoding the code C and the ML codeword 15 15 15

given r is the solution of the following minimization mc􀭰= ∑ x􀭰


i􀭰
ri = 0·x􀭰

+ ∑ xi ri = ∑ xi ri = mc (5)
problem [6]
i=0 i=1 i=1


which means that the cost of c given r is equal to the
min ∑ xi ri (2) cost of c􀭰given r􀭰

c∈C
x i = 1 - 2c i i 1
= On the other hand, since c ML is the ML codeword
    From the optimization theory [9] , the objective given r is received, it follows from Eq. ( 2) that c ML =
15

∑ x i r i . As

function value ∑ x i r i can be interpreted as the cost of c arg min
c ∈ C , x = 1 - 2c i = 1
B i i
a result, it holds that c􀭰
ML

i=1
15
given r is received, and ML decoding is to find the
codeword in C with the minimum cost. In general,
arg min
􀭵 ,􀭰
c􀭰∈C x = 1 - 2􀭰
∑ x􀭰i r􀭰i , which proves the theorem.
c i=0
B i i

however, solving the above minimization problem is Based on the above theorem, a soft⁃decision ML
difficult, which makes ML decoding of block codes decoding scheme for BCH ( 15, 11 ) code can be
practically intractable. By now, the efficient ML proposed, which is given as follows.
decoding algorithms have been proposed for only a few Input: Soft⁃decision vector r. Output: The ML
classes of block codes ( such as RM codes) [6] . codeword c ML .
3􀆰 2   Proposed Scheme for Decoding BCH ( 15, Step 1  Construct the vector 􀭰
r according to Eq.(4).
11) Code Step 2  Find the ML codeword
In this section, the soft⁃decision decoding scheme
15

for BCH ( 15, 11) code is proposed. Let C B be the


c􀭰
ML
= arg min
􀭵B,􀭰
c􀭰∈C x i = 1 - 2􀭰
∑ x􀭰i r􀭰i .
ci i = 0

· 55·
Journal of Harbin Institute of Technology ( New Series) , Vol.22, No.1, 2015

Step 3  Delete the first bit of c􀭰


ML and obtain c ML . sequence of output bits. There is a one⁃to⁃one
The reason why the decoding scheme is proposed correspondence between the set of codewords in C and
based on C 􀭵B is that its trellis diagram is well the set of paths through the trellis, and the codeword
􀭵B and the associated with any particular path is the sequence of
understood [6,10]
. Based on the trellis of C
corresponding labels.
Viterbi algorithm, an efficient method for the
As an example, the (6, 3) code C is considered,
implementation of Step 2 of the above scheme can be
which contains the following eight codewords:
designed, which is practically amicable.
(000000) , (000011) , (001100) , (110000) ,
(001111) , (110011) , (111100) , (111111) .
4  Efficient Implementation of the Proposed ML
    Figs. 1 ( a) and 1 ( b) depict two different trellis
Decoding Scheme
representations of the code. For a given trellis diagram,
a common measure of its complexity is its state
In this section, an efficient implementation method
complexity profile, which is the sequence of state space
of the proposed ML decoding scheme is presented based
sizes. For a given code, a trellis diagram that has the
􀭵B . Firstly, a brief review of the trellis
on the trellis of C minimum possible state space size at each time is said
representation of linear block codes is given. to be a minimal trellis. For example, the state
4􀆰 1  Review of the Trellis Representation of Linear complexity profiles of the two trellises diagrams given
Block Codes in Figs. 1( a) and 1 ( b) are (1,4,4,1) and (1,1,1,
Let C be a linear block code. A trellis diagram[6,10] of 1) , respectively, and the trellis given in Fig.1( b) is a
C is a (directed) graph in which there is one start state at minimal trellis. Fig. 1 ( c ) gives an equivalent
time -0, one ending state at time⁃N, and state spaces S k description of the trellis in Fig. 1 ( b) . Note that each
at all N - 1 immediate time⁃k (1 ≤ k ≤ N - 1) . All edge in Fig. 1 ( c ) represents in fact two parallel
edges in the graph go from a state at time⁃k to a state at branches and there are two labels on each branch.
the next time⁃( k + 1) . Each edge is labeled with a
Ti
me 0 1 2 3
00
11 00
00
11 11 1 1 00 00 00
00 00 00 00
1
1 00
00 11 11 11
00 1 1 1 1 11 1 1 11
11
00 (b)Anothe
rt r
ell
isr
epre
sent
at
io
ns(
c)Equi
val
entdes
cri
pti
on
(
a)Tr
ell
isr
epres
enta
ti
onsoftheco
de o ft
hecode oft
hetr
ell
is
Fig.1  Three trellis diagrams of a (6, 3) code

4􀆰 2  Efficient Implementation of the Proposed ML     As shown in Fig.2, the state complexity profile of
Decoding Scheme the trellis is (1,8,8,8,1) . Besides, the whole trellis
The efficient implementation of the proposed ML can be decomposed into two structurally identical
decoding scheme is based on C 􀭵B , and the second⁃order subtrellises without cross connections. These two
RM (16, 11) code whose trellis representations have subtrellises are symmetrical in relation to the dashed
been widely studied. Fig.2 illustrates a minimal trellis line. Since the two subtrellises are structurally
􀭵B [6,10] .
diagram of C identical, an edge in the top subtrellis has a
corresponding edge in the bottom subtrellis. The two
edges marked with cycles in the figure are a pair of
Ti
me 0 1 2 3 4 corresponding edges.
    Each edge in the trellis represents two parallel
branches, and the branch labels are given in Ref.[10].
By some careful observations on the branch labels, some
interesting properties can be found. Firstly, each branch
of the trellis is labeled with four consecutive bits of a
codeword. Secondly, the two branch labels
corresponding to the same edge are complementary, i.
e., if one branch is labeled with (a,b,c,d), the other
branch is labeled with (1 + a,1 + b,1 + c,1 + d), where
Fig.2  A minimal trellis diagram of 􀭺
C B , the second⁃order “ + ” is the mod⁃2 addition operation. Thirdly, if one
RM (16, 11) code edge in the top subtrellis is labeled with (a,b,c,d) and

· 56·
Journal of Harbin Institute of Technology ( New Series) , Vol.22, No.1, 2015

(1 + a,1 + b,1 + c,1 + d), its corresponding edge in are given by - s + r 3 and s - r 3 , respectively. Hence,
the bottom subtrellis is labeled with (a,b,c,1 + d) and only six additions are needed for the computation of
(1 + a,1 + b,1 + c,d). For example, the two edges these four branch metrics in total. Table 1 summarizes
marked with cycles are labeled with {0000, 1111} and the computational complexity of the presented
{0001, 1110}, respectively. These properties can be implementation method for soft⁃decision decoding of
used to reduce the computational complexity in the BCH ( 15, 11 ) code. Besides, the computational
decoding process, which will be discussed in next complexity of the traditional hard⁃decision decoding
subsection. given in subsection 2􀆰 2 is also included for
Next, an efficient implementation method for our comparison.
proposed decoding scheme is presented based on the It is known from Table 1 that the computational
trellis diagram given in Fig. 2 as well as the Viterbi complexity increase of the presented soft⁃decision
algorithm [11-12] . In fact, the Viterbi algorithm solves decoding scheme is moderate compared with the
the optimization problem ( 2) in a recursive manner, traditional hard⁃decision decoding. Moreover, the
which guarantees the decoding output is the ML operations in the presented soft⁃decision decoding
codeword. scheme can be easily implemented in practice.
Let S k( i) be a state at time⁃k. α k( i) is defined as
the metric of S k( i) . Supposing the metric of the state at Table 1  Computational complexities of the presented soft⁃
time⁃0 is zero, i. e., α0(0) = 0. Assuming S k( i) is a decision decoding and the traditional hard⁃
decision decoding of BCH (15, 11) code
state at time⁃k and S k + 1( l) is a state at time⁃( k + 1) ,
Operations BA LUT RA RC
and the two states are connected by a branch with label
( c4k ,c4k + 1 ,c4k + 2 ,c4k + 3 ) . A metric γ k,k + 1( i,l) is assigned Soft⁃decision decoding — — 240 135
to the branch, which is calculated by Hard⁃decision decoding 30 1 — —
4k + 3
γ k,k + 1( i,l) = ∑
j = 4k
(1 - 2c j ) r j (6)   Note: BA: Binary addition; LUT: Look⁃up table;
RA: Real addition; RC: Real comparison.
    The state metric of S k + 1( l) , denoted as α k + 1( l) ,
5  Simulation Results and Discussion
is updated by
α k + 1( l) = min{ α k( i) + γ k,k + 1( i,l) } (7)
In order to verify the proposed decoding scheme,
where the minimum is searched through all the states
computer simulations are performed to evaluate its
that are connected to S k + 1( l) . In addition, the
performance. Fig.3 illustrates the BER performance of
corresponding branch label is also stored at this state.
the BCH ( 15, 11 ) code in the GNSS. Since the
Finally, there is only one path at the state in time⁃4,
proposed decoding scheme exactly performs ML
and the sequence of branch labels gives the ML
decoding, its performance agrees with the ML bound
codeword c􀭰 ML .
and is optimal.
4􀆰 3  Complexity Analysis
As can be seen from Eqs.(6) and (7) , the basic
computations used in the Viterbi algorithm are the add, 0-1
1

compare and select. Due to the nice properties of the


branch labels, the complexity for the branch metric 0-2
1

computation can be reduced.


BER

Since the two branch labels corresponding to the


0-3
1

same edge are complementary, these two branch


Harddesci
sion
Sof
tdecis
ion
metrics are inverse to each other. As a result, only the
0-4
1 MLbo und
Sof
tdecis
ion,qua
nti
zed
computation of one branch metric is needed. UncodedBPS K
Furthermore, since the first three bits of a branch in
0-5
1
2 3 4 5 6 7
the top subtrellis and the corresponding branch in the Eb/
N0(
dB)
bottom subtrellis are the same, the computational Fig.3  BER performance of BCH (15,11) code in the GNSS
complexity can be further reduced. The two edges
marked with cycles are considered as an example.     It is known from Fig. 3 that the proposed soft⁃
Recalling that the labels of these two edges are decision decoding scheme outperforms the traditional
{0000, 1111} and {0001, 1110} , respectively. It is hard⁃decision decoding significantly. For any decoding
supposed that the first four entries of r􀭰are r 0 ,r 1 ,r 2 , and scheme, there exists an SNR ( E b / N 0 ) below which the
r 3 . Let s = r 0 + r 1 + r 2 . The two branch metrics of the top code is ineffective. This SNR value is called the coding
subtrellis are given by s + r 3 and - s - r 3 , respectively, threshold [6] . It is necessary to keep this threshold as
whereas the two branch metrics of the bottom subtrellis low as possible in any communication system. As shown

· 57·
Journal of Harbin Institute of Technology ( New Series) , Vol.22, No.1, 2015

in Fig.3, the coding threshold of the traditional hard⁃ of the proposed soft⁃decision decoding scheme is
decision method is about 4 dB, while the coding significantly improved over the traditional hard⁃decision
threshold of the proposed soft⁃decision decoding decoding at the expense of moderate complexity
method is lower than 2 dB. increase. In conclusion, the proposed decoding method
For a practical GNSS receiver, the BER of is very suitable for practical purposes, especially in
navigation messages should be less than 10 -3 in order to situations such that the decoding performance needs
provide initial position services [13-14] . It can be seen theoretical guarantees.
that the proposed soft⁃decision decoding scheme
References
achieves about 1􀆰 2 dB coding gain at a BER of 10 -3
compared with the traditional hard⁃decision decoding. [1] Hegarty C J, Chatre E. Evolution of the global navigation
The average time for the proposed soft⁃decision satellite system ( GNSS ) . Proc. IEEE, 2008, 96 ( 12 ) :
decoding method and the traditional hard⁃decision 1902-1917.
[2] Rao C R. Global Navigation Satellite Systems. Noida:Tata
decoding method is shown in Table 2. The SNR is set
McGraw⁃Hill Education, 2010􀆰 35-51.
as 4 dB. [3] Kemppi P. Next Generation Satellite Navigation Systems.
    It is known from Table 2 that the software Finland: VTT Technical Research Centre of Finland,
implementation of the proposed soft⁃decision decoding 2007􀆰 147-150.
method is sufficient for the GNSS, whose data rate is [4] Peterson W W. Encoding and error⁃correction procedures
50 bps [7] . for the Bose⁃Chaudhuri codes. IRE Trans. Inform. Theory,
1960,6(4) :459-470.
Table 2   Average decoding time for the two decoding [ 5] Peterson W W, Jr. Weldon E J. Error⁃correcting Codes. 2 nd
methods at 4 dB ed.. Cambridge: MIT Press, 1972􀆰 379-405.
[6] Lin S, Jr. Costello D J. Error Control Coding: Fundamentals
Hard⁃decision Proposed soft⁃decision and Applications. Upper Saddle River, NJ: Prentice⁃Hall, 2nd
Decoding method
decoding decoding ed.. 2004􀆰 479-486.
[7] China Satellite Navigation Office. BeiDou navigation satellite
Average decoding time ( s) 6􀆰 2×10 -5 2􀆰 7×10 -4
system signal in space interface control document:open service
signal B1I (Version 1􀆰 0). 2012􀆰 12-24. http:/ / www.beidou.
    In order to implement the decoding scheme in gov. cn / attach / 2012/ 12/ 27/ 201212273da29c5 eb8274deb8
practice, the soft⁃decision values should be quantized, cd2b 178228ba2bd.pdf. 2012-12-27.
which may cause performance losses. In the common [8] Meggitt J E. Error correction codes and their implementation
literature, the quantization scheme is 4 - 6 bits for for data transmission systems. IRE Trans. Inform. Theory,
Viterbi decoding [15-16] . The uniform 6⁃bit quantization 1961,7(4) :232-244.
[9] Bertsimas D, Tsitsiklis J N. Introduction to Linear Optimization.
scheme [16] is selected in our simulation for performance
Belmont, MA: Athena Scientific, 1997􀆰 154-162.
evaluation, and the results are also shown in Fig.3. It [10] Lin S, Kasami T, Fujiwara T, et al. Trellises and Trellis⁃
is known that the performance loss of the quantized soft Based Decoding Algorithms for Linear Block Codes.
decision decoding is slight compared with floating point Boston: Kluwer Academic, 1998􀆰 87-120.
performance. For example, the performance loss is only [11] Jr. Forney G D. The Viterbi algorithm. Proc. IEEE, 1973,
about 0􀆰 1 dB at a BER of 10 -3 . Therefore, the 61(3) : 268-278.
proposed soft⁃decision decoding scheme is a good [12] Wolf J K. Efficient maximum⁃likelihood decoding of linear
block codes using a trellis. IEEE Trans. Inform. Theory,
choice for a practical GNSS receiver.
1978,IT-24(1) :76-80.
[13] Tsui J B Y. Fundamentals of Global Positioning System
6  Conclusions Receivers A Software Approach. 2nd Ed.. John Wiley &
Sons, Inc., 2005􀆰 210-228.
In this paper, a soft⁃decision decoding scheme for [14] Kaplan E. Understanding GPS: Principles and Applications.
BCH (15,11) code in the GNSS is proposed based on 2nd Ed.. Norwood, MA:Artech House, Inc., 2006.
the trellis diagram of its extended code. It has been [15] Hekstra A P. An alternative to metric rescaling in Viterbi
proved that the proposed scheme exactly performs ML decoders. IEEE Trans. Commun., 1989, 37 ( 11) : 1220 -
1222.
decoding, which means the decoding performance is
[ 16] Onyszchuk I M, Cheung K⁃M, Collins O. Quantization loss
optimal. An efficient implementation method of the in convolutional decoding. IEEE Trans. Commun., 1993,
proposed scheme is also presented based on Viterbi 41(2) :261-265.
algorithm. Simulation results show that the performance

· 58·

You might also like