I am working in a streaming DAQ application using a PXI 6115 and I need to optimise it as much as possible. I need to acquire 4 channels at the maximum sample rate possible
I am using the DAQmxRead function to read U32 samples from the NI 6115, but is this the correct function to use? I mean, I know the board's resolution is 12 bits, so one would tend to use a U16 transfer, but the NI 6115 block diagram shows that each of the four 12bit ADC outputs are fed into a FIFO whose output is 32 bits... is this because the board internally packs two 16 bit samples coming from two adjacent channels into a one 32 bit sample to improve data transfer throught the PCI bus?
In my application I need to preprocess the data of each channel separatley before storing it to disk, so if the answer to the question above is yes... should I "unpack" manually the samples from each channel at the output of the DAQmx Read? (take the U32 and divide it 2xU16?)
I attached the code I using in case it helps (it does not include any preprocessing yet because I still working on it)