You are on page 1of 4

Stochastic Computing based BCH Decoder for

WBAN Systems
Kaining Han, Junchao Wang, and Warren J. Gross
Department of Electrical and Computer Engineering, McGill University, Montreal, Quebec, Canada
Email: kaining.han@mail.mcgill.ca; junchao.wang@mail.mcgill.ca; warren.gross@mcgill.ca

Abstract—BCH codes have been accepted as the error correc- based decoders have been proposed in prior literature for
tion coding scheme by the IEEE 802.15.6 standard for wireless various codes such as such as Reed-Solomon codes [5] [6],
body area networks (WBAN). Soft-decision BCH decoders are LDPC codes [7],[8], Turbo codes[9], and Polar codes [10]. The
attractive for the reason that the decoding gains result in signif-
icant transmitting energy reduction. An approximate computing advantages of lower hardware cost, shorter critical path, and
technology called stochastic computing is a promising low power higher throughput are observed for stochastic computing based
and low hardware cost implementation candidate for BCH soft decoders compared to conventional binary decoder designs.
decision decoders. In this paper, a stochastic computing based In this paper, a novel stochastic computing based BCH de-
soft decision decoder is presented for the BCH code defined in
coder is proposed. The proposed stochastic BCH decoder has
the IEEE 802.15.6 standard. According to the evaluation results,
the proposed design has the advantages of energy consumption approximately the same BER performance as ML decoding.
and hardware cost while approaching the decoding performance Furthermore, a fully combinational logic architecture of the
in terms of block error rate (BLER) compared to existing BCH HDD kernel is proposed which saves the hardware cost of
soft decision decoders. In addition, the proposed design requires control logic and memory. A noise dependent scaling (NDS)
no noise power estimation for the soft decision demodulation
method has been applied to further optimize the decoding
module, which could further reduce the hardware cost and energy
consumption of the WBAN receiver. latency.
Index Terms—Stochastic Computing, BCH Codes, Wireless
Body Area Network, Soft-Decision Decoding II. P RELIMINARIES

I. I NTRODUCTION In this section, the basis of BCH code and stochastic


computing are introduced.
In recent years, wireless body area networks (WBAN) have
attracted significant academic and industrial research attention
A. BCH codes
since they provides a low power, reliable, and efficient net-
work supporting wireless communications between biometric A binary BCH code with code length N = 2m − 1 is de-
sensors and centralized devices. In 2012, the IEEE 802.15.6 signed based on the Galois field GF(2m ), where the informa-
standard [1] was released for the specifications of WBAN tion length K > N − mt is selected according to the required
systems. According to this standard, in order to improve error correcting capacity t. In the IEEE 802.15.6 standard, the
the reliability of the communications, the Bose-Chaudhuri- (N = 63, K = 51, t = 2) BCH code is designed over GF(26 ),
Hocquenghem (BCH) code has been specified as the error which encodes the information bits uK 1 = {u1 , u2 , ..., uK } to
correcting code (ECC) scheme. codeword bits xN 1 = {x 1 , x2 , ..., x N }.
In terms of BCH decoding methods, the hard-decision One of the most attractive features of a binary BCH code is
decoder (HDD) is commonly used in WBAN due to the the analyzable error correcting capacity, while another is the
simple hardware implementation structure. However, in view efficient architecture of hard decision (HD) decoding resulting
of system power consumption, a soft-decision decoder (SDD) from the simple binary implementation structure of additions
is more attractive since the better bit-error rate (BER) perfor- and multiplications over GF(2m ).
mance leads to power reduction in the transmitting side. Based The commonly used HD decoding (HDD) algorithm for
on the evaluation performed by [2], maximum likelihood (ML) BCH is Berlekamp-Massey [11]. However, once the error
decoding provides the best BER performance for SDD, while correcting capacity t is low such as the BCH code specified
the huge complexity results in impractical hardware cost. Re- in IEEE 802.15.6, where t = 2, the look-up-table (LUT) [12]
garding the BCH SDD in WBAN, multiple architectures with and Peterson Rule based [13] HDD kernel are more suitable
acceptable hardware cost have been proposed [3],[4]. However, [3]. Benefiting from the efficient architecture of HDD kernel,
the BER performance gap between published decoders and the the HDD based soft-decision decoding (SDD), such as the
ML decoder is still relatively large. type-II Chase-based SDD [14], shows advantages for hardware
As an implementation technique, stochastic computing can compared to the Maximum Likelihood (ML) decoding [15]
carry out complex computations with simple logic and has the and Generalized Minimum Distance (GMD) [16]. In this
advantages of low implementation complexity, short critical paper, a stochastic BCH decoder is based on a LUT based
path, and high fault tolerance. Several stochastic computing HDD kernel.

978-1-5386-7392-8/18/$31.00 ©2018 IEEE 729

Authorized licensed use limited to: NATIONAL INSTITUTE OF TECHNOLOGY SILCHAR. Downloaded on November 09,2022 at 08:06:09 UTC from IEEE Xplore. Restrictions apply.
( 0
1, LLRn ≤ R (t) ;
Yn(t) = (5)
0, otherwise,
0
where R (t) , ln [1/R (t) − 1] can be calculated with the
uniformly distributed random number R (t). The random num-
ber sharing scheme is also applied in this work to reduce
the amount of random number engines (RNE) [17]. Even
though the bit stream generator adds slight hardware overhead,
the proposed stochastic BCH decoder still illustrates lower
hardware cost compared to conventional binary based BCH
SDD since it does not contain the multiple bits represented
test syndrome calculation module and sorting module.
Regarding the main reason why the proposed stochastic
Fig. 1. The hardware architecture of the proposed stochastic BCH decoder: BCH decoder can approximate to the performance of ML
(a) Top level architecture of the stochastic BCH decoder; (b) The BCH HDD decoder, it is worthy to note that the bit stream representation
kernel architecture.
of the input LLRs can be considered as random searching,
(t)
while the combination of the bit streams: Y1∼N could be any
B. Stochastic Computing codeword of the BCH codeword space. Therefore, with enough
bit stream length, the whole codeword space can be covered
In stochastic computing, a number is represented with a
by the random searching.
random bit stream by comparing it with a uniformly distributed
random number R(t)∼U (0, 1). Using a stochastic represen- B. Combinational Logic based HDD Kernel
tation can map complex arithmetic functions to simple bit
wise logical operation. For example, multiplication, which In HDD kernel, the first step is to compute the syndrome
(t) (t) (t)
has high hardware cost in the conventional binary system, based on vector-formated bit streams y = [Y1 , Y2 , ..., YN ]
is mapped to a single AND gate in stochastic computing. In and parity check matrix H as,
this paper, stochastic computing has been utilized to represent s = y · HT = [s1 , s3 ], (6)
and randomize the decoder soft input, while the decoding is
processed in GF(2m ) with binary logic. where s is the syndrome vector. The second step is calculating
the error location polynomial (ELP). For the BCH code when
III. S TOCHASTIC BCH D ECODING t = 2 in WBAN, the ELP can be calculated as,
The proposed stochastic BCH decoder consists of three
modules: Bit stream generator (BSG), HDD kernel, and CRC δ(x) = 1 + δ1 x + δ2 x2 , (7)
check module, illustrated in Fig. 1. The bit-stream generator where δ1 = s1 and δ2 = (s31 + s3 )/s1 . The third step is to
produces test patterns to be used in a Chase-like scheme based utilize Chien search module to allocate the error bits. All the
on a HDD decoder [5][6]. possible values of x = αi are tried in (7) to check whether it
A. Stochastic Bit Stream Representation holds, where i = 0, 1, ..., n − 1 and α is the primitive element
of GF(2m ). If δ(αi ) = 0, the (n − i)-th bit of the error mask
The first step of the proposed stochastic BCH decoder is to
vector is 1.
transform the input log-likelihood ratios LLRn to probabilities
In the proposed design, the second and third step can be
Pn , P (yn |xn = 1) and then represent them with bit streams:
(t) (t) implemented with a LUT, which could shorten the critical
{Yn |P r(Yn = 1) = Pn }, where n = 1, 2, ..., N .
  path and increase the clock frequency. Benefiting from the
P (yn | xn = 0) combinational logic based syndrome module and LUT based
LLRn = log (1)
P (yn | xn = 1) ELP computation module and Chien search module, each bit
in the input bit stream can be processed in one clock cycle,
1
P (yn | xn = 1) = (2) which contributes to higher throughput.
1 + exp (LLRn )
( C. Noise Dependent Scaling
1, P (yn | xn = 1) ≥ R(t);
Yn(t) = (3) For many of the stochastic computing based decoders, in
0, otherwise;
order to reduce the number of hold states, NDS [7] is used to
The bit stream generator based on (1), (2) and (3) involves reduce the error floor and speed up convergence:
a large number of exponential operations, resulting in large 0

hardware cost. The direct LLR-to-Stochastic (L2S) method LLRn = α · LLRn , (8)
[17] is applied to remove the exponential operations. where α = λ · N0 is the scaling factor obtained through
simulation, and N0 is the noise power, while usually α < 1.
 
1
P (yn | xn = 1) ≥ R(t) ⇒ LLRn ≤ ln −1 (4) The scaling result is demonstrated as red curve in Fig. 2.
R (t)

730

Authorized licensed use limited to: NATIONAL INSTITUTE OF TECHNOLOGY SILCHAR. Downloaded on November 09,2022 at 08:06:09 UTC from IEEE Xplore. Restrictions apply.
Fig. 2. The scaling operation with scaling factor α = 0.5, 1, 2. Fig. 3. BLER simulation results for the (63,51,2) BCH code in IEEE 802.15.6.

The scaling operation on the soft input is used to narrow the


searching range and reduce the decoding latency. As illustrated
in Fig. 2 (blue curve), the linear scaling operation on the
LLRn results in a non-linear scaling operation on the original
probability. The highly reliable inputs, such as Pn > 0.9 and
Pn < 0.1, are scaled close to 1 and 0, respectively. Based
on the fact that the error bits usually occurs at low reliable
positions, smaller searching range leads to a lower decoding
latency. Moreover, by using the NDS method, there is no
need for noise power estimation for soft decision demodulation
module [7].
D. CRC aided Early Stopping Criteria Fig. 4. Decoding performance comparison with the existing soft-decision
BCH decoders
In order to improve the decoding performance and reduce
the decoding latency, CRC aided early stopping criteria is
applied in the proposed stochastic BCH decoder. Based on As demonstrated in Fig. 4, a comparison between proposed
the simulation results, the trade off between the CRC error stochastic BCH decoder and existing soft-decision BCH de-
detection capability and effective SNR loss is evaluated. De- coders [4], [3] has been illustrated. It can be observed that the
spite the increment in code rate and loss in effective SNR, proposed stochastic BCH decoder outperforms the existing SD
the better coding gain is observed by using the CRC check. decoders by 1 dB in terms of Eb/N 0. Moreover, the proposed
Therefore, the 8 bit CRC is applied in proposed design. design provides 1.75 dB coding gain compared to HDD.
IV. E VALUATION AND I MPLEMENTATION B. Decoding Latency
In this section, the simulation results on decoding perfor- Benefiting from the CRC aided early stopping criteria, the
mance, decoding latency analysis, and hardware implementa- proposed stochastic BCH decoder illustrates a significantly
tion results are presented.
A. Decoding Performance
The proposed stochastic BCH decoder is simulated based on
a BPSK modulated communication system with the (63,51,2)
BCH code specified in the IEEE 802.15.6 standard. The
floating point ML and HDD [2] are also plotted in Fig.
3 for comparison. The length of the bit streams L in the
proposed stochastic BCH decoder is set to 32, 64, 128, and
256 respectively. It can be observed that the performance of
the proposed stochastic BCH decoder improves significantly
with the increasing of bit stream length. Eventually, it approx-
imates to the performance of floating point ML decoder when
L = 256, with only 0.1 dB loss. In the rest of the simulation
and implementation, the bit stream length L is selected to be Fig. 5. Average decoding latency of the proposed stochastic BCH decoder
256. with CRC aided early stopping criteria, where L = 32, 64, 128, 256.

731

Authorized licensed use limited to: NATIONAL INSTITUTE OF TECHNOLOGY SILCHAR. Downloaded on November 09,2022 at 08:06:09 UTC from IEEE Xplore. Restrictions apply.
TABLE I
C OMPARISON OF (63,51,2) BCH CODE IN IEEE 802.15.6 HARDWARE IMPLEMENTATIONS .

Design Hard-Decision [3] Soft-Decision [3] Soft-Decision [4]a Stochastic Decoder [This work]
CMOS Technology (nm) 90d 90d 90 (TSMC) 90 (TSMC)
Code (N , K, t) (63,51,2) (63,51,2) (63,51,2) (63,51,2)
Coding Gainsb 0 dB 0.75 dB 0.75 dB 1.75 dB
Frequency (MHz) 143 66 250 281
Logic Gates 9618 16698 6171 16321
Area (um2 ) 35140 34768 17416 33983
Average Latencyc (clock cycles) 1 1.4 9 2
Throughputc (Mbps) 7283 2365 1417 7165
Hardware Efficiency (Mbps/K Gates) 432 50 230 439
a The parallelism level is selected as 7 (defined as decoding bits in one clock cycle), which is reported the highest hardware efficiency in [4]. b Measured at
BLER=10−2 compared with HDD performance. c Measured at EbN 0 = 5dB. d The CMOS technology is not detailed in [3].

reduced decoding latency at high signal-to-noise ratio region. [2] M. Helmling and S. Scholl, “Database of channel codes and ml
The IEEE 802.15.6 standard requires the frame error rate lower simulation results,” www. uni-kl. de/channel-codes, University of Kaiser-
slautern, 2016.
than 10%. Thus, in a practical WBAN system, the proposed [3] C. H. Yang, T. Y. Huang, M. R. Li, and Y. L. Ueng, “A 5.4 µw
stochastic BCH decoder would work at the EbN 0 > 4.5 soft-decision BCH decoder for wireless body area networks,” IEEE
dB region (BLER < 10−2 ), where it takes lower than 4 Transactions on Circuits and Systems I: Regular Papers, vol. 61, no. 9,
pp. 2721–2729, Sep. 2014.
clocks latency on average shown as Fig. 5. In addition, the [4] B. Jung, T. Kim, and H. Lee, “Low-complexity non-iterative soft-
stochastic BCH decoders with L = 32, 64, 128, 256 show a decision bch decoder architecture for wban applications,” Journal OF
similar average decoding latency when EbN 0 > 4.5 dB which Semiconductor Technology AND Science, vol. 16, no. 4, pp. 488–496,
2016.
means a longer bit stream length would leads to much better [5] R. Heloir, C. Leroux, S. Hemati, M. Arzel, and W. J. Gross, “Stochastic
decoding performance with little deterioration on decoding chase decoder for Reed-Solomon codes,” in New Circuits and Systems
latency. Conference (NEWCAS), 2012 IEEE 10th International. IEEE, 2012,
pp. 5–8.
[6] C. Leroux, S. Hemati, S. Mannor, and W. J. Gross, “Stochastic chase
C. Hardware Implementation decoding of Reed-Solomon codes,” IEEE Communications Letters,
Form Table I, it can be observed that the area consumption vol. 14, no. 9, pp. 863–865, 2010.
[7] S. S. Tehrani, S. Mannor, and W. J. Gross, “Fully parallel stochastic
and logic gates of the proposed design is lower than the exist- LDPC decoders,” IEEE Transactions on Signal Processing, vol. 56,
ing SDD [3] as a result of the simple architecture of stochastic no. 11, pp. 5692–5703, Nov. 2008.
computing. The SDD in [4] shows the lowest hardware cost [8] A. Naderi, S. Mannor, M. Sawan, and W. J. Gross, “Delayed stochastic
decoding of LDPC codes,” IEEE Transactions on Signal Processing,
due to its lower parallelism level (P = 7). The design in [3] vol. 59, no. 11, pp. 5617–5626, Nov. 2011.
and [4] used a test syndrome calculation and sorting module [9] I. Perez-Andrade, S. Zhong, R. G. Maunder, B. M. Al-Hashimi, and
with complex structure and longer delay, resulting a lower L. Hanzo, “Stochastic computing improves the timing-error tolerance
and latency of turbo decoders: Design guidelines and tradeoffs,” IEEE
throughput than proposed work. Consequently, compared to Access, vol. 4, pp. 1008–1038, 2016.
conventional binary system based SDD, the proposed design [10] B. Yuan and K. K. Parhi, “Belief propagation decoding of polar codes
illustrates advantages on both coding gains and the hardware using stochastic computing,” in Proc. IEEE Int. Symp. Circuits and
Systems (ISCAS), May 2016, pp. 157–160.
efficiency defined as the ratio of throughput to logic gates. [11] S. B. Wicker, Error control systems for digital communication and
storage. Prentice hall Englewood Cliffs, 1995, vol. 1.
V. C ONCLUSION [12] R. Naseer and J. Draper, “Parallel double error correcting code design
to mitigate multi-bit upsets in srams,” in Proc. ESSCIRC 2008 - 34th
This paper presents a novel stochastic computing based European Solid-State Circuits Conf, Sep. 2008, pp. 222–225.
decoder for BCH codes in WBAN systems. A combinational [13] W. Xueqiang, P. Liyang, W. Dong, H. Chaohong, and Z. Runde, “A
logic based hard decision decoding kernel and noise dependent high-speed two-cell BCH decoder for error correcting in mlc nor flash
memories,” IEEE Transactions on Circuits and Systems II: Express
scaling are characterized in the proposed design to further Briefs, vol. 56, no. 11, pp. 865–869, Nov. 2009.
reduce the hardware cost and improve the throughput, which [14] Y. M. Lin, H. C. Chang, and C. Y. Lee, “Improved high code-rate soft
contributes to high hardware efficiency. The proposed decoder BCH decoder architectures with one extra error compensation,” IEEE
Transactions on Very Large Scale Integration (VLSI) Systems, vol. 21,
significantly improves the decoding performance with respect no. 11, pp. 2160–2164, Nov. 2013.
to the existing art in soft decision decoders, while achieves [15] A. Vardy and Y. Be’ery, “Maximum-likelihood soft decision decoding of
higher area efficiency. The proposed stochastic BCH decoding BCH codes,” IEEE Transactions on Information Theory, vol. 40, no. 2,
pp. 546–554, Mar. 1994.
scheme could be a good implementation candidate for practical [16] G. Forney, “Generalized minimum distance decoding,” IEEE Transac-
WBAN systems. tions on Information Theory, vol. 12, no. 2, pp. 125–131, Apr. 1966.
[17] K. Han, J. Hu, J. Chen, and H. Lu, “A low complexity sparse code mul-
R EFERENCES tiple access detector based on stochastic computing,” IEEE Transactions
on Circuits and Systems I: Regular Papers, vol. 65, no. 2, pp. 769–782,
[1] “IEEE standard for local and metropolitan area networks - part 15.6: Feb. 2018.
Wireless body area networks,” IEEE Std 802.15.6-2012, pp. 1–271, Feb.
2012.

732

Authorized licensed use limited to: NATIONAL INSTITUTE OF TECHNOLOGY SILCHAR. Downloaded on November 09,2022 at 08:06:09 UTC from IEEE Xplore. Restrictions apply.

You might also like