I am using NI USB-6211 DAQ device. For one of my application I need to use DAQ device to convert the analog input to data samples. Since, I am mimicking the function of a particular MCU, I need to use 12 bits ADC resolution instead of 16 bits resolution which this device has. Is it possible somehow to use this device and get 12 bit resolution?
Currently I am using DAQExpress and I am not familiar with LabView, but I am open to suggestions related to LabView as well.
Solved! Go to Solution.
If you read raw values (that is possible with DAQmx within LabVIEW) you could divide the results by 16 (or shift the results 4 bit right).
@JensG69, I tried to use logical shift function in LabView...but all I can see is 0...I am not sure why, if you can help me with that. Also, I don't think dividing raw data (integer values) by 16 will produce the 12 bit data because that's scaling...but 12 bit/16 bit is related to the resolution of the ADC.
Before sending the data to logical shift function, I can see the output properly on waveform graph and I am able to log the data however, when this data is passed on to logical shift function it just gives 0.
I have attached my project. Thanks!
You cannot change the resolution of ADC from 16-bit to 12-bit, the only option is to discard the resolution of the extra 4 bits at software level.
@Santo_13, that is what I am trying to do here in my project, but can't figure out why it is not working.
OMG shifting 4 bit (and ignore the 4 bits) or dividing by 16 for integer values is the same, and yes, you need to adapt the scale.
Or you AND all unsigned integer value with 0xF0 ....:D
Adapt the scale means changing the V/LSB multiplier.
For example, for a +-10V range with 16-bit ADC, each LSB corresponds to 305.176uV
whereas, for the same +-10V range with 12-bit ADC, each LSDB corresponds to 4.883mV
So, the technique has to be read raw values from DAQ at 16bit, discard the lower 4-bits, now scale it with a new LSB value.
Thank you Santhosh for the reply. I am sorry I don't have much experience with LabView. I understand how each LSB corresponds to what value. But I couldn't find how to change this LSB value. Also I am unable to discard last 4 values. 😞
I hope this helps