Prev: Draft paper submission deadline is extended: IVPCV-10, Orlando, USA
Next: Draft paper submission deadline is extended: IVPCV-10, Orlando, USA
From: all4dsp on 13 Feb 2010 21:56 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
From: dbd on 14 Feb 2010 00:31 On Feb 13, 6:56 pm, "all4dsp" <all4...(a)comcast.net> 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 Take a look at: Bo0438.pdf Choose your Units! (PWR, PSD, ESD) www.bksv.com/doc/bo0438.pdf and Bv0031.pdf Technical review No. 3 - 1987 => p29 Signals and Units www.bksv.com/doc/Bv0031.pdf Does you instrument have a user's manual? Dale B. Dalrymple
From: all4dsp on 14 Feb 2010 12:12 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!
From: Fred Marshall on 14 Feb 2010 13:02 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! > (1) Take the FFT of the data OK - no window? Here's a reference: http://alpha.science.unitn.it/~bassi/Signal/NInotes/an041.pdf > (2) Get the Magnitude of the FFT OK. > (3) Square the Magnitude; units are now V^2 OK - so now the magnitude of volts measure is converted into a power measure and, as below, you understand there's a conversion factor of sample units to volts somewhere. If this is going to end up dbV then you have to know what number represents a "V". :-) > (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 *What* "weighting function"? Presumably the factor of 2 takes into account the negative frequency components, eh? (i.e. the samples for f>fs/2) If so, I'd multiply rather than divide by 2 and this would be off by a factor of 4? So, I guess I don't understand this factor of 2 you're using. > > (5) Take sqrt of data obtained from (4); units are now V/sqrt(Hz) ???? That sounds reasonable. > (6) Take 20*LOG_base10(data obtained in step 5); units are now dBV/sqrt(Hz) As long as the reference to 1v is maintained then that sounds OK. Maybe that's the "weighting function"? I'm happy to comment but I've not done this quite this way before... Fred
From: Tim Wescott on 14 Feb 2010 14:39
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 |