  Current flicker mitigation (or DC-balance) solutions based on run-length
limited (RLL) decoding algorithms are high in complexity, suffer from reduced
code rates, or are limited in application to hard-decoding forward error
correction (FEC) decoders. Fortunately, non-RLL DC-balance solutions can
overcome the drawbacks of RLL-based algorithms, but they meet some difficulties
in system latency, low code rate or inferior error-correction performance.
Recently, non-RLL flicker mitigation solution based on Polar code has proved to
be a most optimal approach due to its natural equal probabilities of short runs
of 1's and 0's with high error-correction performance. However, we found that
this solution can only maintain DC balance only when the data frame length is
sufficiently long. Therefore, these solutions are not suitable for using in
beacon-based visible light communication (VLC) systems, which usually transmit
ID information in small-size data frames. In this paper, we introduce a flicker
mitigation solution designed for beacon-based VLC systems that combines a
simple pre-scrambler with a (256;158) non-systematic polar encoder.
