# DMCNet-Pro: A Model-Driven Multi-Pilot Convolution Neural Network for MIMO-OFDM Receivers
## 3 The Structure of DMCNet  
### The Data Flow of DMCNet  
The designed deep-neural-network-based receiver in this paper, referred to as DMCNet, is shown in Figure 2. DMCNet consists of three main modules: signal denoising, pilot processing, and signal detection. In the network models for 32 pilot symbols and 8 pilot symbols, the dimensions of the output at each layer are different. Therefore, only the structure of the model is provided here, while the detailed dimensions of each layer and the specifics of each module will be discussed in the following sections.  
Although DMCNet is divided into three modules, the main idea of DMCNet is to use a data-driven network to construct an end-to-end training model while enriching the model's computation by incorporating convolutional modules. As is well known, in the field of computer vision, images are often stored and processed as real numbers. However, in the field of signal transmission, input signals often need to be mapped to the complex plane to perform operations that record both the magnitude and phase information. In this paper, the received signal is treated as a complex number, and complex neural network modules are used for information processing. We primarily employ complex convolution and complex fully connected structures. Subsequently, there have been some open-source implementations of this paper. In this paper, we primarily employ complex convolution and complex fully connected structures. Compared to traditional neural networks, complex neural networks have a more expressive power. The main difference between complex networks and real networks lies in the multiplication operation, as shown in the following equation:  
\[(a+bi)\times(c+di)=(ac-bd)+(ad+bc)i. \tag{1}\]  
For a complex fully connected network with one input neuron and one output neuron, assuming the input is \(a+bi\) and the weight is \(c+di\), according to the equation above, the complex fully connected network can be implemented using a real fully connected layer with an input size of 2 and an output size of 2. In this case, the four weights of the fully connected layer are \(c,-c,d,-d\). Therefore, the complex fully connected layer can be implemented using a real fully connected layer with double the size. For the complex convolutional module, it can be implemented using higher-dimensional real convolutional layers. Let the input complex matrix be \(\mathbf{W}=\mathbf{A}+i\mathbf{B}\) and the complex vector be \(\mathbf{h}=\mathbf{x}+i\mathbf{y}\), where \(\mathbf{A}\) and \(\mathbf{B}\) are real matrices and \(\mathbf{x}\) and \(\mathbf{y}\) are real vectors. The convolution result of \(\mathbf{W}\) and \(\mathbf{h}\) can be represented as:  
Figure 2: The structure of DMCNet.  
\[\mathbf{W}^{*}\mathbf{h}=(\mathbf{A}^{*}\mathbf{x}-\mathbf{B}^{*}\mathbf{y})+i( \mathbf{B}^{*}\mathbf{x}+\mathbf{A}^{*}\mathbf{y}). \tag{2}\]  
As we can see, the real and imaginary parts of the convolution result can be represented in matrix form as follows:  
\[\left[\begin{array}{c}\Re(\mathbf{W}^{*}\mathbf{h})\\ \Im(\mathbf{W}^{*}\mathbf{h})\end{array}\right]=\left[\begin{array}{cc} \mathbf{A}&-\mathbf{B}\\ \mathbf{B}&\mathbf{A}\end{array}\right]*\left[\begin{array}{c}\mathbf{x}\\ \mathbf{y}\end{array}\right]. \tag{3}\]  
Further information on the definition of activation functions and batch normalization (BN) layers in complex neural networks can be found in [12]. In this section, the experimental setups utilize the architecture of complex neural networks. Next, we will introduce the various data-processing modules in DMCNet separately.