A machine learning based channel estimation and demodulation method
By employing a DCO-OFDM system and a neural network combined with K-means demodulation in underwater optical communication, the noise impact on channel estimation and signal detection in underwater optical communication was solved, thereby improving channel estimation performance and communication reliability.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- CHANGCHUN UNIV OF SCI & TECH
- Filing Date
- 2023-11-30
- Publication Date
- 2026-07-07
AI Technical Summary
Traditional underwater optical communication channel estimation and signal detection methods perform poorly in noisy environments, especially with large errors under low signal-to-noise ratio conditions. Furthermore, existing neural network models require training multiple models for different subcarrier modulation formats to adapt to channel variations.
A machine learning-based channel estimation method is adopted. By constructing an underwater optical channel model, using a DCO-OFDM system combined with neural networks and K-means demodulation, the channel frequency response is output and channel equalization is performed to finally recover the original bit stream.
It effectively mitigates the multipath effect of underwater optical channels, improves channel estimation performance and robustness, enhances communication reliability, and reduces the bit error rate.
Smart Images

Figure CN117640300B_ABST
Abstract
Description
Technical Field
[0001] This invention belongs to the field of underwater optical communication signal processing technology, and relates to a channel estimation and demodulation method based on machine learning. Background Technology
[0002] With the rapid growth of terminal devices accessing the Internet globally, the spectrum for radio frequency communication is becoming increasingly scarce. Underwater optical communication, due to its abundant spectrum resources and high security, has attracted attention. However, because complex underwater channels can cause turbulence, absorption, and scattering of signals, they are time-varying channels, leading to increased bit error rates. Therefore, estimating and detecting signals in complex underwater channels remains a challenge.
[0003] Traditional channel estimation algorithms include Least Squares (LS) and Linear Least Mean Square Error (LMMSE). LS is the simplest channel estimation algorithm; however, it does not consider the interference of noise on the signal, resulting in a large channel estimation error at low signal-to-noise ratios, which degrades communication performance. The LMMSE algorithm considers the impact of noise, but it requires calculating the channel weight matrix in real time, thus increasing computational complexity. Traditional signal detection uses minimum distance demodulation, a common and simple algorithm; however, it is sensitive to noise and performs poorly on complex modulated signals. To address the limitations of traditional methods, this invention provides a machine learning approach to solve the problems of channel estimation and signal demodulation.
[0004] Currently, most underwater optical communication systems based on machine learning use neural networks for direct signal detection, i.e., the neural network outputs an estimated raw bit stream. However, this method can only build a neural network model for signal detection for one subcarrier modulation format. In some variable subcarrier OFDM systems, the subcarrier modulation format can be adaptively selected according to channel conditions. Therefore, the above-mentioned neural network method requires training and deploying multiple neural network models for signal detection. Summary of the Invention
[0005] (a) Technical problems to be solved
[0006] To address the shortcomings of existing technologies, a channel estimation and demodulation method based on machine learning is provided. The neural network outputs the estimated channel frequency response based on the received pilot symbols, performs channel equalization based on the output, and then calls k-means demodulation to recover the original bit stream, thus solving the problems mentioned in the background technology.
[0007] (II) Technical Solution
[0008] To achieve the above objectives, the present invention specifically adopts the following technical solution:
[0009] A channel estimation and demodulation method based on machine learning, characterized by the following steps:
[0010] Step 1: Construct an underwater optical channel model for absorption, scattering, and turbulence. Based on the absorption and scattering coefficients of different water qualities, use the Monte Carlo method to obtain the attenuation of the optical signal caused by absorption and scattering effects under different underwater channels. Then, obtain random turbulence attenuation based on the mathematical model of turbulence. Finally, combine the attenuation of absorption and scattering with the turbulence attenuation to obtain the channel impact response of different underwater environments on light.
[0011] Step 2: Construct an underwater DCO-OFDM system. At the transmitting end, the bit stream is processed by S / P and QAM to obtain parallel QAM symbols. To ensure that a positive real number signal is obtained after IFFT, Hermitian symmetry is applied to the QAM signal. Then, pilot symbols for channel estimation at the receiving end are added, followed by IFFT to obtain a time-domain OFDM signal. A cyclic prefix is added to the beginning of the OFDM signal to mitigate inter-symbol interference. After P / S, a DC component is added and zero clipping is performed to ensure that the transmitted time-domain signal is non-negative. Finally, the signal is used to drive the LED to emit light. After the light passes through the channel constructed in Step 1, the receiving end receives the distorted signal and performs the opposite operation to that of the transmitting end.
[0012] Step 3: Obtain the neural network dataset. Based on the channel model described in Step 1 and the DCO-OFDM system described in Step 2, obtain the dataset. At the transmitting end, use fixed pilot symbols to perform IFFT to obtain the time-domain pilot signal. Then, the pilot signal passes through different channel impulse responses, and the corresponding channel frequency response is obtained by FFT and added as a label to the training set. At the receiving end, the time-domain pilot signal is received, and FFT is performed to obtain the distorted pilot symbol. At the same time, the data is preprocessed to obtain real numbers that the neural network can process. These real numbers are added as input to the neural network and added to the training set. The test set is processed in the same way.
[0013] Step 4: Construct and train the channel estimation neural network. First, construct a neural network model containing convolutional layers. Based on the dataset described in Step 3, train and test the neural network model. During model training, use the training dataset to train the model. The model optimizes its parameters based on the input data and labels. After the model training converges, use the test dataset to test the model. The model outputs the estimated channel frequency response based on the input data and the model's parameters.
[0014] Step 5: Construct a k-means demodulator. Based on the model output described in Step 4 and the distorted signal described in Step 2, obtain the frequency domain equalized signal. Then, separate and combine the real and imaginary parts of the signal into a matrix. This matrix is a dataset for the K-means algorithm. Then, perform K-means clustering on each row of the dataset. After the clustering converges, the cluster number of each row of data is the demodulation result.
[0015] Step 6: Performance evaluation of the proposed method. Based on steps 1 and 2, the dataset of the entire system is obtained. First, a random bit stream is generated and a constellation diagram is mapped to obtain symbols, which are the labels of the system dataset. Then, DCO-OFDM modulation is performed. The signal after FFT at the receiving end is preprocessed. First, the pilot and distortion signals are separated. The pilot is input into the model described in step 4. The model outputs the channel frequency response. The distortion signal is used to perform channel equalization to obtain the equalized signal. The result of the signal obtained by the method described in step 5 is the output of the system dataset. After binary conversion and parallel-to-serial conversion of the output and the previously mentioned system dataset labels, the bit error rate is judged. The performance of the proposed method can be evaluated by the bit error rate.
[0016] Furthermore, in step 1, Monte Carlo simulations were performed using four different underwater channels: pure seawater, clear seawater, inlet seawater, and port seawater. The channel distance was 10m, the divergence angle of the LED was 120°, and the turbulence mathematical model used was a log-normal distribution with a variance of 0.5 and a mean of 1.
[0017] Further, in step 2, the number of subcarriers in the constructed DCO-OFDM is 64. At the transmitting end, the bit stream is processed by S / P and then 8-QAM to obtain parallel 8-QAM symbols. In order to ensure that a positive real number signal is obtained after IFFT, Hermitian symmetry is applied to the QAM symbols. Then, pilot symbols for channel estimation at the receiving end are added. The pilot symbols are placed in a block pilot configuration. Then, a 64-point IFFT is performed to obtain a real number OFDM signal. A cyclic prefix is added to the head of the OFDM signal to alleviate inter-symbol interference. Then, P / S is performed, and a DC component of magnitude 13dB is added and zero clipping is performed to ensure that the transmitted time-domain signal is non-negative. Finally, the signal is used to drive the LED to emit light. After the light passes through the channel constructed in step 1, the receiving end receives the distorted signal and performs the opposite operation to that at the transmitting end.
[0018] Furthermore, in step 3, a random binary signal is generated as a pilot symbol, and then the signal is converted into a time-domain pilot signal by IFFT. The pilot signal is passed through the channel and additive white Gaussian noise with a signal-to-noise ratio of {40, 45, 50, 55, 60} dB is added to obtain a distorted time-domain signal.
[0019] Furthermore, in step 4, the constructed neural network model consists of four layers: the first layer is an input layer with a dimension of 128; the second layer is a convolutional layer containing 12 one-dimensional convolutional kernels, and the end of this layer uses a Flatten operation to transition to a dense layer; the third layer is a dense layer with a dimension of 220; and the fourth layer is a dense layer with a dimension of 31. This model does not use an activation function, and each layer is followed by a Dropout layer with a ratio of 0.1 and a batch normalization layer to prevent overfitting. During model training, the Adam method is used for optimization, with an initial learning rate of 0.001.
[0020] Furthermore, in step 5, since the DCO-OFDM subcarriers use 8th-order QAM, the number of clusters K in the K-me-ans algorithm is 8, and the initial center points are {1+1i,1-1i,3+1i,3-1i,-1+1i,-1-1i,-3+1i,-3-1i}.
[0021] Further, in step 6, the constructed system includes a communication transmitter, an LED, a lens group, a channel, a photodiode, and a communication receiver. The communication transmitter includes a computer, an FPGA, a low-pass filter, and a driver board. The communication receiver includes a transimpedance amplifier, a signal amplifier, the FPGA, and the computer. The channel distance is 10m. At the transmitter, random bits are generated using MATLAB, and a series of operations are performed to generate an analog time-domain signal. The LED is then driven by the driver board to emit light. The light is focused by the prism group and illuminates the photodiode. The photodiode outputs an electrical signal to the transimpedance amplifier and the signal amplifier, and then sends the signal to the FPGA to obtain a digital time-domain signal. The computer then processes the signal. The signal-to-noise ratio of the system test dataset is {10, 11, ..., 30} dB.
[0022] (III) Beneficial Effects
[0023] Compared with existing technologies, this invention provides a channel estimation and demodulation method based on machine learning, which has the following advantages:
[0024] 1) Using a DCO-OFDM system can effectively mitigate the multipath effect of underwater optical channels;
[0025] 2) Compared with traditional channel estimation algorithms, neural network methods have better estimation performance and stronger robustness, which can improve the reliability of communication.
[0026] 3) Using the k-means algorithm instead of the commonly used minimum distance demodulation algorithm can improve the demodulation effect of constellation diagrams and further improve the reliability of communication. Attached Figure Description
[0027] Figure 1This is a diagram of the DCO-OFDM system used in this invention;
[0028] Figure 2 This is a diagram illustrating the method for obtaining the training dataset according to the present invention;
[0029] Figure 3 This is a diagram showing the placement of the experimental equipment of the present invention. Detailed Implementation
[0030] The technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.
[0031] Example
[0032] like Figure 1-3 As shown in the figure, an embodiment of the present invention proposes a channel estimation and demodulation method based on machine learning, which includes the following steps:
[0033] Step 1: Construct an underwater optical channel model for absorption, scattering, and turbulence. Based on the absorption and scattering coefficients of different water qualities, the Monte Carlo method is used to obtain the attenuation of the optical signal caused by absorption and scattering effects under different underwater channels. Then, based on the mathematical model of turbulence, random turbulence attenuation is obtained. Finally, the channel impact response caused by different underwater environments is obtained by combining the attenuation of absorption and scattering with the turbulence attenuation. Monte Carlo simulations were performed using four different underwater channels: pure seawater, clear seawater, estuary seawater, and port seawater. The channel distance was 10m, and the divergence angle of the LED was 120°. The channel impact response caused by absorption, scattering, and turbulence is as follows:
[0034] h(t)=h0(t)I(t)
[0035] h0(t) is the channel impulse response caused by the absorption and scattering effect simulated by Monte Carlo, I(t) is the turbulence amplitude, the turbulence mathematical model is log-normally distributed with a variance of 0.5 and a mean of 1;
[0036] Step 2, construct the underwater DCO-OFDM system, such as Figure 1As shown, at the transmitting end, the bit stream is processed by S / P and QAM to obtain parallel QAM symbols. To ensure a positive real signal after IFFT, Hermitian symmetry is applied to the QAM signal. Pilot symbols for channel estimation at the receiving end are then added, followed by another IFFT to obtain a time-domain OFDM signal. A cyclic prefix is added to the OFDM signal header to mitigate inter-symbol interference. After P / S, a DC component is added and zero clipping is performed to ensure the transmitted time-domain signal is non-negative. Finally, this signal is used to drive an LED to emit light. After the light passes through the channel constructed in step 1, the receiving end receives a distorted signal and performs the opposite operation to the transmitting end. The constructed DCO-OFDM has 64 subcarriers. At the transmitting end, the bit stream is processed by S / P and 8-QAM to obtain parallel 8-QAM symbols. To ensure a positive real signal after IFFT, Hermitian symmetry is applied to the QAM symbols.
[0037]
[0038] X n Let X be the symbol of the nth subcarrier, N be the number of subcarriers, * be the conjugate operation, and X be the symbol of the nth subcarrier. OFDM The signal is an OFDM symbol, followed by pilot symbols for receiver channel estimation. The pilot symbols are placed in a block pilot configuration. Then, a 64-point IFFT is performed to obtain the time-domain OFDM signal.
[0039]
[0040] In the formula, x n The nth time-domain signal is used, and a cyclic prefix is added to the head of the OFDM signal to mitigate inter-symbol interference. Then, P / S is applied, followed by the addition of a 13dB DC component and zero clipping to ensure the transmitted time-domain signal is non-negative. Finally, this signal is used to drive the LED to emit light. After the light passes through the channel constructed in step 1, the signal obtained by the receiver is:
[0041] y(t)=x(t)*h(t)+n(t)
[0042] In the formula, x(t) is the transmitted time-domain signal, h(t) is the channel impulse response, * is the convolution operation, n(t) is additive white Gaussian noise, and y(t) is the received time-domain signal. After receiving the distorted signal at the receiving end, the opposite operation to that at the transmitting end is performed.
[0043] Step 3: Obtain the neural network dataset. Based on the channel model described in Step 1 and the DCO-OFDM system described in Step 2, obtain the dataset. At the transmitting end, using fixed pilot symbols, perform IFFT to obtain the time-domain pilot signal. Then, the pilot signal passes through different channel impulse responses, and the corresponding channel frequency response is obtained by FFT and added as a label to the training set. At the receiving end, the time-domain pilot signal is received, and FFT is performed to obtain the distorted pilot symbol. Simultaneously, the data is preprocessed to obtain real numbers that the neural network can process, and these are added as input to the neural network training set. The test set is obtained similarly. The method for obtaining the neural network dataset is as follows: Figure 2 As shown, a random binary signal is generated as a pilot symbol. Then, the signal is converted into a time-domain pilot signal by IFFT. The pilot signal is passed through the channel and additive white Gaussian noise with a signal-to-noise ratio of {40, 45, 50, 55, 60} dB is added to obtain a distorted time-domain signal.
[0044] Step 4: Construct and train the channel estimation neural network. First, construct a neural network model containing convolutional layers. Based on the dataset described in Step 3, train and test the neural network model. During model training, use the training dataset to train the model. The model optimizes its parameters based on the input data and labels. After the model training converges, use the test dataset to test the model. The model outputs the estimated channel frequency response based on the input data and the model's parameters. The constructed neural network model contains four layers: the first layer is a 128-dimensional input layer, the second layer is a convolutional layer containing 12 one-dimensional convolutional kernels, and the output of the convolutional layer is:
[0045] Z i =S i *W i +B i , 0 < i ≤ T
[0046] In the formula, S i Z i W represents the input and output of the i-th convolutional kernel, respectively. i For the i-th convolutional kernel, B i Here, T represents the bias of the i convolutional kernels, and T is the number of kernels. The layer also uses a Flatten operation at the end to transition to a dense layer. After Flattening, the output dimension is:
[0047]
[0048] In the formula, Q is the input dimension of the one-dimensional convolutional layer, L is the kernel length, T is the number of kernels, P is the output dimension after the Flatten operation, and the third layer is a dense layer with a dimension of 220. The output of the dense layer is:
[0049]
[0050] In the formula, P is the dimension of the previous layer, U is the dimension of the current layer, and C... i W is the output of the i-th neuron in the previous layer. i,j BIAS represents the weights between the i-th neuron in the previous layer and the j-th neuron in the current layer. j For the bias of the j-th neuron in the current layer, O j This is the output of the j-th neuron in the current layer. The fourth layer is a dense layer with dimension 31. This model does not use an activation function. Each layer is followed by a Dropout layer with a ratio of 0.1 and a batch normalization layer to prevent overfitting. The loss function used for training is the mean squared error loss function.
[0051]
[0052] In the formula, Here, H represents the output during model training, and E{·} represents the expected value. During training, the parameters are updated by minimizing this function. The Adam method is used for optimization during training, with an initial learning rate of 0.001.
[0053] Step 5: Construct a k-means demodulator. Based on the model output described in Step 4 and the distorted signal described in Step 2, obtain the frequency-equalized signal. Then, separate and combine the real and imaginary parts of this signal into a matrix. This matrix is a dataset for the K-means algorithm. Next, perform K-means clustering on each row of this dataset. After the clustering converges, the cluster number of each row is the demodulation result. Since the DCO-OFDM subcarrier uses 8th-order QAM, the number of clusters K in the K-means algorithm is 8, and the initial center points are {1+1i,1-1i,3+1i,3-1i,-1+1i,-1-1i,-3+1i,-3-1i}. For N... A For each signal to be demodulated, its real and imaginary parts are separated and used as two distinct feature labels, which are then combined into an N-type signal. A 2 ×2 signal matrix Then, k-means clustering is performed on each row of the matrix. During clustering, each data point belongs to a cluster as follows:
[0054]
[0055] In the formula, c i For the cluster to which the i-th data belongs, α k Let k be the center of the k-th cluster. After clustering, the new center point is determined as follows:
[0056]
[0057] In the formula, α' k For the new center point of the k-th cluster, N k Let k be the number of data in the k-th cluster. Let be the signal matrix of the k-th cluster. Then repeat the iteration until the center point remains unchanged, that is, the cluster converges. Then output the cluster number as the demodulation result.
[0058] Step 6: Performance evaluation of the proposed method. Based on steps 1 and 2, the dataset of the entire system is obtained. First, a random bit stream is generated and a constellation diagram is mapped to obtain symbols, which are the labels of the system dataset. Then, DCO-OFDM modulation is performed. The signal after FFT at the receiving end is preprocessed. First, the pilot and distortion signals are separated. The pilot signal is input into the model described in step 4, and the model outputs the channel frequency response. The distortion signal is used to perform channel equalization to obtain the equalized signal. The result of this signal obtained by the method described in step 5 is the output of the system dataset. After binary conversion and parallel-to-serial conversion of this output with the previously mentioned system dataset labels, the bit error rate is determined. The performance of the proposed method can be evaluated by the bit error rate. The constructed system is as follows: Figure 3 As shown, the system includes a communication transmitter, an LED, a lens group, a channel, a photodiode, and a communication receiver. The communication transmitter includes a computer, an FPGA, a low-pass filter, and a driver board. The communication receiver includes a transimpedance amplifier, a signal amplifier, and the FPGA connected to the computer. The channel distance is 10m. At the transmitter, random bits are generated using MATLAB, and a series of operations are performed to generate an analog time-domain signal. This signal is then transmitted to the LED via the driver board. The light is focused by a prism group and illuminates the photodiode. The photodiode outputs an electrical signal to the transimpedance amplifier and the signal amplifier, and then sends the signal to the FPGA to obtain a digital time-domain signal. The computer then processes this signal using the proposed method and calculates the bit error rate. The signal-to-noise ratio of the system test dataset is {10, 11, ..., 30} dB.
[0059] Finally, it should be noted that the above descriptions are merely preferred embodiments of the present invention and are not intended to limit the present invention. Although the present invention has been described in detail with reference to the foregoing embodiments, those skilled in the art can still modify the technical solutions described in the foregoing embodiments or make equivalent substitutions for some of the technical features. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of the present invention should be included within the protection scope of the present invention.
Claims
1. A channel estimation and demodulation method based on machine learning, characterized in that: Includes the following steps: Step 1: Construct absorption, scattering, and turbulence channel models for underwater optical channels. Based on the absorption and scattering coefficients of different water qualities, use the Monte Carlo method to obtain the attenuation of optical signals caused by absorption and scattering effects under different underwater channels. Then, obtain random turbulence attenuation based on the mathematical model of turbulence. Finally, combine the attenuation of absorption and scattering with the turbulence attenuation to obtain the channel impact response of different underwater environments on light. Step 2: Construct an underwater DCO-OFDM system. At the transmitting end, the bit stream is converted from serial to parallel (S / P) and then subjected to quadrature amplitude modulation (QAM) to obtain parallel QAM symbols. To ensure that a positive real signal is obtained after inverse fast Fourier transform (IFFT), Hermitian symmetry is applied to the QAM signal. Then, pilot symbols for channel estimation at the receiving end are added, followed by IFFT to obtain a time-domain OFDM signal. A cyclic prefix is added to the head of the OFDM signal to mitigate inter-symbol interference. Then, parallel-to-serial conversion (P / S) is performed, and a DC component is added and zero clipping is applied to ensure that the transmitted time-domain signal is non-negative. Finally, the signal is used to drive a light-emitting diode (LED) to emit light. After the light passes through the channel constructed in Step 1, the receiving end receives a distorted signal and performs the opposite operation to that at the transmitting end. Step 3: Obtain the neural network dataset. Based on the channel model described in Step 1 and the DCO-OFDM system described in Step 2, obtain the dataset. At the transmitting end, use fixed pilot symbols. IFFT is performed to obtain the time-domain pilot signal. The pilot signal then undergoes different channel impulse responses. and at this time Perform an FFT to obtain the corresponding channel frequency response H and add it as a label to the training set. The receiver receives the time-domain pilot signal. FFT is performed to obtain distorted pilot symbols. Simultaneously, the data is preprocessed to obtain real numbers that the neural network can process. It is added as input to the training set as part of a neural network, and the same applies to the test set; Step 4: Construct and train the channel estimation neural network. First, construct a neural network model containing convolutional layers. Based on the dataset described in Step 3, train and test the neural network model. During model training, use the training dataset to train the model. The model optimizes its parameters based on the input data and labels. After the model training converges, use the test dataset to test the model. The model outputs the estimated channel frequency response based on the input data and the model's parameters. In step 4, the constructed neural network model consists of four layers: the first layer is an input layer with a dimension of 128; the second layer is a convolutional layer with 12 one-dimensional convolutional kernels, and the end of this layer uses a Flatten operation to transition to a dense layer; the third layer is a dense layer with a dimension of 220; and the fourth layer is a dense layer with a dimension of 31. The model does not use an activation function, and each layer is followed by a Dropout layer with a ratio of 0.1 and a batch normalization layer to prevent overfitting. During model training, the Adam method is used for optimization, with an initial learning rate of 0.
001. Step 5: Construct a K-means demodulator. Based on the model output described in Step 4 and the distorted signal described in Step 2, obtain the frequency domain equalized signal. Then, separate and combine the real and imaginary parts of the signal into a matrix. This matrix is a dataset of the K-means algorithm. Then, perform K-means clustering on each row of the dataset. After the clustering converges, the cluster number of each row of data is the demodulation result. Step 6: Performance evaluation of the proposed method. Based on steps 1 and 2, the dataset of the entire system is obtained. First, a random bit stream is generated and a constellation diagram is mapped to obtain symbols, which are the labels of the system dataset. Then, DCO-OFDM modulation is performed. The signal after FFT at the receiving end is preprocessed. First, the pilot and distortion signals are separated. The pilot is input into the model described in step 4. The model outputs the channel frequency response. The distortion signal is used to perform channel equalization to obtain the equalized signal. The result of the signal obtained by the method described in step 5 is the output of the system dataset. After binary conversion and parallel-to-serial conversion of the output and the previously mentioned system dataset labels, the bit error rate is judged. The performance of the proposed method can be evaluated by the bit error rate.
2. The channel estimation and demodulation method based on machine learning according to claim 1, characterized in that: In step 1, Monte Carlo simulations were performed using four different underwater channels: pure seawater, clear seawater, inlet seawater, and port seawater. The channel distance was 10m, the divergence angle of the LED was 120°, and the turbulence mathematical model used was a log-normal distribution with a variance of 0.5 and a mean of 1.
3. The channel estimation and demodulation method based on machine learning according to claim 1, characterized in that: In step 2, the number of subcarriers in the constructed DCO-OFDM is 64. At the transmitting end, the bit stream is processed by S / P and then 8-QAM to obtain parallel 8-QAM symbols. To ensure that a positive real signal is obtained after IFFT, Hermitian symmetry is applied to the QAM symbols. Then, pilot symbols for channel estimation at the receiving end are added. The pilot symbols are placed in a block pilot configuration. Then, a 64-point IFFT is performed to obtain the time-domain OFDM signal. A cyclic prefix is added to the head of the OFDM signal to mitigate inter-symbol interference. After P / S, a DC component of 13dB is added and zero clipping is performed to ensure that the transmitted time-domain signal is non-negative. Finally, the signal is used to drive the LED to emit light. After the light passes through the channel constructed in step 1, the receiving end receives the distorted signal and performs the opposite operation to that at the transmitting end.
4. The channel estimation and demodulation method based on machine learning according to claim 1, characterized in that: In step 3, a random binary signal is generated as a pilot symbol. Then, the signal is converted into a time-domain pilot signal by IFFT. The pilot signal is passed through the channel and additive white Gaussian noise with a signal-to-noise ratio of {40, 45, 50, 55, 60} dB is added to obtain a distorted time-domain signal.
5. The channel estimation and demodulation method based on machine learning according to claim 1, characterized in that: In step 5, since the DCO-OFDM subcarriers use 8th-order QAM, the number of clusters K in the K-means algorithm is 8, and the initial center points are {1+1i,1-1i,3+1i,3-1i,-1+1i,-1-1i,-3+1i,-3-1i}.
6. The channel estimation and demodulation method based on machine learning according to claim 1, characterized in that: In step 6, the constructed system includes a communication transmitter, an LED, a lens group, a channel, a photodiode, and a communication receiver. The communication transmitter includes a computer, an FPGA, a low-pass filter, and a driver board. The communication receiver includes a transimpedance amplifier, a signal amplifier, the FPGA, and the computer. The channel distance is 10m. At the transmitter, random bits are generated using MATLAB, and a series of operations are performed to generate an analog time-domain signal. The LED is then driven by the driver board to emit light. The light is focused by the prism group and illuminates the photodiode. The photodiode outputs an electrical signal to the transimpedance amplifier and the signal amplifier, and then sends the signal to the FPGA to obtain a digital time-domain signal. The computer then processes the signal. The signal-to-noise ratio of the system test dataset is {10, 11, ..., 30} dB.