In general, if you need to sample at different rates on multiple channels, the easiest and recommended way to do this is to sample all channels at a higher rate and discard any additional samples in the software. You can also programmatically write analog output data that appear to be at different rates depending on how you sample them.
On multiplexed devices, there is a way to manage the convert clock rate and scan list to acquire a different number of samples on different channels. One requirement for this method is that all sample clock rates used must have a common divisor, due to the fact that the sample clock must be divided down from the master timebase:
- It is very important to understand that this method only returns the number of samples reflective of sampling channel 1 at 300 kS/s and channel 2 at 100 S/s. The samples generated for channel 1 will not be uniformly distributed like those of channel 2. More specifically channel 1 will read 3 samples every 10 ms instead of 1 sample every 3.33 ms as would be expected with a true 300kS/s sampling rate. This is shown in the following graphic:
If the extra samples cannot be removed on the software side, and if a multiplexed sampling solution is not viable, there is other NI hardware available to accomplish multiple sampling rates
Another alternative solution is using Resample Waveforms (single shot).vi to resample the high-frequency measurements. For example, a user wants to use 15kHZ in channel 0 and 1kHz in channel 1 as sampling frequency. The customer can use 15kHz as <Highest Frequency> and 1kHz as <Expected Frequency> in the VI below.