## 3 Mathematical Concept and Modeling
### Data Preprocessing and Sampling  
In this study, we used the RML2016.10b dataset [33], a well-established benchmark in modulation recognition research, generated using the GNU Radio v3.10.7.0 software-defined radios toolkit. This dataset includes 10 modulation techniques, 8 of which are digital (QPSK, BPSK, BPSK, 8 PSK, CPFSK, PAM-4, QAM64, QAM16), and 2 analog (AM-DSB, WBFM). The data are evenly distributed among all modulation types, comprising 1,200,000 samples, each represented in IQ format with a size of \(2\times 128\). The labels for each sample include modulation type and SNR value, with SNRs ranging from \(-20\) dB to \(18\) dB in 2 dB increments. A summary of the dataset is presented in Table 1.  
For training and evaluation, the dataset was divided into 960,000 samples for training and 240,000 samples for testing as described in Figure 2, with 15% of the training data used for validation. To accommodate the complex-valued network, real numbers were  
\begin{table}
\begin{tabular}{c c} \hline \hline
**Parameter** & **Value** \\ \hline \multirow{2}{*}{Modulations} & QPSK, PAM4, 8 PSK, BPSK, CPFSK, BPSK, QAM64, \\  & QAM16, AM-DSB, WB-FM \\ Samples & 1,200,000 \\ Sampling Frequency & 1 Msample/s \\ Sampling Interval & 128 μs \\ Samples/Symbol & 8 samples/symbol \\ Format & IQ \\ Sample size & 2 × 128 \\ SNR number & 20 values \\ SNR range & [\(-20\) dB, 18 dB] \\ Training data & 960,000 samples (80\%) \\ Testing data & 240,000 samples (20\%) \\ Labels & SNR and modulation methods \\ \hline \hline \end{tabular}
\end{table}
Table 1: Dataset summary.  
converted into complex numbers, reducing the input dimension from \(2\times 128\) to \(1\times 128\), while the real-valued network retained the \(2\times 128\) format.  
The training was performed using the Keras library on Google Colab [34], with the Adam optimizer, a learning rate of 0.0001, a batch size of 256, and a cross-entropy loss function. The training process lasted for 20 epochs, with early stopping implemented to prevent overfitting. Algorithm 1 presents the training process of the proposed CV-CNN-TCN model.  
```
0: \(\bullet\) Complex-valued signals \(\mathbf{X}=\mathbf{X}_{R}+j\mathbf{X}_{I}\in\mathbb{C}^{T\times d}\)
0: Ground truth labels \(y\in\mathbb{R}^{\mathbb{C}}\) for \(C\) modulation types
0: \(T\): Number of training epochs
0: \(B\): Batch size
0: \(\eta\): Learning rate
0: Trained model
1. Initialize complex-valued parameters: \(\bullet\) CV-CNN filters \(\mathbf{W}_{k}=\mathbf{W}_{R,k}+j\mathbf{W}_{I,k}\) for \(k=1,\ldots,K\)
0: TCN dilated filters \(\mathbf{W}_{l}=\mathbf{W}_{R,l}+j\mathbf{W}_{I,l}\) for \(l=1,\ldots,L\)
0: FC layer weights \(\mathbf{W}_{fc}=\mathbf{W}_{R,fc}+j\mathbf{W}_{I,fc}\)
2. For epoch \(t=1\) to \(T\) do: (a)  For batch \(b=1\) to \(B\) do:  i.  Forward propagation: \(\bullet\) CV-CNN feature extraction: \(\bullet\) Compute real/imaginary convolutions: \(\mathbf{H}_{R}^{k},\mathbf{H}_{I}^{k}\) for each layer \(k\) \(\bullet\) Apply complex-modulus activation \(\bullet\) TCN temporal processing: \(\bullet\) Perform dilated convolutions on \(\mathbf{H}_{CNN}\) \(\bullet\) Process real/imaginary components separately \(\bullet\) Classification head: \(\bullet\) Flatten TCN output to \(\mathbf{z}\in\mathbb{C}^{q}\) \(\bullet\) Compute class probabilities via softmax ii. Loss computation: \(\bullet\) Calculate cross-entropy using magnitude of predictions \(\bullet\)\(\mathcal{L}=-\frac{1}{N}\sum_{i=1}^{N}\sum_{c=1}^{C}y_{i}^{c}\log|\hat{y}_{ i}^{c}|\) iii. Backward propagation: \(\bullet\) Compute gradients through complex-valued layers \(\bullet\) Update parameters using complex-aware optimizer: \(\bullet\)\(\mathbf{W}\leftarrow\mathbf{W}-\eta\
abla\mathbf{W}\mathcal{L}\) \(\bullet\) Maintain real/imaginary component relationships (b) End for
3. End for
4. Return trained model:
```  
**Algorithm 1** Complex-Valued CNN-Temporal Convolutional Network Training