Preparing data segments (splitting)


One of the most common tasks in data analysis is the preparing of the data segments to analyse. LTPDA offers various tools for preprocessing data. Here we will review the splitting of data segments using the ao/split method.

Suppose you have a segment of data and you want to split that up. Here are various examples showing how you might do that.

Split in to parts

To split the data in to N parts you can do:

      % Generate a time-series      
      waveformPlist = plist(...
                  'waveform', 'square wave', ...   % Generate a square wave
                  'f', 0.1, ...                    % with 0.1Hz frequency
                  'fs', 10, ...                    % sampled at 10Hz
                  'nsecs', 100, ...                % lasting for 100s
                  't0', '2012-03-10 12:00:00', ... % with the specified reference time
                  'toffset', 10 ...                % and the first sample starts 10s after the reference time
                  );
      a   = ao(waveformPlist);
      
      % Split into 5 parts      
      splitPlist1 = plist('N', 5);
      
      % Split the time-series      
      parts = split(a, splitPlist1);
      
      % Plot the result      
      iplot(parts)

Split by time relative to t0

To split the data by elapsed time since the reference time t0 you can do

      
      % Split a segment starting a t=20 and finishing at t=75      
      splitPlist2 = plist('times', [20 75]);
      
      % Split the time-series      
      timeSegment = split(a, splitPlist2);
      
      % Plot the result      
      iplot(timeSegment)

Split by offsets

To split the data by an offset in seconds relative to the first and last samples, you do

      
      % Split a segment starting 10s from the start to 40s from the start      
      splitPlist3 = plist('offsets', [10 40]);
      
      % Split the time-series      
      offsetSegment = split(a, splitPlist3);
      
      % Plot the result      
      iplot(offsetSegment)
You can also split relative to the end of the data by doing the following:
      
      % Make a segment which drops 10s from the beginning and end of the original      
      splitPlist4 = plist('offsets', [10 -10]);
      
      % Split the time-series      
      dropSegment = split(a, splitPlist4);
      
      % Plot the result      
      iplot(dropSegment)

Split by absolute time

To split the data by absolute times, you do

      
      % Split a segment starting and ending at particular times      
      splitPlist4 = plist('start_time', '2012-03-10 12:00:15', 'end_time', '2012-03-10 12:00:36');
      
      % Split the time-series      
      absTimeSegment = split(a, splitPlist4);
      
      % Plot the result      
      iplot(absTimeSegment)



©LTP Team