You are on page 1of 4

1030 IEEE PHOTONICS TECHNOLOGY LETTERS, VOL. 28, NO.

9, MAY 1, 2016

Achieving FEC and RLL for VLC: A Concatenated


Convolutional-Miller Coding Mechanism
Xuanxuan Lu and Jing Li (Tiffany), Senior Member, IEEE

Abstract— Run-length limited (RLL) codes are widely used in unified coding solutions. The only exception is a recent
visible light communications to avoid long runs of 1s and 0s work by Wang and Kim [7], where the authors pioneered a
that potentially cause the flicker. This letter explores the serial concatenation of an outer Reed Solomon (RS) code and an
concatenation of convolutional codes and Miller codes to simul- inner 4B6B (or 8B10B) code. By developing a soft decoding
taneously achieve forward error correction and RLL control. strategy for the 4B6B (and 8B10B) code that produces mul-
Miller codes with high bandwidth efficiency are much ignored in
tiple decoding candidates for the outer RS code, the authors
practice due to their disappointing power efficiency. The novelty
of this letter is that we identity the merit of this previously showed considerable performance gains over hard-decoding
unfavorable RLL code (i.e., trellis structure and soft decidability), systems [7].
exploit some important coding principles (i.e., interleaved serial This letter considers developing joint FEC-RLL coding
concatenation and soft-iterative decoding), and assemble it to a mechanisms for VLC systems to simultaneously achieve
powerful turbo structure that makes it outperform the existing good bandwidth efficiency, good error correction and good
favorable choices. A modified Bahl-Cocke-Jelinek-Raviv decoding run-length control. The specific scheme we propose is a
algorithm is developed for the proposed concatenation. Analysis convolutional-Miller serial concatenation that consists of
and simulations confirm that the new system is capable of solid an on-off-keying (OOK) modulated Miller code serving as
RLL control and a superb performance better than the existing the inner code, a convolutional code serving as the outer
schemes.
code. Miller codes has disappointing bit error rate (BER)
Index Terms— Miller codes, RLL code, iterative decoding, performance, but they possess interesting features including
visible light communication. high spectral efficiency (e.g. twice as spectral efficient as
I. I NTRODUCTION Manchester codes) and efficient soft-decodability. The latter
is particularly worth noting, because unlike other RLL codes
A DVANCES in solid-state lighting not only enable light
emitting diodes (LED) to be a promising source for
future lighting, but also make possible the use of visible
whose soft-decoding involves exhaustive search (with expo-
nential complexity), Miller codes have elegant trellis structures
light communications (VLC) [1]. VLC is desirable due to an that lend themselves to linear-time, optimal soft decoding.
unregulated bandwidth, no interference with the existing radio Motivated by this and exploiting the renowned “serial concate-
frequency (RF) systems [2]. Consider a practical VLC system nation and soft-iterative paradigm” (which states that, when
using the visible light spectrum from 380 to 780 nm to provide done right, short, weak codes can be concatenated to form
the dual-purpose of illumination and communication. Among long, strong codes), we pull together convolutional codes and
the key building blocks are the run-length limited (RLL) code Miller codes and assemble them into a powerful serial concate-
and the forward error correction code (FEC). The former aims nation. Extrinsic information transfer (EXIT) analysis confirms
at eliminating long runs of 1’s and 0’s that could potentially the matching harmony of these codes. An overall soft-iterative
cause flicker and clock and data recovery detection problems decoder is developed to achieve a superior BER performance
and the latter is indispensable for providing reliable data that wins over the existing schemes. We thus advocate the
communication. new coding structure in VLC, in terms of solid RLL control,
A number of practical RLL codes have been proposed in high spectral efficiency and strong error correction capability.
the VLC literature, including the Manchester code, the 4B6B
code and the 8B10B code [3]. On the error control front, there II. M ILLER C ODE AND S YSTEM M ODEL
is the study of advanced FEC coding technology to recover Manchester codes with OOK prevail the literature of VLC.
data from the noise and to achieve dimming control. Notewor- Being the classic choice, Manchester codes are easy to imple-
thy examples include conventional Reed-Muller (RM) codes ment and very effective in controlling run lengths and main-
based on the bent function [4], rate-compatible convolutional taining clock synchronization, but suffer from poor bandwidth
codes [5], and low-density parity-check (LDPC) codes [6]. efficiency [8]. Since Miller codes have at least one transition
While these excellent previous researches have shed good every two bit intervals and there is never more than two tran-
insight into RLL and FEC separately, little is done about sitions every two bit intervals, they therefore provide effective
run-length control with better bandwidth efficiency. Further,
Manuscript received December 1, 2015; revised January 11, 2016; accepted when the five adjacent channels for the data rates specified
January 25, 2016. Date of publication February 3, 2016; date of current
version March 17, 2016. This work was supported by the National Sci- by the 802.15.7 standard coexist, the five carriers may overlap
ence Foundation under Grant 0928092, Grant 1133027, Grant 1343372, and and become difficult to separate, making Manchester codes
Grant PITA PIT-15-22. highly vulnerable to error [9].
The authors are with the Department of Electrical and Computer From the coding perspective, both Manchester codes and
Engineering, Lehigh University, Bethlehem, PA 18015 USA (e-mail:
xul311@lehigh.edu; jingli@ece.lehigh.edu).
Miller codes may be viewed as rate-1/2 codes. However,
Color versions of one or more of the figures in this letter are available Manchester codes have no memory. In comparison, Miller
online at http://ieeexplore.ieee.org. codes have memory and take a trellis structure similar to
Digital Object Identifier 10.1109/LPT.2016.2524578 that of an unterminated convolutional code (see Fig. 1)).
1041-1135 © 2016 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission.
See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
LU AND LI: ACHIEVING FEC AND RLL FOR VLC 1031

Fig. 1. Trellis diagram of Miller codes. At each stage, the dashed branch is Fig. 3. The proposed system model.
associated with input 0 and the solid line with input 1. The encoded output
bit takes the same value as the value of the next state.
M = 1 to 4, 8 and 30, the brightness intensity of the super-
symbols becomes increasingly uniform and approaches the
desirable level of 50% to keep DC balance.
The specific scheme we propose is a convolutional-Miller
serial concatenation that consists of an on-off-keying (OOK)
modulated Miller code serving as the inner code, a convolu-
tional code serving as the outer code. In VLC systems that
employ OOK, it is generally understood that a good dimming
control is achieved when the system generates about 50%
of the brightness level (i.e. when the “space”(bit 0) and the
“mark”(bit 1) appear with equal probability). With that “50%”
achieved, to further increase or decrease the light intensity
becomes rather straight-forward: one can either insert the
so-called “compensation” symbols (i.e. additional marks or
spaces) in a regular and patterned manner, or, leverage the
popular form of PWM.
Fig. 2. Super-symbol brightness in Miller codes with different super-symbol
size M = 1, 4, 8, 30.
B. A Concatenated FEC-RLL Coding Framework
This makes their effective code length longer, and allows for Having analyzed Miller codes, we now detail the proposed
optimal linear-time decoding such as the Viterbi algorithm joint FEC-RLL coding solution. As shown in Fig. 3, the system
(for hard decisions) and the Bahl-Cocke-Jelinek-Raviv (BCJR) consists of an outer convolutional code, a random interleaver,
algorithm (for soft decision). an inner Miller code. For clarity of presentation, we assume
the LEDs use OOK modulation. It is noted that, in general,
the scheme can be employed in the orthogonal frequency
A. Flicker Mitigation and Dimming Control division multiplexing (OFDM) systems with multi-level phase
A VLC system has dual functions of illumination and shift keying (MPSK) and multi-level quadrature amplitude
communication, and the former takes priority. For illumination modulation (MQAM) format to further support the high data
to be minimally affected by data communication requires transmission rate.
the proper handling of flicker mitigation (which controls the Convolutional codes, listed in the IEEE 802.15.7 standard,
fluctuation of the light) and brightness control. are preferable for their low complexity, soft decodability,
Define the maximum flickering time period (MFTP) as flexible code rates and frame lengths. The Miller code provides
the maximum time period over which the light intensity the much-needed run-length control for VLC and, at the same
can change without human perception. Then the inverse time, serves as a (recursive) convolutional inner code for the
of MFTP sets the lower frequency bound for flicker serial concatenation. The random interleaver connecting the
mitigation. In general, a flicker frequency greater than 200 Hz inner code and the outer code helps to break up the error
(MFTP < 5 ms) is imperceptible by human eyes. Since bursts (if any) and (together with the soft-iterative decoder) to
Miller codes guarantee transitions every other bit, setting the provide the renowned interleaving gain.
data stream with time period <2.5 ms would safely clear Let x be the Convolutional-Miller-coded and OOK-
the flicker issue. This is easily satisfied, as today’s VLC can modulated signal that goes through the VLC channel.
provide a data rate up to 1 Gbps [2] (i.e. transmission time The receiver gets y = x + n, where n is additive white
per byte <10−6 ms). Gaussian noise with variance σ 2 . As illustrated in Fig. 3,
It is apparent that Manchester codes, with codewords being the soft-iterative decoder runs the inner-subdecoder and
“01” and “10”, always provide a desirable brightness of 50%, the outer-subdecoder multiple times to refine the decoding
whereas Miller codes, also equipped with codewords results. The outer-subdecoder (for the convolutional code) can
(i.e. symbols) “00” and “11”, are less consistent in per-symbol make direct use of the existing soft-in soft-out (SISO) trellis
brightness intensity. However, if one considers M multiple decoding algorithms, such as the BCJR algorithm [10]. The
consecutive symbols as an “M-super-symbol”, and ensures inner-subdecoder (for the Miller code) can leverage a similar
that the M-super-symbol meets the MFTP limit, then the decoding idea, but since it is based on OOK modulation
brightness level actually becomes fairly consistent per super- (rather than the prevailing bipolar modulation in conventional
symbol. As illustrated by the histogram in Fig. 2 (random bit wireless/wireline communication systems), modification must
generation), as the size of the super-symbol increases from be made for the existing algorithms to work.
1032 IEEE PHOTONICS TECHNOLOGY LETTERS, VOL. 28, NO. 9, MAY 1, 2016

III. S OFT D ECODING FOR M ILLER RLL C ODES Combining (3) and (4), we get
A. BCJR Algorithm in VLC γk (u k , s  , s) = Ak Bk exp(u k L a (u k ))
   
With the soft-iterative decoding framework in place, the pk2 + qk2 p k y p k + q k yq k
key now boils down to the soft inner subdecoder for the × exp − exp .
2σ 2 σ2
Miller code. Below we discuss how to modify the conventional  

BCJR algorithm [10] to provide maximal a posterior (MAP) γke (u k ,s  ,s)


decoding for the inner Miller code in VLC.
Let u = (u 1 , u 2 , · · · , u K ) be the the input sequence to the The LLR of the information bit u k at the output of the
Miller code, and let x = (( p1 , q1 ), ( p2 , q2 ), · · · , ( p K , q K )) modified BCJR Miller subdecoder, L(u k ), is thus given by
be the Miller coded sequence, where ( pk , qk ) are the  P(u k = 1|y)
branch output corresponding to the input u k at time k. Let L miller (u k ) = ln
P(u = 0|y)
y = (y1 , y2 , · · · , y K ) = ((y p1 , yq1 ), (y p2 , yq2 ), · · · , (y p K ,q K ))  k
be the noise-corrupted sequence at the input to the decoder. αk−1 (s  )γk (u k , s  , s)βk (s)
u =1
= 
k
The BCJR decoding algorithm includes the calculation of
the forward metric αk , the backward metric βk , and the transi- αk−1 (s  )γk (u k , s  , s)βk (s)
u k =0
tion metric γk , ∀k = 1, 2, · · · , K [10]. The forward and back- 
ward metrics, αk and βk , are not directly related to the channel αk−1 (s  )γke (u k , s  , s)βk (s)
u =1
= L a (u k )+ 
k
and are calculated in the same recursive  way as in a conven- . (5)
tional BCJR decoder [10]: αk (s) = αk−1 (s )γk (u k , s  , s), αk−1 (s  )γke (u k , s  , s)βk (s)
u k =0
 s 
βk−1 (s  ) = βk (s)γk (u k , s  , s), where s and s  stand for the
s
trellis states at time k and (k − 1). B. Iterative Decoding of RLL and FEC Codes
The key modification is in the calculation of the transition The soft-iterative decoder of Miller codes and convolutional
metric γk , which must account for the underlying channel and codes employs two BCJR subdecoders: the modified version
the modulation at hand. Let γk (u k , s  , s) denote the transition for the inner Miller code we just described, and the one for
probability of taking in information bit u k and going from the outer convolutional code. Recall that we have a serial
state s  at time (k − 1) to state s at time k. We have concatenation, so the outer convolutional code views the inner
Miller code (together with the actual VLC channel) as the
γk (u k , s  , s) = P(u k )P(yk (s  , s)|u k ), (1) “virtual channel”. The overall decoder proceeds as follows (we
use the superscript (l) to denote the number of iteration):
where yk (s  , s) denotes the noisy signal associated with the • Inner Decoding: In the lth iteration (l = 1, 2, · · · ),
s  → s transition at time k (see the trellis structure in Fig. 1), (l)
perform Miller BCJR decoding to get L miller (u k ) using (5),
and P(u k ) denotes the a prior probability of sending u k . Let (l)
L a (u k ) be the a prior log-likelihood ratio (LLR) of u k , which where the a prior information L miller,a (u k ) is set to 0 for
is set to be zero for the first iteration (for equal-probable l = 1, and is otherwise set to the extrinsic information,
(l−1)
sources), and is updated using the extrinsic information from L conv,e (u k ).
the outer convolutional subdecoder during each round of • Outer Decoding: The outer subdecoder performs the BCJR
iterative decoding. We have: decoding by always setting its a prior information to 0 and
taking in the LLR computed by the Miller code L (l) miller (u k ) as
P(u k = 1) P(u k = 1) the reception from the virtual channel. The BCJR algorithm
L a (u k ) = ln = ln , (2) (l)
P(u k = 0) 1 − P(u k = 1) produces an LLR information, L conv (u k ), from which a binary
decision of the overall system can be made. If additional
and hence decoding iteration is desired, the extrinsic can be computed
P(u k ) = Ak exp(u k L a (u k )), (3) via L (l) (l) (l)
conv,e (u k ) = L conv (u k ) − L miller (u k ) and be passed back
to the inner subdecoder for further refinement.
where Ak = 1+exp(L 1
a (u k ))
is a constant.
Recall that ( pk , qk ) is the coded output corresponding to C. EXIT Analysis
the transition (s  → s) at time k. The probably P(yk (s  , s)|u k )
We employ the useful tool of EXIT analysis, and show
in (1) is thus calculated by
an EXIT chart in Fig. 4 to show the convolutional-Miller
P(yk (s  , s)|u k ) concatenation is capable of providing iterative gain. In the plot,
    the x-axis represents the extrinsic mutual information Iconv,e
1 (y p − pk )2 1 (yq − qk )2 from the outer convolutional code, or, equivalently, the a priori
= √ exp − k 2 √ exp − k 2
2πσ 2 2σ 2πσ 2 2σ mutual information to the inner Miller code I Miller,a ; the
  
p +q
2 2
p k y p k + q k yq k y-axis represents the extrinsic mutual information I Miller,e
= Bk exp − k 2 k exp , (4) from the inner Miller code, or, equivalently, the a priori mutual
2σ σ2 information to the outer convolutional code Iconv,a . As we see,
 2 2  the two EXIT curves (depicting the transfer characteristics
y p +yq of the two component codes) match nicely in shape and in
where Bk = 1
2πσ 2
exp − k2σ 2 k is also a constant.
position, leaving a consistent, open tunnel between them, thus
(Note (3) and (4) is the major difference between the modified allowing the iterative decoder to continually refine its decision
BCJR algorithm and the conventional BCJR algorithm.) along the iterations until it converges to the desired point.
LU AND LI: ACHIEVING FEC AND RLL FOR VLC 1033

Fig. 4. EXIT chart for the iterative decoding of Miller and the convolutional
code, E b /N0 = 2 dB.
Fig. 6. BER comparison between rate-1/3 Convolutional-Miller codes
(using punctured convolutional code (5, 7) and (15, 17)) and rate-14/45
RS-4B6B code [7].

BCJR algorithm has about 3 times the complexity of a Viterbi


algorithm for the same code, but the BCJR algorithm is
advantageous in that it does not involve a trace-back procedure
as with the Viterbi algorithm and, best of all, it lends itself
to a very natural and efficient parallelization (which signifi-
cantly expedite the decoding process). The overall decoding
complexity increases linearly with the number of iterations,
and we have shown that 4 iterations are sufficient to extract
most of the coding gain.
Fig. 5. BER performance of convolutional-Miller concatenation with soft-
iterative decoding. A rate-1/2 convolutional code (5, 7) is used, the block V. C ONCLUSION
sizes 150 and 3000 bits.
We have presented a convolutional-Miller concatenated
scheme as a strong FEC/RLL candidate for VLC. We showed
IV. S IMULATION R ESULTS
that Miller codes not only provide a high bandwidth efficiency
We now evaluate the proposed joint convolutional-Miller than Manchester codes, but also lend themselves to a serial
scheme with soft-iterative decoding. Two types of convolu- concatenation that can provide substantial interleaving gains
tional codes are tested: rate-1/2 (5, 7) code and punctured using soft-iterative decoding. The proposed scheme presented
rate-1/3 (5, 7) and (15, 17) codes. Two reference schemes are in this letter are for the OOK-modulated systems. An inter-
pulled in for comparison: Ref(i) – the same convolutional- esting future direction would be to consider systems with
Miller concatenation using hard decoding, and Ref(ii) – advanced modulation to achieve higher data transmission rate.
RS-4B6B concatenation proposed in [7], which consists of an
RS (15, 7) code, an 4B6B RLL codes, and a multi-candidate R EFERENCES
decoder.
[1] S. Rajagopal, R. D. Roberts, and S.-K. Lim, “IEEE 802.15.7 Visible
Fig. 5 demonstrates effectiveness of the soft-iterative par- light communication: Modulation schemes and dimming support,” IEEE
adigm. We observe the renowned interleaving gain phenom- Commun. Mag., vol. 50, no. 3, pp. 72–82, Mar. 2012.
enon, and in both cases, 4 iterations of soft decoding brings [2] A. Jovicic, J. Li, and T. Richardson, “Visible light communication:
up more than 3 dB gains over sequential hard decoding Opportunities, challenges and the path to market,” IEEE Commun. Mag.,
at the bit error rate (BER) of 10−4 . In Fig. 6, we com- vol. 51, no. 12, pp. 26–32, Dec. 2013.
[3] IEEE Standard for Local and Metropolitan Area Networks—Part 15.7:
pare the proposed schemes with the two references schemes. Short-Range Wireless Optical Communication Using Visible Light,
All the convolutional-Miller concatenation schemes tested here IEEE Standard 802.15.7, 2011, pp. 248–271.
(soft decoding or hard decoding) use a (5, 7) or (15, 17) outer [4] S. Kim and S.-Y. Jung, “Modified Reed–Muller coding scheme made
convolutional code with data length 3000 that is punctured from the bent function for dimmable visible light communications,”
IEEE Photon. Technol. Lett., vol. 25, no. 1, pp. 11–13, Jan. 1, 2013.
to rate 23 , resulting in an overall code rate of 23 12 = 13 . For [5] J. Kim and H. Park, “A coding scheme for visible light communication
Ref(ii) the RS-4B6B scheme [7], 16 candidates are preserved with wide dimming range,” IEEE Photon. Technol. Lett., vol. 26, no. 5,
pp. 465–468, Mar. 1, 2014.
6 = 45 ,
7 4 14
in the decoding process, and the overall code rate is 15 [6] S. H. Lee and J. K. Kwon, “Turbo code-based error correction scheme
1
which is slightly smaller than 3 . It is encouraging to see that for dimmable visible light communication systems,” IEEE Photon.
the proposed convolutional-Miller concatenation with soft- Technol. Lett., vol. 24, no. 17, pp. 1463–1465, Sep. 1, 2012.
[7] H. Wang and S. Kim, “New RLL decoding algorithm for multiple
iterative decoding clearly outperform these existing schemes candidates in visible light communication,” IEEE Photon. Technol. Lett.,
(in addition to providing a slightly code rate). vol. 27, no. 1, pp. 15–17, Jan. 1, 2015.
The encoding and the decoding complexity of our scheme [8] M. Hecht and A. Guida, “Delay modulation,” Proc. IEEE, vol. 57, no. 7,
is linear to the code length. The encoder can run extremely pp. 1314–1316, Jul. 1969.
fast via linear shift-register (LSR) circuits (which is much [9] M. Hecht and A. Guida, “Evaluation of the noise effects on visible light
communications using Manchester and Miller coding,” in Proc. 12th Int.
faster than the look-up table encoder used in, for example, Conf. Develop. Appl. Syst., Suceava, Romania, May 2014, pp. 85–89.
4B6B code). The decoder performs the BCJR algorithm [10] S. Lin and D. J. Costello, Error Control Coding, vol. 31. London, U.K.:
for the FEC and the RLL code. It is recognized that the Pearson Education, 2013, ch. 12, pp. 1211–1216, no. 8.

You might also like