## 3 Simulation Setup  
For the simulation, it is assumed that the number of BS antennas is \(M=2\) and the number of IRS elements is \(N=512\). It is assumed that the number of horizontal and vertical IRS elements are 32 and 16. Two users receive the data from the BS to UE = 2. The number of paths between BS and IRS is two, and the IRS to the \(i\)-th UE is four. For direct BS to UE channel, two paths are considered. In this simulation, muttiuser interference is not considered, and it is assumed that each UE has same channel properties. Then, the BS can demodulate different UE signals successfully.We first determine the BER using the conventional technique following the same channel configuration for IRS-based communication. The simulation parameters are listed in Table 1. Additive white Gaussian noise is added to the transmission to simulate the channel noise environment. For the downlink channel, the three-channel matrix is considered: BS-IRS, IRS-UE, and BS-UE. The total \(10^{6}\) packets are sent each time. One hundred and twenty-eight quadrature phase-shift keying (QPSK) symbols are generated using OFDM to estimate the channel error rate. To reduce the inter-symbol interference, a length of 32 cyclic prefix is added. For BER calculation, the data received by both users are considered simultaneously.  
The CNN-based model is trained by using the label and data generated by the QPSK symbol. The labeling is performed by combining the data from two transmitting antennas. As each antenna can generate 4 unique symbols, thus \(4\times 4=16\) labels are created for two data stream combinations. At the receiver, the received symbols are separated into real and imaginary parts along with the label. During the training, we capture data at the SNR 25 dB level to generate an offline input training set. We use 100,000 data sets for model development, of which (4/5) are used for training and (1/5) is used for validation. At 99.91% model accuracy, we stop the training process and save the model for inference. The training of the model less than 80,000 data sets does not produce the optimal performance. To achieve the highest accuracy, the model needs to have 80,000 data sets. However, 50,000 data sets can be employed for training, and in this case, the accuracy of the model is reduced. It is obvious that training with more data sets will require more time for training. Figure 4 shows the training and validation progress of the proposed model for 50 epochs. The upper left image shows the training accuracy, while the upper right image shows the validation accuracy. An aging lower left curve shows the training loss, and the lower right images shows the validation loss. It can be seen from the Figure 4 that after 20 epochs the  
\begin{table}
\begin{tabular}{c c} \hline \hline
**Parameters** & **Value** \\ \hline IRS elements & 32 \(\times\) 16 \\ Transmitting antenna & 2 \\ Number of user & 2 \\ Number of subcarrier & 128 \\ Modulation & QPSK \\ Number of epoch & 100 \\ Minibatch size & 200 \\ Input size & 8 \\ Learning rate & 0.01 \\ Optimizer & ADAM \\ Noise & AWGN \\ \hline \hline \end{tabular}
\end{table}
Table 1: Simulation parameters.  
model shows a stable performance, which indicates the model has learned the parameters from the data. If the number of antennas, users, IRS elements, OFDM parameters, or multi-paths is changed, the retraining of the model is required. In the future, we will try to build a model that can adopt these changes with minimum training.