Page 1 of 1

Range Selection for Specific Operations

Posted: Fri May 22, 2009 12:11 pm
by DouglasArnold
Hi,

I am using a data acquisition system that is collecting data at a specified rate (5 samples per second) for an hour or more. Then, to capture a specific event the data rate can be increased on command to 1000 samples per second for up to a minute. The data acquistion system then returns to its default acqisition rate. All of the data is important, but I need to smooth or filter the data when it is at the high acquistion rate only.

I'm looking for a macro command(s) to help me select a specific data range. Then, perform the operations on that data range only (i.e. peak value, filter, smooth, running average). Some of the operations in DPlot can only be performed on a data set where the time steps are uniform. Is there a way to using macros to find and return the data range where the time step changes for the data analysis?

Thank you,
Doug

Posted: Sat May 23, 2009 10:06 am
by DPlotAdmin
Doug,
Is there a way to using macros to find and return the data range where the time step changes for the data analysis?
No, sorry. But I'm not confident this would work especially well with the Filter command even if you could do this, since the output depends on 1 or two of the previous input and output points. (You may notice that the digital filters used by DPlot take a while to, for lack of a better description, kick in.) I imagine you'd get noticeable outlying values at the boundaries between your 5 and 1000 Hz data (but I may be wrong).

I could easily enough write a plugin to produce new curves from the existing data, one for each section where the sampling rate is either within or outside some frequency (in your case 1000 +/- a few Hz). If you think that would be helpful let me know.

Posted: Wed May 27, 2009 7:45 am
by DouglasArnold
Dave,

I like your suggestion of creating a new curve from the existing data, but rather than a plugin that is based upon the time step (data acquisition rate) is there a straight forward method creating the new curve from a time range (for instance column 1 values 6075 through 6135).

I assume that if I have an new curve in a specific data range that has uniform time steps, I will be able to perform any of the filters or smoothing functions on that new curve.

Thank you,
Doug

Posted: Wed May 27, 2009 2:02 pm
by DPlotAdmin
is there a straight forward method creating the new curve from a time range (for instance column 1 values 6075 through 6135).
No. Edit>Equal Intervals is most like what you want, but it operates on an entire curve - it doesn't allow you to specify a range. That's an easy change, though, and I'll try to have that available before long.
I assume that if I have an new curve in a specific data range that has uniform time steps, I will be able to perform any of the filters or smoothing functions on that new curve.
Yes, that's correct. But it makes me a bit nervous talking about running a filter on the result, if you use a step that is larger than that for the original data.