# A Robust Method Based on Deep Learning for Compressive Spectrum Sensing
## 3 The Proposed CSS Method
### BSWSS-Net Architecture  
The multi-label classification problem allows each input sample to belong to multiple categories. In WSS, this implies the presence of multiple vacant subbands within the entire frequency band. To address this, we designed a multi-label classifier, BSWSS-Net, which outputs an \(N_{c}\)-dimensional vector indicating the occupancy status of \(N_{c}\) channels. The structure and hyperparameters of BSWSS-Net are illustrated in Figure 5 and detailed in Table 1, respectively. The newly proposed BSWSS-Net extracts local features of wideband spectrum signals using four one-dimensional convolution kernels of different sizes. The global features are then fused through fully connected layers, ultimately yielding the sub-channel state. The use of convolution kernels of different sizes makes it easier to extract the sparse block characteristics of wideband spectrum signals. Additionally, by balancing the number of parameters in the convolutional and fully connected layers, the overall parameter count of the network is effectively reduced.  
Figure 4: The BE-block consists of the BSFE-Block, CA-Block, and IBSFE-Block. The BSFE-Block denotes block sparsity feature extraction, IBSFE-Block denotes inverse block sparsity feature extraction. The BSFE-Block consists of 4 sets of convolutional kernels (each with sizes of 1 × 7, 1 × 15, 1 × 23, 1 × 31), where each set of kernels expands the 2-channel data to 8-channel data. X Avg Pool represents average pooling along the horizontal dimension. Conv1d denotes reducing the number of channels to decrease computational complexity. LayerNorm+Non-linear indicates layer normalization and non-linear operations. Re-weight represents matrix multiplication with the obtained sparse matrix. The IBSFE-Block is symmetrically structured with the BSFE-Block.  
Figure 5: BSWSS-Net.  
The input data **I** is sequentially processed through convolutional pooling layers and fully connected layers, ultimately yielding the channel occupancy status output. The output of the convolutional pooling layer can be represented as  
\[\mathbf{O}_{1}=f_{\text{avg}}(f_{L}(\mathbf{W}_{\text{C}_{2}}*f_{\text{avg}}(f_ {L}(\mathbf{W}_{\text{C}_{1}}*\mathbf{I}+\mathbf{b}_{\text{C}_{1}}))+\mathbf{b }_{\text{C}_{2}})), \tag{10}\]  
where \(\mathbf{W}_{\text{C}_{i}}\) is the convolutional filters of C\({}_{i}\) layer, \(\mathbf{b}_{\text{C}_{i}}\) is the bias of C\({}_{i}\) layer, \(f_{\text{avg}}\) donates the average pooling function, and \(f_{L}\) donates the LeakyReLU activation function,  
\[f_{L}(x)=\left\{\begin{array}{ll}x,&\text{if }x\geq 0\\ 0.1\times x,&\text{otherwise}\end{array}\right.. \tag{11}\]  
Then, \(\mathbf{O}_{1}\) is flattened into a vector, and the flattening process can be represented as  
\[\mathbf{O}_{2}=\text{Flatten}(\mathbf{O}_{1}). \tag{12}\]  
The local feature vector is processed through fully connected layers to obtain global features, and the output is generated through an activation function. The output of the fully connected layer can be represented as  
\[\hat{\mathbf{s}}=f_{\text{Sigmoid}}(\mathbf{W}_{\text{F}_{2}}*(\mathbf{W}_{\text {F}_{1}}*\mathbf{O}_{2}+\mathbf{b}_{\text{F}_{1}})+\mathbf{b}_{\text{F}_{2}}), \tag{13}\]  
where \(\mathbf{W}_{\text{F}_{i}}\) is the weights of the fully connected layer F\({}_{i}\) layer, \(\mathbf{b}_{\text{F}_{i}}\) is the bias of the fully connected F\({}_{i}\) layer, and the activation function can be represents as  
\[f_{\text{Sigmoid}}=\frac{1}{1+e^{-x}}. \tag{14}\]