1 Introduction

The use of LEDs in ambient lighting, the limited bandwidth, and the need for high-speed communication has led to the development of visible light communication (VLC) [1, 2]. However, the location of the LED armatures on the ceiling, the position of the receiver on the floor, and the data rate can cause Inter-Symbol Interference (ISI) in VLC [3]. To mitigate ISI, Orthogonal Frequency Division Multiplexing (OFDM), which is commonly used in radio frequency (RF) systems, can be utilized in VLC [4]. In the intensity modulated direct detection (IM/DD) method, which is frequently used in VLC, the transmitted symbols must be real-valued and positive [5]. To address this, OFDM can be employed in IM/DD systems by utilizing Hermitian symmetry [6].

One of the major issues with the OFDM method is the high peak-to-average power ratio (PAPR) at the output. In VLC systems, high PAPR values can result in damage to LEDs and nonlinear clipping distortion [4]. However, limiting the transmitted signal power to avoid clipping distortion can lead to inefficient use of LEDs [7]. Therefore, an effective PAPR reduction technique is needed at the transmitter [8, 9]. Various PAPR reduction techniques have been proposed for OFDM-based VLC systems [10,11,12].

The tone injection (TI) method is one of several PAPR reduction methods that have been adapted for VLC systems [13,14,15]. Other methods include active constellation extension (ACE) [16], tone reservation [17, 18], nonlinear companding and clipping [19], and the exponential nonlinear companding algorithm [20]. In addition, a pilot carrier-assisted PAPR reduction technique [21] and a selective mapping (SLM) method where side information (SI) is removed [22, 23] have also been proposed for VLC systems.

Additional alternatives are introduced for the original constellation points in TI method. However, unlike our proposed method, the alternatives for an original constellation point in the TI method might not be the closest to that original constellation point among other original constellation points. As a result, the tone injection method can cause a considerable increase in power [24]. Furthermore, implementing the TI method requires a higher processing workload for the receiver’s detection process. The ACE method involves moving the original M-QAM constellation points and expanding the constellation. However, the receiver does not need to know all possible extended constellation points because a moved version of an original constellation point is closest to the original constellation point among other original constellation points, as proposed in this paper. However, the ACE method cannot extend all the constellation points; it can only be applied to exterior constellation points [25]. In the TR method, some subcarriers are used not for carrying information but for reducing the PAPR. The subcarriers used for PAPR reduction are called reserved tones. The number of reserved tones, in other words, the amount of side information, can be quite significant [18]. The clipping method can cause a significant decrease in the bit error rate performance [26]. Clipping also causes out-of-band interference. When companding techniques are employed to reduce the out-of-band interference in clipping, the bit error rate (BER) performance is also improved [27]. Pilot-assisted PAPR reduction scheme transmits a block full of pilot symbols after a certain number of OFDM blocks (such as 4). However, the side information required for SLM (Selected Mapping) is lower, and the PAPR performance is better than the pilot-assisted PAPR reduction scheme [21].

This study proposes a unique PAPR reduction method for VLC systems. The proposed method adds a certain number of new constellation points around each constellation point, increasing the number of constellation points while allowing the receiver to detect the data sent using the original constellation points. The discrete particle swarm optimization (DPSO) algorithm selects constellation points from among the alternatives to give the lowest PAPR for each subcarrier. The proposed extended constellation points are then used in conjunction with selective mapping (SLM) to further reduce PAPR, at the cost of sending side information to the receiver. The performance of the proposed method in terms of both PAPR and BER is examined and shown to perform significantly well.

The paper is organized as follows: Sect. 2 describes the proposed multipoint constellation method, while Sect. 2.1 outlines the utilization of DPSO for the proposed method. The performance results of the proposed method are presented in Sect. 3. Finally, the conclusions are discussed in Sect. 4.

Notations: Matrices are denoted by bold uppercase letters, and vectors are denoted by bold lowercase letters. The \(\left[ . \right] ^\textrm{T}\) notation represents the transpose operation. The \(E\left[ .\right]\) notation represents the expectation operator.

2 The proposed method

The proposed multi-point constellation (MPC) scheme is a modulation scheme where incoming bits are mapped by M-QAM constellations, and L alternatives are added to each of M constellation points. These alternatives are generated by expanding the original constellation points in \(\Delta\) steps in a rectangular or circular area, controlled by a parameter r. The minimum distance between the alternatives of different constellation points is denoted by \(d_{\rm out,min}\). If \(d_{\rm in,max} < d_{\rm out,min}\), the receiver can detect the original symbols using the original constellation points. Figures 1 and 2 show the 4-QAM extended constellations obtained if constellation points are expanded within the rectangular and circular area.

Fig. 1
figure 1

Rectangular extended constellations for 4-QAM

Fig. 2
figure 2

Circular extended constellations for 4-QAM

The proposed scheme can be combined with selective mapping (SLM) to further reduce the PAPR. In the SLM technique, the N symbols obtained by mapping are multiplied by the weighting coefficients selected from the rows or columns of a weight matrix. However, due to Hermitian symmetry, only \(N/2-1\) distinct symbols can be carried by N subcarriers in VLC systems. Therefore, \(N/2-1\) distinct weighting coefficients should be selected from the rows or columns of the matrix. The \({\textbf{s}}\) array containing \(N/2-1\) symbols to be transmitted is shown in Eq. 1. The symbols \(s_{1},s_{2},...,s_{j}; (j=N/2-1)\) are mapped according to M-QAM modulation with respect to incoming binary data, while \(k_{1},k_{2},...,k_{j} \in \left[ 1,2,\ldots ,L\right]\) show the alternate point number determined independently for each symbol to be transmitted.

If SLM is used, \(m_{i,1}, m_{i,2},...m_{i,j}\) represent \(N/2-1\) elements in row i of the SLM weighting matrix. On the other hand, if SLM is not used, \(m_{i,1}, m_{i,2},...m_{i,j}\) are all equal to 1.

$$\begin{aligned} {\textbf{s}}=\left[ \begin{array}{llll} m_{i, 1} s_{1, k_1}&m_{i, 2} s_{1, k_2}&\ldots&m_{i,j} s_{j, k_{j}} \end{array}\right] \end{aligned}$$
(1)

In Eq. 2, \({\textbf{s}}_{{\textbf{t}}}\) represents the time-domain signal after applying Hermitian symmetry and inverse fast Fourier transform (IFFT). The operation \({\textbf{F}}^H\) represents the conjugate transpose of the Fourier transformation matrix, and \({\text {flip}}\) denotes the left-to-right flipping of the elements of an array. The \(*\) operator represents the complex conjugate. The resulting signal is a time-domain representation of the frequency-domain signal \({\textbf{s}}\), which has been extended to include the Hermitian symmetry.

$$\begin{aligned} {\textbf{s}}_{{\textbf{t}}}={\textbf{F}}^H \times \left[ \begin{array}{llll} 0&{\textbf{s}}&0&{\text {flip}}\left( {\textbf{s}}^*\right) \end{array}\right] ^\textrm{T} \end{aligned}$$
(2)

The values of \(k_{1},k_{2},...,k_{j}\) and i can be determined as follows to obtain lower peak-to-average power ratio.

$$\begin{aligned} {\text {argmin}}_{k_1, k_2, \ldots , k_j, i}\left( \frac{\max \left( {\textbf{s}}_{{\textbf{t}}}\odot \mathbf {s_{t}}\right) }{E\left[ {\textbf{s}}_{{\textbf{t}}}\odot \mathbf {s_t}\right] }\right) \end{aligned}$$
(3)
Fig. 3
figure 3

System model

The system model is presented in Fig. 3. The green (MPC), red (MPC+SLM), and blue (SLM) boxes represent the PAPR reduction methods compared in this study. If the MPC method is used, no side information is transmitted to the receiver. However, in the SLM and SLM+MPC methods, side information is transmitted to inform the receiver about the index number of the row of the weight matrix.

2.1 The proposed DPSO solution

In 1995, Kennedy and Eberhart developed Particle Swarm Optimization (PSO) [28]. Later, in 1998, Shi and Eberhart introduced a variant of PSO called Discrete PSO (DPSO) [29, 30]. PSO is frequently employed to tackle problems through virtual agents known as "particles." Each particle possesses a position and a velocity, both determined by vectors representing potential solutions. The position signifies the particle’s location within the solution space, while the velocity denotes the rate of positional change. Particles are updated by progressing toward their best-known solution and incorporating the best solutions of other particles within the group. This process continues until all particles converge to a local minimum or a specified tolerance level. The DPSO algorithm has demonstrated its effectiveness over PSO in addressing discrete optimization problems, exhibiting superior speed and accuracy [31].

For the resolution of discrete optimization problems, both the Genetic Algorithm (GA) and the DPSO algorithm can be applied. However, research indicates that DPSO achieves convergence with fewer iterations compared to GA [32]. While GA excels in terms of converging toward global optima, PSO gains preference in scenarios involving computational workload [33, 34]. In fact, recent studies have concentrated on the utilization of DPSO for solving discrete optimization problems [31, 35, 36].

Since the problem in Eq. 3 is a NP-Hard problem, it was decided that it would be appropriate to solve it using the DPSO algorithm. In the proposed method, DPSO is used to select one of the L alternatives for each symbol to be transmitted. DPSO is also used to select one of the rows of the weighting matrix when SLM and the proposed MPC method are used together. It is assumed that P particles are used in the DPSO algorithm. For each of the total P particles, the constellation alternative number (\(k_{1}, k_{2},\dots , k_{j}\)) and the row number i of the SLM weight coefficients matrix are determined by DPSO. N-point IFFT is taken and P different PAPR values are found for each of the particles. After the DPSO algorithm calculates the IFFT for each of the P particles, it determines the smallest PAPR value that all the particles have achieved so far and stores the corresponding parameters included in a vector consisting of binary values as the global best (\({{\varvec{g}}}{{\varvec{b}}}\)). The lowest PAPR value achieved by a particular particle (e.g., mth particle) is determined, and the corresponding binary vector is stored as the personal best (\({{\varvec{p}}}{{\varvec{b}}}_{m}\)) of that particle.

After K iterations of the DPSO algorithm, the proposed method obtains the alternative constellation numbers and the row number of the SLM weighting matrix from the global best vector \({{\varvec{g}}}{{\varvec{b}}}\), which provides the lowest PAPR value. As a result, the proposed method performs a total of \(P \times K\), N-point IFFTs. The alternative numbers \(k_1, k_2, \dots , k_j\) and the row number i are represented by \(A=\lceil \log _{2}(L)\rceil\) and \(B=\lceil \log _{2}(N)\rceil\) bits, respectively. The position vector \({\varvec{x}}_{m}\) of the mth particle contains \(A+B\) bits, while the velocity vector \({\varvec{v}}_{m}\) contains \(A+B\) elements between 0 and 1. After each iteration of the DPSO, the position and velocity vectors of the particles are updated according to Eqs. (4) and (5), where \(v_{m,k}\) and \(x_{m,k}\) denote the kth element of the velocity and position vectors of the mth particle. The constants \(c_{1}\) and \(c_{2}\) are used in the calculations, and \(r_{1}\) and \(r_{2}\) are vectors with \(A+B\) random valued elements. The number of rows in the weight matrix can be greater than the number of transmitted symbols, but only \(\frac{N}{2}-1\) weight coefficients are taken from a specified ith row.

$$\begin{aligned} \begin{aligned} \begin{aligned} {\varvec{v}}_{m}=&{\varvec{v}}_{m}+c_{1}{\varvec{r}}_{1}\odot \left( {{\varvec{p}}}{{\varvec{b}}}_{m}-{\varvec{x}}_{m}\right) +c_{2}{\varvec{r}}_{2}\odot \left( {{\varvec{g}}}{{\varvec{b}}}-{\varvec{x}}_{m}\right) \\ \end{aligned} \end{aligned} \end{aligned}$$
(4)
$$\begin{aligned} s\left( v_{m,k}\right) =\frac{1}{1+e^{-v_{m,k}}}; x_{m,k}= {\left\{ \begin{array}{ll}1 &{} \text{ if } {\text {rand}}() \le s\left( v_{m,k}\right) \\ 0 &{} \text{ otherwise } \end{array}\right. } \end{aligned}$$
(5)
Algorithm 1
figure a

Algorithm of Using DPSO for MPC+SLM

When only the SLM method is used, all the rows of the weight matrix are evaluated to find the row number i that provides the lowest PAPR. Then, the resulting vector \(\mathbf {s_t}\) is obtained. It is assumed that a cyclic prefix (CP) was added before transmission at the transmitter and removed at the receiver. The resulting vector \(\mathbf {r_t}\) is obtained at the receiver. In the case of the MPC method, \(\mathbf {r_t}\) is directly used to detect \(\mathbf {s_t}\). However, in the SLM and SLM+MPC methods, side information is used to detect \(\mathbf {s_t}\) from \(\mathbf {r_t}\). The pseudocode for the proposed method is illustrated in Algorithm 1.

$$\begin{aligned} \mathbf {r_{t}}={\textbf{H}}\mathbf {s_{t}}+\mathbf {n_{t}} \end{aligned}$$
(6)

The N samples received are the elements of \({\textbf{r}}_t\), which are corrupted by Additive White Gaussian Noise (AWGN) represented by the vector \({\textbf{n}}_t\). The \({\textbf{H}}\) matrix represents a circulant channel matrix of size \(N\times N\). At the receiver, the FFT is applied to \(\mathbf {r_t}\) to convert the multi-tap channel to a single-tap channel as follows.

$$\begin{aligned} \varvec{\Lambda }^{-1} \times {\textbf{F}} \times \mathbf {r_{t}}=\left[ \begin{array}{llll} 0&\tilde{{\textbf{s}}}&0&{\text {flip}}\left( \tilde{{\textbf{s}}}^*\right) \end{array}\right] ^{T} \end{aligned}$$
(7)

Here, \(\tilde{{\textbf{s}}}\) denotes the noisy version of the vector \({\textbf{s}}\) in Eq. 1. The matrix \(\varvec{\Lambda }\) is a diagonal matrix, and the circulant channel matrix \({\textbf{H}}\) can be expressed as \({\textbf{H}}={\textbf{F}}^{H}\times \varvec{\Lambda }\times {\textbf{F}}\). If the proposed MPC method and SLM are not used together, the receiver would not need to know any side information, and the received symbols can be detected as shown below:

$$\begin{aligned} \widehat{s_k}=c_j={\text {argmin}}_j\left| \widetilde{s_k}-c_j\right| \end{aligned}$$
(8)

The jth original constellation point, which is not extended, is represented by \(c_{j}\), and the detected symbol at index k is denoted by \(\widehat{s_k}\). Additionally, the kth element of \(\tilde{{\textbf{s}}}\) is represented by \(\widetilde{s_k}\). If the SLM method is used in conjunction with the proposed MPC method, the detection process would be as follows:

$$\begin{aligned} \widehat{s_k}=c_j={\text {argmin}}_j\left| \widetilde{s_k}-m_{i,k}c_j\right| \end{aligned}$$
(9)

To apply the SLM method in conjunction with the proposed MPC method, the receiver needs to know the kth weighting coefficient of the ith row of the weight matrix. One way to achieve this is by sending the row number i to the receiver as side information, assuming that the receiver is already aware of the specific weight matrix used (e.g., Hadamard matrix, as in our simulations).

3 Simulation results

The proposed MPC method has been applied to an indoor VLC system. The complementary cumulative distribution function (CCDF), which describes the probability that a random variable exceeds a certain threshold, was used to measure the PAPR performance. In addition, the bit error rate (BER) performance was analyzed since a PAPR reduction method should not reduce the BER performance below an acceptable level.

$$\begin{aligned} \begin{aligned} \textrm{CCDF}&={\text {Pr}}\left( 10 \log _{10}\left( \frac{\max \left( {\textbf{s}}_{{\textbf{t}}} \odot {\textbf{s}}_{{\textbf{t}}}\right) }{E\left[ {\textbf{s}}_{{\textbf{t}}} \odot {\textbf{s}}_{{\textbf{t}}}\right] }\right)>y_0\right) \\&={\text {Pr}}\left( \textrm{PAPR}_{\rm dB}>y_0\right) \end{aligned} \end{aligned}$$
(10)

CCDF refers to the probability that the Peak-to-Average Power Ratio (PAPR) in dB exceeds a specified threshold value \(y_0\). In the case of the Discrete Particle Swarm Optimization (DPSO) algorithm, the number of iterations and particles is represented by K and P, respectively. The parameters \(c_1\) and \(c_2\) in Eq. 4 are set to 2. The modulation technique used for M-ary Quadrature Amplitude Modulation (M-QAM) mapping involves M values of 4 and 16. Furthermore, the weight matrix consists of an \(N\times N\) Hadamard matrix, and the SLM and MPC methods are applied individually and in combination for N values of 64 and 128 subcarriers. Regardless of whether the MPC method is used in conjunction with SLM, DPSO necessitates \(K\times P\) IFFT evaluations.

Figures 4 and 5 show that rectangular extended constellations offer the best PAPR performance for \(M=4\), \(M=16\), and \(N=128\). While the MPC method alone cannot exceed the PAPR performance of the SLM method, combining the proposed MPC method with SLM can achieve better PAPR performance. In SLM, 128 IFFT operations are required for \(N=128\) as all rows are evaluated to identify the row with the lowest PAPR of the \(128\times 128\) weight matrix. However, the combined SLM and MPC method requires \(K\times P=10\times 10=100\) IFFT operations to achieve better PAPR performance than SLM alone for both \(M=4\) and \(M=16\). The proposed method can provide a gain of 1.46dB more than SLM with only 247 more IFFT computational cost, as shown in Fig. 4. However, for \(128-100=28\) fewer IFFT calculations, the proposed method provides a gain of 0.75dB more than SLM. Figure 5 further examines the PAPR performance of the proposed method for \(M=16\), demonstrating that increasing the number of particles and iterations leads to greater PAPR reduction gains. When SLM and MPC are combined, the PAPR reduction gain compared to SLM can reach up to 2.08dB.

Fig. 4
figure 4

4-QAM PAPR performances

Fig. 5
figure 5

16-QAM PAPR performances

We conducted an analysis of the Peak-to-Average Power Ratio (PAPR) results using a T test to determine whether the proposed methods (MPC, SLM+MPC) yield significantly different outcomes compared to both the unmodified OFDM and SLM methods. The T test also helped us determine if there were any significant differences in the PAPR results based on changes in the iteration and population sizes of the DPSO algorithm. The test results are displayed in Table 1, including the T score, standard deviation (s.d), and degrees of freedom (d.f). The hypothesis test result (H) consistently equals one and the p value for each case has been determined to be zero. When \(H=1\), it means that the mean of the difference between two samples (such as SLM and SLM+MPC) is not zero. The large T score values in Table 1 indicate that the compared methods are significantly different. Moreover, the T test involves at least one million samples (d.f + 1). The p value of zero suggests that the results were not obtained by chance.

Table 1 T test results

It is considered that selecting appropriate values for the iteration number (K) and particle number (P) in DPSO can result in both lower PAPR and reduced computational load. Table 2 displays the SNR levels necessary for the MPC, SLM+MPC, and SLM techniques to attain a BER (Bit Error Rate) value of \(3.8\times 10^{-3}\). This BER value represents the accepted threshold for forward error correction (FEC) when using \(N=128\). The BER performance of the MPC and SLM+MPC methods is not affected by the K and P values of the DPSO algorithm. When using the proposed MPC method, optimal BER performance is achieved by using a rectangular extension of the constellation points.

Table 2 The FEC limit performances

The results demonstrate that the FEC limit BER value can be achieved at an acceptable SNR value by using rectangular expanded constellation points and the SLM method together, while optimizing for the lowest PAPR value with DPSO. However, it should be noted that the clipping values outside the dynamic range of the LEDs, defined by the threshold (\(V_{\rm th}\)) and saturation (\(V_{\rm sat}\)) voltage levels, were not considered when calculating the results presented in Table 2. To ensure that the values obtained at the output of the IFFT fall within the dynamic range of the LED for illumination, they must be multiplied by a scaling factor (\(\alpha\)) [37]. Additionally, a DC bias value (\(V_{\rm dc}\)) should be added to the IFFT output to be transmitted. The scaled and DC added version of the IFFT output to be transmitted is denoted as (\({\textbf{s}}_{{\textbf{t}},{\rm scaled}}\)).

$$\begin{aligned} {\textbf{s}}_{{\textbf{t}}, {{\rm scaled}}}=\alpha {\mathbf {s_t}}+V_{\rm dc} \end{aligned}$$
(11)

A small scaling factor indicates a low power of the information-carrying part of the signal. In this study, the Cree Xlamp XB-H datasheet values of \(V_{\rm sat}=3.15\) V and \(V_{\rm th}=2.65\) V were used. A DC bias value of 3 V was used as \(V_{\rm dc}\) in the simulations. With the parameters \(M=16\), \(N=128\), \(K=100\), and \(P=25\), a scaling factor \(\alpha\) was calculated for each OFDM block to ensure that the LED was in the dynamic region and to prevent clipping. The power of the scaled IFFT output is denoted as \(p_{signal}\) and has values of \(-21.4833\) dB, \(-23.0209\) dB, and \(-23.8146\) dB for SLM+MPC, SLM, and without any PAPR reduction, respectively, for the mean of 20,000 OFDM blocks. The SLM+MPC method provided 1.5376 dB more signal power than the SLM method, which could result in a higher SNR value for the same receiver.

4 Conclusion

The multi-point constellation (MPC) method was proposed in this study to achieve lower PAPR in the DCO-OFDM method. The proposed method can reduce the PAPR value by 7 dB compared to DCO-OFDM for 128 carriers and 16-QAM modulation. Discrete particle swarm optimization is used in the proposed method to find the alternative constellation points. When the iterations and number of particles are increased, the proposed method performs a better PAPR reduction at the cost of a high processing load; the minimum number of iterations and particles was chosen as 10, and an approximate 6 dB gain was obtained compared to DCO-OFDM. Although the methods proposed were applied to a VLC DCO-OFDM system, they can also be used with most of the OFDM systems proposed for optical and RF communications. To reduce processing load, the proposed method may be used when the PAPR value of the original constellation points is above a certain threshold value. Future studies will experimentally implement the proposed method. Additionally, other metaheuristic methods besides DPSO will be tested, and the achieved performances will be compared, considering the computational workloads. When the proposed method and SLM are used together, weight coefficients are selected from the rows of the Hadamard matrix. These weight coefficients are multiplied with alternative constellation points, and the resulting new sample values undergo IFFT. In the future, a PAPR reduction method will be investigated that involves randomly generating a certain number of matrices, including the proposed MPC method, and selecting one of these matrices to minimize the PAPR.