## 3 Complex-Valued Conditional Generative Adversarial Network
### Complex-Valued Components  
CVNNs contain the same components as RVNNs, including convolutional layers, pooling layers, batch normalization layers, and activation functions. However, the components of the RVNNs cannot directly process complex-valued data, which need to be modified to adapt to complex data. CVNNs can be regarded as an extension of RVNNs  
Figure 2: The architecture of the CC-GAN, where CConv, CTConv, CAAwgPool, and CDense represent a 1D convolution layer, 1D transposed convolution layer, 1D adaptive average pooling layer, and linear layer in the complex-valued domain, respectively. from the real-valued domain to the complex-valued domain, with both the input and network parameters presenting in complex-valued form [26]. \[ \begin{array}{ll}W*z&=R(W*z)+I(W*z)\\ &=(A*x-B*y)+i(B*x+A*y)\end{array}  \tag{1}\]  
where \(x\) and \(y\) represent the real and imaginary part of a complex number, while \(A\) and \(B\) represent the real and imaginary part of a complex-valued convolution kernel, respectively. \(R(W*z)\) and \(I(W*z)\) represent the real and imaginary part of the complex-valued convolutional operation, respectively. \(*\) represents the convolutional operation. The process of complex-valued convolutional operation is shown in Figure 3.  
Pooling operation is primarily utilized for downsampling and enhancing the generalization capability of features. Two of the most frequently employed pooling methods in deep learning are maximum pooling and average pooling. The maximum pooling operation on the complex-valued domain is performed based on the magnitude of the complex-valued nodes. The complex-valued average pooling involves averaging the real and imaginary parts of all complex-valued nodes within a local region separately, and the average of the real part and the average of the imaginary part are used as the real and imaginary parts of the pooled complex data, which represents the result of the average pooling operation in the selected local region. The computational process of the average pooling can be expressed as follows:  
\[p=\frac{1}{|\Re|}\sum_{(i,j)\in\Re}q_{ij} \tag{2}\]  
where \(p\) represents the average pooled output of the feature map in the rectangular region \(\Re\), \(q_{ij}\) represents the element in the rectangular region \(\Re\) located at \((i,j)\), and \(|\Re|\) represents the number of elements in the rectangular region \(\Re\). Batch normalization plays a crucial role in speeding up the convergence of neural networks and mitigating gradient dispersion within deep networks, thereby facilitating stable training of the networks. The derivation of complex-valued batch normalization is based on real-valued batch normalization [27]; the process can be expressed as follows:  
\[BN(\widetilde{z})=\gamma\cdot\widetilde{z}+\beta \tag{3}\]  
\[\widetilde{z}=(V)^{-\frac{1}{2}}(z-E(z)) \tag{4}\]  
Figure 3: The process of complex-valued convolutional operation. \[V= \begin{pmatrix}V_{\text{rr}}&V_{\text{ri}}\\ V_{\text{ir}}&V_{\text{ri}}\end{pmatrix} = \begin{pmatrix}Cov(R\{z\},R\{z\})&Cov(R\{z\}, I\{z\})\\ Cov(I\{z\},R\{z\})&Cov(I\{z\},I\{z\})\end{pmatrix}  \tag{5}\]  
where \(\gamma\) represents the scaling parameters for normalized data, \(\beta\) represents the translation parameters for normalized data, and \(V\) represents the covariance matrix. Activation functions are mainly used to introduce nonlinearity into networks, but activation functions in the real-valued domain cannot be directly applied to the complex-valued domain. Complex-valued activation functions must take into account the two inherent degrees of freedom in complex numbers, which are represented by the real and imaginary parts, or magnitude and phase. Currently, there are three activation functions available for complex domains: modReLU, CReLU, and zReLU. The modReLU activation function processes only the magnitude of complex numbers while retaining their phase.