# Time-Frequency Domain Seismic Signal Denoising Based on Generative Adversarial Networks
## 3 Results
### Synthetic Data  
The synthetic signal test set is derived from the STEAD dataset, including 9476 noise-free signals and 20,000 pure noise signals. To evaluate the denoising performance, we add noise signals to the noise-free signals to synthesize noisy signals as the input to the model. We then perform quantitative and qualitative analyses by comparing the noise-free signals with the denoised outputs from the model. To obtain low-SNR signals, we amplify the pure noise signals by a factor of 5 and add them to the noise-free signals, thereby synthesizing noisy signals with low SNR. Figure 6 illustrates a denoising example, where, due to the strong noise signal, Deep-Denoiser misinterpreted the entire signal as pure noise, resulting in a zero-output signal. During the denoising process, ARDU caused significant damage to the signal. In contrast, the denoised signal obtained through the proposed method exhibits the closest resemblance to the original noise-free signal. To figure out the denoising performance of the three methods in the time-frequency domain, a comparative analysis of the time-frequency representations before and after denoising is conducted. As illustrated in Figure 7, the seismic signal is mainly in the low-frequency band below 10 Hz, and low-frequency noise within the same frequency range is added. After denoising, both DeepDenoiser and ARDU cause significant damage to the P-wave, while the proposed method in this paper preserves the majority of the P-wave energy, yielding the closest resemblance to the original noise-free signal. In Figure 8, we added high-frequency noise to the clean signal (a). Both DeepDenoiser and ARDU have different degrees of residual high-frequency noise. The denoising result of the proposed method is the closest to (a). Figure 6: Noise reduction comparison in the time domain. The black solid line represents the original noise-free signal waveform, while the red dashed lines represent the denoising results of different models. DeepDenoiser and ARDU cause more damage to the effective signal, with average absolute errors of 0.159 and 0.148, respectively. The denoising result of the method proposed in this paper is closer to the original noise-free signal, with an average absolute error of 0.113. Figure 7: _Cont._  
Figure 8: _Cont._  
Figure 7: Noise reduction comparison for low-frequency noise. Each subfigure shows the STFT spectrum on the left side and the time-series signal on the right side. In (**c**,**d**), although DeepDenoiser and ARDU removed noise across all frequency ranges, they caused significant damage to the energy of the P-wave, substantially attenuating the P-wave amplitude. In (**e**), the method proposed in this paper not only removes noise but also preserves the energy of the effective signal. As shown in Table 1, all three methods significantly improve the SNR after denoising. When the input SNR is lower than 4, the proposed method achieves a higher denoised SNR. However, for input signals with SNR greater than 4, the performance of the proposed method is outperformed by the other two methods. DeepDenoiser and ARDU tend to completely suppress the portion before the P-wave arrival to zero, thereby producing higher SNR. However, the proposed method uses a discriminator to evaluate the difference between the denoised result and the true signal. Since high-quality real signals also exhibit small fluctuations before the P-wave arrival, the denoising results of this method sometimes do not completely suppress the signal. Figure 8: Noise reduction comparison for high-frequency noise. Each subfigure shows the STFT spectrum on the left side and the time-series signal on the right side. In (**c**), the denoising result of DeepDenoiser retains obvious high-frequency noise. In (**d**), from the time-series signal, we can see that ARDU also retains some high-frequency noise. In (**e**), most of the noise has been removed and the denoising result of the proposed method is closest to (**a**).