I want to estimate noise floor in the spectrum. I tested many methods using journals, but I couldn't find a stable method. Suggest that we have a spectrum consist of many signal and we want to estimate noise floor form signal.
You can get help best if you can share what kind of signal do you have. For example, in scenarios where you have a multipath channel time domain response or 'channel impulse response', you can use mdeian of median of windows as your noise floor.
Because 'channel impulse response' will have multiple narrow peaks in time domain corresponding to each path, therefore, using mean of the complete CIR would result in biasing due to the high amplitude peaks.
Median is a better choice to avoid biased results of noise floor but it will require sorting operation and based on the length of signal, that might be a problem and complexity increases as $O(N.logN)$.
So, in such scenario it is best to use average of median of windowed sub-sections of the signal. You divide the complete signal into windows of size 256 or 512 and compute median of these sub-sections which will be pretty fast and then take median/average of this vector of medians. That is a pretty good noise floor and works well in practical scenario as well.