# PCONet: A Trainable Feedback Scheme of Precoder for the Uplink Multi-User MIMO Systems
## 3 The Proposed PCQNet  
### Network Architecture  
The PCQNet consists of the encoder network and the recovery network as illustrated in Figure 3. The encoder network is made up of a trainable compression module and a non-trainable quantization module. The quantization is accomplished during the offline training, directly feeding back the codeword to the UEs through the data-bearing bitstreams. The recovery network mainly consists of a dequantizer and the ResNet in [26]. Considering that the CNNs can efficiently manage the memory requirements on-device and achieve better memory usage than the DNNs, we apply the CNNs with growing popularity for the compression networks. We firstly concatenate the real and the imaginary parts of the precoding matrices \(\mathbf{F}_{k}\), \(k\in\mathcal{K}\), where the dimension transformation can be represented by \(\mathbb{C}^{\mathrm{N}_{k,l}\times\mathrm{N}_{k,s}}\mapsto\mathbb{R}^{2\times \mathrm{N}_{k,l}\times\mathrm{N}_{k,s}}\). The input of the first convolutional layer is the real and imaginary parts of the precoding matrices generated at the BS. The compression module consists of five CNN layers which create a filter kernel that is convolved with the input layer to produce an output tensor. The CNN layers are parameterized by \(\mathrm{F}\times\mathrm{F}\times\mathrm{K}|\mathrm{S}\), where \(\mathrm{F}\) and \(\mathrm{K}\) denote the filter size and the number of filters, respectively. \(\mathrm{S}\) represents the downsampling strides in the convolution layer at the encoder and the upsampling strides in the transposed convolution layer at the decoder. The hyperparameters of five CNN layers in the compression module are: \(3\times 3\times 32|1\), \(3\times 3\times 32|1\), \(3\times 3\times 32|1\), \(3\times 3\times 32|1\), \(3\times 3\times 3\times 16|1\), respectively. The linear unit (ReLU) activation function is inserted after each CNN layer. The output is the compressed vector \(\mathbf{z}_{k}\in\mathbb{R}^{l}\). The compression function \(f_{\theta}:\mathbb{C}^{\mathrm{N}_{k,l}\times\mathrm{N}_{k,s}}\mapsto\mathbb{ R}^{l}\) can be represented as  
\[\mathbf{z}_{k}=f_{\theta}(\mathbf{F}_{k},\theta_{k})\in\mathbb{R}^{l},k=1,\dots,K \tag{7}\]  
where \(\theta_{k}\) is the same parameter for each user, \(l\) is the dimension of the compressed output. We use a uniform quantization module with the quantization factor \(\beta\). The vector \(\mathbf{z}_{k}\) is quantized into an \(m\)-dimensional binary vector \(\mathbf{b}_{k}\) for the feedback transmission of the \(k\)-th UE. \[\mathbf{b}_{k}=\mathcal{Q}_{\varphi}(\beta,\mathbf{z}_{k})\in\mathbb{R}^{m} \tag{8}\] \begin{table}
\begin{tabular}{c c c} \hline \hline
**Parameter** & **Description** & **Settings** \\ \hline \(\mathcal{L}\) & The number of data frames & 500 \\ \(K\) & The number of UEs & 20 \\ \(N_{k,l}\) & The number of antennas of & 4 \\ \(\mathrm{N}_{r}\) & The number of antennas of BS & 32 \\ \(N_{f}\) & The number of subcarriers & 96 \\ \hline \hline \end{tabular}
\end{table} 
Table 1: Description of parameters of the NAIE dataset for uplink scenarios. Figure 3: The encoder and decoder architecture of CNN-based PCQNet. where \(m\) represents the feedback overhead. For each UE, the CR of the PCQNet can be defined as  
\[\text{CR}=\frac{m}{2\beta\times\text{N}_{k,t}\times\text{N}_{k,s}} \tag{9}\]  
The CR and the number of quantization bits \(\beta\) jointly determine the feedback overhead \(m\) which influences the normalized MSE (NMSE) between the recovered precoding matrices and the original ones. A smaller value of \(m\) reflects lower feedback overhead of the precoding matrices. The binary vector \(\mathbf{b}_{k}\in\mathbb{R}^{m}\) is fed to the UE for the recovery of the precoding matrices. An error-free channel is assumed when transmitting the encoded vector \(\mathbf{b}_{k}\) from the BS to the \(k\)-th UE. The decoder network at the \(k\)-th UE outputs the restored complex-valued precoding matrix \(\hat{\mathbf{F}}_{k}\) from the feedback bitstream \(\mathbf{b}_{k}\).