2.1. DNN-Based PNC Design
Suppose there are two user nodes exchanging information with the help of the relay in a two-way relay network (TWRN) when both user nodes are under the relay’s coverage but cannot communicate directly because of non-LOS. PNC can double the throughput by reducing transmission time slots from four to two under the half-duplex assumption under the scenario [
15], as shown in
Figure 1. First, both node A and node B transmit signals to the relay in the uplink stage simultaneously. In this way, the relay will receive the superimposed signal in the uplink stage
where
,
,
, and
are the signal received by relay R, the signal sent by node A or B, the channel coefficients, and the noise, respectively, and
N is the length of received samples.
After the relay receives
, it processes the signal into
, which can be expressed as
and then broadcasts
to both users. Next in the downlink stage, user nodes receive
and exploit a local copy that has been sent before to recover the signal sent by the other node, which can be described as
In this paper, we follow the PNC mapping in the infinite field (PNCI) [
15] to perform denoising at the relay and signal recovery at each node in the downlink. PNCI can be expressed as
where
,
refer to the modulated constellation points under
-QAM modulation type in node A and node B,
means the standard receiving constellation at the relay node when
and without noise,
is the standard variance of noise. Equation (
4) can be simplified as
which means to judge the Euclidean distance between received symbol
and relay’s standard receiving constellation
, and find the
, which refers to the minimum distance, as the mapping target. In the downlink, after the relay’s broadcasted signal
is received by both user nodes, similar processes are performed at node A and node B as
to recover the signal sent by the other node.
Note that by using Equation (
6), a perfect downlink is assumed, which means no channel coefficient is considered in the downlink and the signal from relay R is directly sent to nodes A and B without impairment. This is a common premise since the procession of downlink in PNC is the same with Pt2Pt [
15]. So we mainly focus on the distortions in uplink and treat the downlink as a perfect channel without loss of generality.
In this way, PNC uses two time slots to finish the information exchange between two user nodes. As a comparison, the traditional half-duplex system cannot make use of signal collision, hence the information exchange uses four time slots that are presented as: time slot 1, node A sends to relay R; time slot 2, relay R sends to node B; time slot 3, node B sends to relay R; time slot 4, relay R sends to node A. PNC reduces two time slots comparing to the traditional scenario, hence the throughput is doubled by using an equal length of time.
To simulate the PNC system using a DNN, we build the DNN architecture to follow the signal flow in the PNC system, as shown in
Figure 2. A DNN-based PNC model can also be divided into the uplink stage and downlink stage. In the uplink stage, there are two encoders that modulate the input source bits
and
into ready-to-transmit signals
and
, respectively. To be specific, source bits
are embedded into one-hot-vector
with length of each
v equaling to
; so as the node B. For example, if
when
(“10” is 3 in decimal), then the third element in
is set to be 1 and others to be 0.
is then sent into multiple layer perceptron (MLP) as input. MLP is established by several linear layers and the Leaky ReLU layer as the activation function in the output layer. Signals are power-normalized before being transmitted to the relay. Relay performs
mapping to convert the received signal
into
. Next, in the downlink stage, the relay broadcast
to both decoders, and the decoder A and decoder B retrieve the estimation of
and
, refer as
and
, utilizing
and a copy of previous-sent signals
and
.
and
are then de-embedded by finding the maximum number’s index and transferring the (decimal) index into binary bits whose length is
k. Note that a pair of encoder and decoder refers to the modulation module and demodulation module of the same node. The behavior of encoders, relays, and decoders can be adaptive based on the back-propagation of machine learning in the training stage according to the channel state.
To further explain the function of the DNN-based PNC network with the signal flow that is mentioned above, let
,
, and
refer to the function of encoders, relays, and decoders, respectively, then the aim of the training is to minimize the cross-entropy loss function that can be described as
Unlike conventional communication systems, the bit/block error rate may not be an appropriate performance metric for DNN-based communication systems. Generalized mutual information (GMI) is probably the appropriate metric that should be maximized since DNNs behave differently than usual modulators or demodulators [
13]. The goal of training is to minimize the cross-entropy loss between input and output estimates instead of using conventional measures like soft-decision forward error correction, and it directly maximizes the achievable sum rate in terms of GMI. The normalized GMI in data communication is expressed as [
13]
where
is the log-likelihood ratio (LLR) corresponding to the information bit
b. The achievable sum rate can be expressed as
where 2 means two user nodes and
k refers to the modulation order parameter. In this paper, we focus on achievable sum rate and verify that DP-VLC has good performance in achievable sum rate in later experiments.
DNN-based PNC systems do not have regular constellation patterns, and the constellations generated by encoders are always misaligned, as shown in
Figure 3. Here are some explanations. First, the input dimension of DNN determines the upper limit of the number of constellations. To specify, if encoder A maps a group of source bits
into one-hot vector set
with the length of each
v equaling to
, then the dimension of inputs to the multi-layer perceptron (MLP) of encoder A is
and there will be up to
groups of constellations (called
-QAM) when analyzing the output
; and the same with encoder B. Next, although the middle layers of the MLP provide efficient (but not too large to drop the processing speed or to lead to overfitting) dimensions to the signal to be expanded and processed, the behaviors of the middle layers are unknown during the training. Moreover, the initial parameters and channel states can also affect the output constellation patterns. As a result, constellations generated by different encoders may not have the same number of constellation points compared to each other and compared to conventional constellation patterns, and may converge into different locations in different training (
Figure 3). To conclude, the constellations generated by DNN are misaligned between both encoders.
When we focus on a symbol of the received signal at the relay node, we can further express Equation (
1) as
where
,
, and
is the phase asynchrony between both signals in the uplink. For a fixed-constellation-based PNC system, asynchrony between the two signals in the uplink is the most important reason that causes the throughput damage [
16]. Phase aligning, or say phase synchrony, can improve the performance [
6], but phase alignment is hard to achieve in real implementation since the two signals are through different channels. By using a DNN, we let encoders add the asynchrony before the transmission, while this “asynchrony” is fine-tuned between two user nodes by training the DNN (
Figure 3). So the system will not have to ensure the synchrony between two signals and the system throughput can be improved in the usual way.
Details of the network structure are as follows. Only fully connected layers are used in MLPs in encoders, relays, and decoders. Leaky ReLU is used as the activation function in the output layer of encoders and relays. Note that our network has a simple architecture with low computation complexity and is easy to implement. There are three middle layers in the encoders and decoders at user nodes and four middle layers at the relay node, and each middle layer contains 128 dimensions. The structure of the DNN used in the training stage is optimized by setting and repeatedly testing different numbers of inner layers and different numbers of dimensions in each layer of encoders, relays, and decoders. We find a balance between computational complexity and the achievable sum rate that our DNN model can get to make sure that the combination with the VLC channel performs well in
Section 3. Compared to the DNN-based PNC model used in [
13], our model has deeper layers but fewer training parameters. Our model has a total of 189,966 training parameters, while the model in [
13] has more than
parameters.
We use Adam optimizer
as optimize function where
and
are the first-order and second-order moment estimation of gradient,
,
,
is the parameter set of the training network, and
is a small positive number that makes sure the denominator is not zero. Adam optimizer is a momentum-based algorithm that exploits the history of gradients. It combines the advantage of AdaGrad and RMSProp and is often used in DNN training [
17]. Adam is easy to fine-tune, can get good results quickly, and can deal with large training data efficiently. It is also widely used in other DNN-based communication systems [
12,
13]. The cross-entropy loss function (Equation (
7)) is performed as the training target.
During the training, we use a variable learning rate that is equal to 0.0002 at the beginning of training and is multiplied by 0.8 every 20 epochs. The network will be pre-trained under additive white Gaussian noise (AWGN) channel to focus on the ability of constellation generation at encoders, while the post-equalization ability of DNN can be ensured by analyzing the outputs of each module. Signal damages in the VLC channel such as shot noise, thermal noise, and the environment light interference will be jointly processed by both DNN and OFDM framework in the implementation in
Section 2.2.
2.2. DP-VLC System
As mentioned above, the DNN-based PNC model is separated into encoders, relays, and decoders, referring to the modulator, relay, and demodulator, respectively, so these DNN modules can be taken out as part of the whole DP-VLC system. Since the procession of downlink in PNC that relays broadcasts signal to the user nodes is the same with Pt2Pt, here we mainly focus on the distortions in uplink and treat the downlink as a perfect channel without loss of generality. These two conditions are the premises of our experiments later.
The setup of our DP-VLC using PNC is depicted in
Figure 4a. Node A, node B, and relay R are framed with different kinds of colors, and the orange lines present the signal transmission in the uplink stage. A dash-framed “optical link” represents the indoor VLC channel with optical integrated front-ends involved. The front-ends are self-developed and accept 2.43 GHz RF signals as input. At node A and node B, source bits are fed into the well-pre-trained encoder modules to generate misaligned constellations. The 64-point IFFT and up-conversion modules are performed to create real-time RF signals. Optical front ends include several sub-modules that are shown in
Figure 4b–e. Mixers using a local oscillator can convert the signal to an appropriate IF range that falls into the LEDs’ linear range at optical front-end A/B and can convert IF range signals into RF that meets the down conversion component’s need at the relay. At front-end A/B, electro-optical (EO) components use an amplifier and a pre-equalization circuit to convert voltage signal to a current signal that drives LED to send signals. At front-end R, the optical-electro (OE) component has several sub-modules: a PIN photo-diode is selected and a trans-impedance amplifier (TIA) is used to convert the current signal into a voltage signal; power amplifier (PA) is performed to amplify the signal. The pre-equalization (in EO) and post-equalization (in OE) are used to compensate for the non-linearity of the LED. We designed our EO and OE modules based on IEEE 802.11bb. We have tested our EO and OE hardware, and the optical bandwidth is 200 MHz which is large enough for the 20 MHz DNN-PNC system implementation. After the relay mixes the RF signal into the baseband signal using the down conversion module, an OFDM receiver is used to recover the superimposed signal. Note here that the superimposed signal is different from “
” in
Section 2.1 because extra processes are performed after receiving the signals in the air. However, we keep the same notation since they are both considered to be the input to the DNN-relay module. The relay performs
to further denoise and post-equalizing. The “DNN-decoder” blocks are followed to depict that signals from the DNN-relay module are fed into the DNN-decoder blocks directly with the perfect downlink assumption, and the bit-error-rate (BER) calculator block is used to calculate BER by exploiting the outputs from decoders and the source bits from node A and B as local copies.
The signals in the uplink stage from both nodes may not be well aligned in the time domain in the real implementation. To deal with the two uplink VLC signals being asynchronous, we inherit the OFDM frame format as described in chapter 5 of [
15], with a well-designed OFDM preamble that is suitable for a PNC system with an 8000-sample-long payload. In the payload of each OFDM frame, 48 data samples of every 64 data samples are loaded as available subcarriers with a 16-sample-long cyclic prefix (CP) loaded ahead. The OFDM receiver at the relay node that contains sub-blocks to deal with carrier frequency offset (CFO) and channel estimation under the PNC scheme allows the signals to be misaligned within 16 samples. Details of the design of OFDM frames are not the core of this manuscript and are not detailed here.
Note that a pre-trained constellation mapping rules module is needed and is important to the system’s performance. It increases the system’s complexity compared to the conventional PNC-VLC system that does not have to consider mapping rules [
18]. The reasons are described as follows. The constellation mapping rules are different from traditional patterns and the behaviors of all modules in DNN are implicit. One can only ensure reliability by analyzing the output constellations and error rates of received signals. Moreover, mapping rules of modulation or demodulation are separated and irrelative because a user node is divided into an encoder–decoder pair; the relay module does not know anything about the constellations by analyzing the input and output of the relay; the relay can only denoise and cluster constellations by analyzing
Figure 3 and prior knowledge does not need to be involved. However, when signals arrive at the relay node in the implementation, the relay has to deal with channel impairments that are mentioned above at first. Hence, prior knowledge
has to be known to the relay node when considering the real VLC channel to help to deal with channel damages (Equation (
4)). For these reasons, the mapping rules, which are obtained by clustering the encoders’ output constellations into (up to)
groups and calculating the centers (noted as
and
in Equation (
4)), are together sent with data from both nodes (encoders) to the relay, and relay extracts the prior knowledge before recovers the data. The reason for clustering is that, when encoders map
to
or
, the constellations actually gather into
groups and look like some type of QAM visually, with a number of points in each group (
Figure 3). Traversing all the distances
in Equation (
5) is not a proper method for the relay node. So we use the clusters of constellations to represent all the constellations generated by encoders, which means
. Some accuracy may be lost but the calculation is simplified in this way. Note that prior knowledge is also through the VLC channel and suffers impairment, which means a chain reaction, so the training state affects the constellations generated by encoders and the clusters of constellations, and further affects the prior knowledge recovery and data recovery at the relay node.