  Run length limited (RLL) codes are used in visible light communication (VLC)
to avoid flicker and to support different dimming ranges such that
communication is not affected by the variation in light intensity. In this
paper, we propose a low complexity split phase code as RLL code in serial
concatenation with the convolutional code as a forward error correcting code
(FEC) for VLC. The split phase code can be represented by a two-state
trellis-like code which can provide an iterative gain in FEC-RLL serial
concatenation. We also use the extrinsic information transfer (EXIT) chart to
explain the iterative decoding behavior of the proposed serial concatenated
scheme. Furthermore, we use puncturing and compensation symbols to support
various dimming range in VLC.
