08-22-2007 06:43 PM
Sorry for such a long post, but I am trying to be as clear as possible.
I am using LabView 8.2.1 to control my 5922, but a couple of issues concerning the resolution are really bothering me. I have attached a simple example code for you to look at. Using the NI-Scope functions, I do a simple setup of the horizontal and vertical channels, trigger the device, and then do a simple read.
I used the following settings to measure a DC voltage input of 4 V:
Sample Rate = 15 MS/s (Note: this implies 16 bit resolution on the 5922)
Record Length = 1 (Yes, just one single sample)
Channel 0
Based on the range and sample rate, my resolution should be:
10 / 2^16 = 0.000 152 587 890 625
Or in reality, about 153 uV. That means that the smallest change in signal amplitude that the digitizer can detect is 153 uV.
I set my waveform indicator to “Floating Point, 16 Digits of precision” (I know 16 digits is excessive, but I used it to make a point).
After applying 4 Vdc and running the vi, the digitizer/software returned:
3.999 314 591 713 998 7
Why are there so many digits? How can a single acquisition of one sample on a 16 bit device yield so many decimal places? Even at 24 bits I shouldn’t see any more than 596 nV! Where do all these decimal places come from?
The follow-up question is how do I write code that displays the “correct” number of digits? For a given voltage range and sample rate, how do I create an “indicator” that shows the correct resolution?
Thanks for your help!
08-23-2007 07:46 AM
08-23-2007 09:00 AM
Thanks for the reply, that makes sense.
I still do not know how to make the display agree with my actual resolution: Suppose I sample a waveform and calculate a measurement (Vrms, for example). I want to place an indicator on the front panel that will behave as follows:
If I am sampling at S1 on range R1, I want my indicator to display K1 digits. If I am sampling at S2 on Range R2, I want my indicator to display K2 digits, etc. My approach would be to use some sort of logic to determine how many bits of resolution I should have given S and R. What I do not know how to do is (dynamically) change the way the indicator displays the number. The only way I know how to change the indicator is by setting the format and precision, but that occurs outside of program execution. I would like to have the indicator be able to "keep up with me", so to speak, as I change R and S.
Any help would be greatly appreciated. Thanks!
08-23-2007 03:43 PM - edited 08-23-2007 03:43 PM
Message Edited by Paul C. on 08-23-2007 03:44 PM
08-24-2007 07:57 AM