MATLAB: How to find occupied bandwidth

MATLABobwoccupied bandwidthsignal processing

Greetings,
I am trying to estimate the occupied bandwidth of the measured signal. After post-processing, I arrived to the spectrum estimate "powerSpectrum.mat" and frequencies "freq.mat" (both files are attached).
load powerSpectrum.mat powerSpectrum
load freq.mat freq
figure
obw(powerSpectrum,freq);
The returned occupied bandwidth does not quite make sense to me. Is there anything that I did not do? or did wrong?
I would appreciate your help.

Best Answer

You have a fair amount of noise power, which is swamping your measurement. To see what I mean try (assuming your spectrum is a PSD -- you were using the PSD syntax above):
plot(freq/1e9, cumsum(powerSpectrum)./mean(diff(freq)))
xlabel('Freq (GHz)')
ylabel('Cumulative Power (Watts)')
Note the large slope in cumulative power in the noise regions.
If you want to ignore the noise, try restricting the frequency band of interest. Something like:
obw(powerSpectrum, freq, [4.75 9]*1e9, 99)
Something looks awry in the band between 8.5 GHz - 9 GHz. Is this a real world signal?
Related Question