# Deep-Learning-Based Stream-Sensing Method for Detecting Asynchronous Multiple Signals
## 5 Learning-Based Asynchronous Stream Sensing  
### Input Data Generation  
For our stream-sensing network, as in [17; 20], we consider covariance matrices and eigenvalues of an expected covariance matrix. Then, the following describes in detail how the input data are generated. For covariance matrices, we constructed four-dimensional (4D) matrices as input data. As mentioned in Section 4, a received signal for \(N_{\text{sym}}\cdot T_{\text{sym}}\) includes multiple rescue signals that asynchronously overlap with each other. Since a rescue UAV is equipped with \(N_{\text{R}}\) antennas, it actually obtains \(N_{\text{R}}\) received signals. Under a general fading environment, \(N_{\text{R}}\) wireless channels from a mobile device's antenna to \(N_{\text{R}}\) rescue UAV's antennas are independent and all different, and thus, \(N_{\text{R}}\) received signals are also different from each other. From \(N_{\text{R}}\) received signals in the time domain, we extract input data as follows. In time domain, for the \(r\)-th rescue UAV's antenna, an UAV receiver extracts \((N_{\text{CP}}+N_{\text{FFT}})\times N_{\text{sym}}\) samples from a received signal. Note that the UAV receiver starts extracting time-domain samples from the moment it detects a signal, the energy of which exceeds a certain energy threshold. The extracted samples are divided into \(N_{\text{sym}}\) groups, each of which has \((N_{\text{CP}}+N_{\text{FFT}})\) samples. From each sample group, \(N_{\text{FFT}}\) samples are extracted from the \((N_{\text{CP}}+1)\)-th sample to the \((N_{\text{CP}}+N_{\text{FFT}})\)-th sample. By using the inverse Fourier transform, the extracted time-domain samples are transformed to a frequency-domain samples. For the \(r\)-th rescue UAV's antenna, the extracted frequency-domain samples from the \(i\)-th sample group are denoted as \(\mathbf{y}_{r,i}\in\mathbb{C}^{N_{\text{FFT}}\times 1}\). Based on \(\mathbf{y}_{r,i},r\in[1,N_{\text{R}}],i\in[1,N_{\text{sym}}]\), we make \(\mathbf{d}_{i,s}\in\mathbb{C}^{N_{\text{R}}\times 1}\) as  
\[\mathbf{d}_{i,s}=[\mathbf{y}_{1,i}(s),\mathbf{y}_{2,i}(s),\ldots,\mathbf{y}_{ N_{\text{R}},i}(s)]^{\text{T}},s\in[1,N_{\text{FFT}}], \tag{1}\]  
where \((\cdot)^{\text{T}}\) is the transpose operation, and \(\mathbf{y}_{r,i}(s)\) is the \(s\)-th element of \(\mathbf{y}_{r,i}\), which corresponds to a frequency-domain sample transmitted via the \(s\)-th subcarrier among \(N_{\text{FFT}}\) subcarriers. Hence, \(\mathbf{d}_{i,s}\) is a vector that includes frequency domain samples transmitted via the \(s\)-th subcarrier in the \(i\)-th sample group for all rescue UAV's antennas. By using \(\mathbf{d}_{i,s}\), we calculate a covariance matrix \(\mathbf{D}_{i,s}\in\mathbb{C}^{N_{\text{R}}\times N_{\text{R}}}=\mathbf{d}_{ i,s}\cdot(\mathbf{d}_{i,s})^{\text{H}}\) where \((\cdot)^{\text{H}}\) is Hermitian transpose. Finally, an input \(\mathbf{I}\in\mathbb{C}^{N_{\text{R}}\times N_{\text{FFT}}\times N_{\text{ sym}}}\) is constructed as in Figure 5.  
Note that by utilizing covariance matrices, the input data are similar to image data, and we can exploit existing neural networks for image classification. Since neural networks cannot handle complex values, we split the input data into real input data and imaginary input data. Note that imaginary input data are obtained by calculating absolute values of imaginary values. In practice, the magnitude of received signals actually is very small (\(\sim\)10\({}^{-7}\)), and thus we additionally conduct normalization. Figure 4: Survivor discovery protocol. Hence, real and imaginary input data are represented as follows:  
\[\mathbf{I}_{\text{R}}=\frac{\mathfrak{R}(\mathbf{I})}{\max(\mathfrak{R}( \mathbf{I}))},\mathbf{I}_{\text{I}}=\frac{\mathfrak{J}(\mathbf{I})}{\max( \mathfrak{J}(\mathbf{I}))}, \tag{2}\]  
where the operators \(\mathfrak{R}(\cdot)\) and \(\mathfrak{J}(\cdot)\) extract real and imaginary values from \(\mathbf{I}\), respectively. The operator \(\max(\cdot)\) produces the maximum value in a matrix.