# Constant Transmission Efficiency Dimming Control Scheme for VLC Systems
## 3 The Proposed Dimming Control Scheme
### Construction of the Codeword Set  
In this subsection, we provide the construction of the codeword set. Firstly, some notations should be defined. In the proposed ECWCS scheme, the transmitted binary data should be divided into several binary data sequences with the same length. We define the length of the original binary sequence is \(k\), thus the original binary sequence can be expressed as \(\mathbf{b}=[b_{1},b_{2},\cdots,b_{k}]\). The length of the dimming coded binary sequence is defined as \(n\), thus the coded binary sequence is represented by \(\mathbf{c}=[c_{1},c_{2},\cdots,c_{n}]\). From the definitions provided above, it is not difficult to know that the most important point of the proposed scheme is to find the proper value of \(n\) and construct the codeword set when \(k\) is known. We know that when \(i\) is a positive integer and \(i\leqslant n/2\), the combinatorial number have the relationship as follows: \(C_{n}^{1}<C_{n}^{2}<\cdots<C_{n}^{i}\), where \(C_{n}^{m}\) represents the combinatorial number of selecting \(m\) elements from \(n\) elements. The essence of the proposed scheme's codeword set construction is to increase the number of codewords available while keeping the transmission efficiency constant and dimming control function. In order to ensure the dimming control function, the average code weight of a codeword set should be fixed. In order to obtain a constant transmission efficiency, the ratio of \(k\) to \(n\) should be a constant when the dimming factor \(\gamma\) varies. Based on the above two points, when the length of the original binary sequence \(k\) is fixed, the length of the coded binary sequence need to satisfy the condition:  
\[n\geqslant 2^{k}. \tag{5}\]  
We define \(\mathcal{S}\) is the codeword set constructed by the proposed scheme, and \(m\) represents the total number of bit '1' of all elements in set \(\mathcal{S}\). Thus the dimming factor can be expressed as  
\[\gamma=\frac{m}{n\times 2^{k}}. \tag{6}\]  
From Equation (6) and the analyses in this subsection, we know that the dimming range of the proposed dimming control scheme is \([\frac{1}{n},\frac{n-1}{n}]\) and the division value of the dimming factor is \(\frac{1}{n\times 2^{k-1}}\). The reason for the division value is \(\frac{1}{n\times 2^{k-1}}\) rather than \(\frac{1}{n\times 2^{k}}\) is as follows: In order to improve the error performance, we make all the code weight of the codewords in the codeword set odd or even to ensure the Hamming distance of the codewords in the codeword set is 2. For example, if \(111000\) is a codeword in the codeword set \(\mathcal{S}\), the code weight of the rest codewords in \(\mathcal{S}\) are all odd. Meanwhile, \(2^{k}\) is an even, and \(m\) is the total number of bit '1' of all elements in set \(\mathcal{S}\). In other words, it represents the total code weight of codewords in \(\mathcal{S}\). The summation of \(2^{k}\) odd numbers (or even numbers) is an even number, thus the division value of the dimming factor is \(\frac{2}{n\times 2^{k}}=\frac{1}{n\times 2^{k-1}}\). For the sake of calculation, in the rest of this paper, the dimming factor \(\gamma=a\times\frac{1}{2^{k}}\), where \(a\) is an even integer with \(0<a\leqslant 2^{k}\times\frac{n-1}{n}\). According to the value of the dimming factor, the encoding procedure can be divided into two cases:  
For the convenience of expression, we define \(i\) is a positive integer and \(0<i<n\). 1. When the dimming factor \(\gamma=\frac{i}{n}\), the code weight of every codeword in the codeword set \(\mathcal{S}\) is \(i\). Therefore, we can not only guarantee the dimming factor \(\gamma=\frac{i}{n}\) but also ensure the Hamming distance of the codewords in the codeword set \(\mathcal{S}\) is 2 to improve the error performance. 2. When the dimming factor \(\gamma\
eq\frac{i}{n}\) and \(\frac{1}{n}<\gamma<\frac{n-1}{n}\), the construction of the codeword set is more complicated. First we find the range \(\frac{i}{n}<\gamma<\frac{i+1}{n}\).