From: Tim Wescott on
On Sun, 14 Feb 2010 11:12:51 -0600, all4dsp wrote:

> Thanks Dale,
>
> I should have mentioned, I need to do all of this post-processing in
> Matlab, so even if the instrument shows me the plot in dBV/sqrt(Hz), I
> need to understand how to do this manually given the raw time-sampled
> data list. Not necessarily looking for a Matlab script, but more looking
> for the process to go from time-sampled data to a dBV/sqrt(Hz).
> Something like:
>
> (1) Take the FFT of the data
> (2) Get the Magnitude of the FFT
> (3) Square the Magnitude; units are now V^2 (4) Divide each Squared
> Magnitude data point by 2*ENBW (Effective Noise Bandwidth); where ENBW =
> frequency resolution * ENBW multiplier for selected weighting
> function... (is this right????); units are now V^2/Hz
>
> (5) Take sqrt of data obtained from (4); units are now V/sqrt(Hz) ????
> (6) Take 20*LOG_base10(data obtained in step 5); units are now
> dBV/sqrt(Hz) ????
>
> Can someone correct me or fill in the details? (e.g. why divide by "2"
> in step 4?)
>
> Thanks in advance!

This is a USENET newsgroup, it'd be nice if you'd quote prior messages.

Time to ask what you're doing.

If you know the noise bandwidth of the signal you're measuring, then you
can just calculate the RMS signal strength on the scope and divide it by
the square root of the noise bandwidth.

If you _don't_ know the noise bandwidth of the signal, then you'll have
to do the FFT thing, essentially to _find_ that noise bandwidth.

If you _really_ don't know the noise bandwidth, to the point where the
signal may have significant energy above the Nyquist frequency of the
sampling rate of the scope, then you need to change your measuring
instrument so that you're getting enough information.

--
www.wescottdesign.com
From: Tim Wescott on
On Sat, 13 Feb 2010 20:56:19 -0600, all4dsp wrote:

> Hi Everyone,
>
> I've not been able to find this online, but I think it's a fundamental
> question perhaps some of you have had to deal with in the past. If I
> have an analog signal input (mostly white noise, but I suppose that's
> irrelevant to this question) that I capture using a real-time sampling
> oscilloscope, how do I process the data (received in Volts by the
> oscilloscope) to get data in units of dBV/sqrt(Hz), where I use dBV here
> to mean "referenced to 1V rms" (e.g. 0dBV = 1Vrms)?
>
> Thanks in advance for any replies

Just a nit -- the noise power that passes through a filter depends on the
power spectral density at its input (in watts/hz), and the noise
bandwidth of the filter. But the power spectral density is in _watts_/
hz, not dB/Hz -- the decibel is based on logarithms of ratios, and the
decibel measure of power does not increase linearly with filter
bandwidth, where a linear measure of power (for white noise in) does.

--
www.wescottdesign.com