I am trying to detect occupied bandwidth by looking at the spectrum of the signal in environment. The scenario is mostly blind and the dominant noise is the white Gaussian noise of the environment. Although, I don't have any knowledge of the incoming signals and the channel between us could be something complex.
What I do is capture the signal using a SDR (it delivers to me the I/Q of the signal) and then I estimate the spectrum of the signal using Welch method. I start sweeping the signal data and use Hamming window and 8 times averaging (the windows have 75% overlap) and the FFT length is 1024.
So far I found out that if occupied bands are narrowband, the moving median as an outlier detector can be a very good indicator of the noise level and using moving median and subtracting the spectrum from the median I can detect where a signal exist. however, when the present signal is wideband and have a relatively smooth spectrum, I can't find it! Cause the median tracks it very well and the subtraction yields nothing. For example the WiFi signal that I have captured below

I can find the single tone adjacent to it but I can detect the WiFi itself. Is there a better noise floor estimator that allow me to find smooth signals like WiFi? Should I change my method, instead of floor estimation, look for something else? Is there an optimal noise floor estimation method?