LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Resample a large waveform

I would like to resample (down-sample)a large time signal (over a few hundred MB or even GB per chan).

Is there a vi that can do resampling in portions (just like the filter vi with the "init/cont" input)?

If there is no vi that can be used directly, any suggestion on how to do it?

One method I can think of is to filter the signal to 0.45 times of the target sample rate to get rid of the high frequency content first, and then decimate the filtered waveform.

Thanks.

Ian
0 Kudos
Message 1 of 2
(3,238 Views)
You can use the VI Resample Waveform (continuous).vi located in your Analyze>>Waveform Conditioning palette. You can provide the VI with your waveform in chunks of any sizes, but you need to make sure there is a timestamp continuity, otherwise the resampling VI will reset (re-initialize) your process. In other words if you pass a waveform (t0, dt, Data(*))of 1000 samples with a sampling interval of dt = 1 us (sample rate = 1 MHz), your timestamp t0 should increase 1 us * 1000 samples = 1 ms from chunk to chunk.

Check out the examples (Search for examples, key-word = resampling)
Message 2 of 2
(3,237 Views)