LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Does anyone have a strategy for filtering very large data files?

I have a very large data file - 205 MB - and I would like to dual pass butterworth filter the data. I am wondering if anyone has any ideas on how to filter segments of the signal to avoid adverse end effects when the filter runs to the end of the segment and starts the next. We want the segmented signal to look like a continuous signal to the filter.

Thanks,

Jenn.
0 Kudos
Message 1 of 4
(2,831 Views)
If you wire the init/cont node of the Butterworth filter vi to TRUE, it won't reinitialize every time it's run (i.e. it'll maintain the state of it's last call), so the last point of file 1 will be state it's at when you run file 2. By default, this node is set to FALSE.


2006 Ultimate LabVIEW G-eek.

Message 2 of 4
(2,831 Views)
Jenn,

The Butterworth filtering available in LabVIEW is designed to accomodate this sort of continuous filtering. If you look at the "Butterworth Filter.vi" there is a control named "init/cont (init:false)" that resets the internal states of the filter to zero when FALSE. So, to filter your large data set pass the data block by block to the Butterworth Filter.vi. The first time the Butterworth Filter.vi is called make the "init/cont (init:false)" control FALSE, and for all subsequent calls keep it TRUE.
Message 3 of 4
(2,831 Views)
Thank you for your help - that should work perfectly!

Jenn.
0 Kudos
Message 4 of 4
(2,831 Views)