PXI

cancel
Showing results for 
Search instead for 
Did you mean: 

high speed data acquisition and simultaneous sampling

Solved!
Go to solution

I am quite familiar with coding for NI-DAQ boards in Labview. What worries me with labview is that each tick is approximately a few msec. I plan to grab data simultaneously from 32 channels at 2 MS/sec/chan using PXIe 6368s. Would it be possible to grab data, average 20-50 samples to get a single value, perform simple algebraic manipulations on it and send it to the PC / software at approximately a few tens of kHz? We already have labview code to do similar tasks but it is quite slow and limiting the experiment rate. I am told that Simulink is slightly better than Labview in this regard but suffers from a poor UI and that if anything C/C++ provides the ability to perform data acquisition at higher speeds with the same NI boards. Could someone please advise me regarding this issue?

0 Kudos
Message 1 of 6
(3,729 Views)

You may get some minor performance boosts from using C/C++ to program your devices. 

 

http://zone.ni.com/devzone/cda/tut/p/id/6999

 

is a good resource on text based programming DAQmx device. The PXIe 6368 is rated up to 2Ms/sec/chan as in it's spec sheet (http://www.ni.com/pdf/manuals/370084b.pdf). How are you planning on averaging the values before it reaches software? I don't see why you application in LabVIEW wouldn't be able to accomplish the few 10s of kHz you're looking for. Where is the bottleneck happening in your code?

0 Kudos
Message 2 of 6
(3,722 Views)

Thanks for getting back.

I plan to acquire data at the maximum specified rate of the ADC board and then filter / average excess samples in software such that I have filtered data corresponding to few tens of kHz. I then need to save this data to disk/memory and also forward some decimated data (10Hz per channel worth of data) digitally via some bus to my host PC. I am not well versed with PXI systems but I imagine I should be able to do this. I fear that Labview will not be able to handle my ADC count of 32 inputs - simultaneously sampled. Can this be done?

Thanks,

Suhas 

0 Kudos
Message 3 of 6
(3,712 Views)

It's unlikely LabVIEW will be the issue. LabVIEW is pretty well optimized for rapid aquisition. The advantage to working at a lower level (i.e. coding in C, Assembly, etc) is complete control over memory and optimization. If you're clever and have experience with lower levels then it might be worth your time. Otherwise you'll have no choice but to use a higher level language (i.e. LabVIEW, C#, etc), or spend hours and probably not get anywhere working on a super low level. 

 

I wouldn't worry too much about performance as I doubt LabVIEW will be your bottleneck. If it is, it'll be because you're doing some sort of advanced processing. You should make sure you program your application so that aquisition is given priority over processing.

0 Kudos
Message 4 of 6
(3,705 Views)

Thanks for getting back,

 

Will I need a controller for my PXI chassis for my application or could I simply use my host PC as the controller?

0 Kudos
Message 5 of 6
(3,702 Views)
Solution
Accepted by topic author ssomnath

You can use your PC! You can use a PCI/PCI-e card as the interface to your computer and it should work great. Take a look at these pages (http://sine.ni.com/nips/cds/view/p/lang/en/nid/10389) for some more info.

0 Kudos
Message 6 of 6
(3,700 Views)