LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Simultaneously gathering multiple channels at different scan rates

I heard somewhere that the NI 6070E DAQ board can do this. Can it? Is there
a VI floating
around that I can use? I dont' even know what this process is referred to
as,
which is largely why I haven't been abel to find any information on it.
I want to read at most 5 channels, at different scan rates, but they must
be
simultaneous, since they are all different properties of a single real-time
event.
0 Kudos
Message 1 of 5
(3,869 Views)
Hi Tianyu

The NI 6070E cannot do what you are asking for.
But you can simulate this by scanning the data at the fastest rate you will need, to be an integer multiple of all of your scan
rates, and then decimating, to get rid of the extra data.

E.g.. If the sample rates you want are:
2Hz, 4Hz, 3Hz;
Then the required sample rate would be 12Hz.
The sample decimation you will need to do is:
Every 6th point for 2Hz,
Every 3th point for 4Hz,
Every 4th point for 3Hz,

Of course this will only work if the required sample rate is within the range of DAQ card. If it isn't then you can sample at the
nearest sample rate that can accommodate most of your wanted sample rate and then interpolate (curve fit) the data from the other
channels and resample from the interpo
lation.

I hope this helps

Tim

Tianyu Ching wrote:

> I heard somewhere that the NI 6070E DAQ board can do this. Can it? Is there
> a VI floating
> around that I can use? I dont' even know what this process is referred to
> as,
> which is largely why I haven't been abel to find any information on it.
> I want to read at most 5 channels, at different scan rates, but they must
> be
> simultaneous, since they are all different properties of a single real-time
> event.
0 Kudos
Message 2 of 5
(3,868 Views)
Is this process performed in real time? That is, does the board perform decimation
right upon reading the data from buffer? The whole point of this excercise
is to save memory and processing time by scanning slow signals at a slower
rate.

Timothy John Streeter wrote:
>Hi Tianyu>>The NI 6070E cannot do what you are asking for.>But you can simulate
this by scanning the data at the fastest rate you will need, to
>be an integer multiple of all of your scan>rates, and then decimating, to
get rid of the extra data.>>E.g.. If the sample rates you want are:> 2Hz,
4Hz, 3Hz;>Then the required sample rate would be 12Hz.>The sample decimation
you will need to do is:>Every 6th point for 2Hz,>Every 3th point for 4Hz,>Every
4th point for 3Hz,>
>Of course this will only work if the required sample
rate is within the range of DAQ
>card. If it isn't then you can sample at the>nearest sample rate that can
accommodate most of your wanted sample rate and then interpolate
>(curve fit) the data from the other>channels and resample from the interpolation.>>I
hope this helps>>Tim
0 Kudos
Message 3 of 5
(3,868 Views)
Hi Tianyu

No the board itself cannot do this, it has to be done in software. If you are wanting to save memory you can acquire the data in
chunks and decimate and then discard the extra data.

This is the cheapest way to do what you want. The problem with your card is that it has only one channel multiplexer, one A-D
converter and one scan clock and so can only perform one scan rate. Some of the NI cards have more than 1 A-D but they are used
for simultaneous sampling and so they have only one scan clock.

To do what you want solely in hardware, would require 5 DAQ cards with each sampling at individual rates but sharing reference
clocks, so the timing is in sync.
A semi-hardware alternative is to use one of the RT DAQ cards, with their onb
oard CPU, and perform the decimation on the RT DAQ's
processor.

Tim

Tianyu Ching wrote:

> Is this process performed in real time? That is, does the board perform decimation
> right upon reading the data from buffer? The whole point of this excercise
> is to save memory and processing time by scanning slow signals at a slower
> rate.
>
> Timothy John Streeter wrote:
> >Hi Tianyu>>The NI 6070E cannot do what you are asking for.>But you can simulate
> this by scanning the data at the fastest rate you will need, to
> >be an integer multiple of all of your scan>rates, and then decimating, to
> get rid of the extra data.>>E.g.. If the sample rates you want are:> 2Hz,
> 4Hz, 3Hz;>Then the required sample rate would be 12Hz.>The sample decimation
> you will need to do is:>Every 6th point for 2Hz,>Every 3th point for 4Hz,>Every
> 4th point for 3Hz,>>Of course this will only work if the required sample
> rate is within the range of DAQ
> >card. If it isn't then yo
u can sample at the>nearest sample rate that can
> accommodate most of your wanted sample rate and then interpolate
> >(curve fit) the data from the other>channels and resample from the interpolation.>>I
> hope this helps>>Tim
0 Kudos
Message 4 of 5
(3,869 Views)
A year late, but the card _can do this, but *LabView* can't (not as is anyway).

If you program with NI-DAQ C API you can specify the scan list "manually" and build a scan list something like this:
1, 2, 1, 3, 1, 4, 1, 5

In which case channel one would be scanned at 4 times the rate of the other channels. More complicated scan list can be built, you are limited to 500 (or 512 I forget) entries in the scan list.

I'm not sure if it has a real name, we call them "fractured scan list" around here.
0 Kudos
Message 5 of 5
(3,868 Views)