Investigating correlation for unequal signal lengths I have measurements from two tablet sensors. The first sensor measures the touch pressure applied to the tablet and the second sensor is the acceleration of the tablet (in z direction). The sensor data are stored in csv files where the first column contains the timestamp (in milliseconds) and the second column contains the sensor data (either touch pressure or acceleration). I have uploaded the two sensors files: 
https://1drv.ms/f/s!AlkQuYgB1McYgudFUrpMzMopUr2wVw

Now I would like to investigate if there exists a correlation between touch pressure and acceleration. I could just calculate the cross-correlation or plotting the pressure against the acceleration (and perhaps add a linear regression line).

The problem is that the acceleration measurements have a more or less constant sampling rate but for the pressure I have not a constant sampling rate. That means that the number of measurements for acceleration and pressure is also not the same (and the timestamps are therefore also not the same).

How can I still calculate the correlation and producing a accleration vs. pressure plot? I thought about a interpolation of the accleration measurements to the timestamps of the pressure readings but I don't know what type of interpolation to use (linear or cubic seems not to be right). Perhaps there is a better way of doing it.

Here are the plots of the two sensors:
If you are using MATLAB, there is a built in object type, called 


  timeseries


, that is very useful for this sort of problem.

&gt;    Methods for class timeseries:
&gt; 
&gt; addevent              getabstime            gettsbeforeatevent    mean
&gt; pvset                 times                  addsample            
&gt; getdatasamples        gettsbeforeevent      median               
&gt; rdivide               timeseries             append               
&gt; getdatasamplesize     gettsbetweenevents    min                  
&gt; resample              tsprops                createTstoolNode     
&gt; getinterpmethod       hasduplicatetimes     minus                 set 
&gt; utArithCommonData      delevent              getprop              
&gt; idealfilter           mldivide              setabstime           
&gt; utArithCommonOutput    delsample             getqualitydesc       
&gt; init                  mode                  setinterpmethod      
&gt; utArithCommonTime      detrend               getsamples            iqr
&gt; mrdivide              setprop               utChkforSlashInName   
&gt; display               getsampleusingtime    isequal              
&gt; mtimes                setuniformtime        utGetEventTime         eq 
&gt; gettsafteratevent     isequalwithequalnans  plot                  std 
&gt; utStatCalculation      filter                gettsafterevent      
&gt; ldivide               plus                  sum                   var 
&gt; get                   gettsatevent          max                  
&gt; pvget                 synchronize           
&gt; 
&gt; Static methods:
&gt; 
&gt; loadobj               tsChkTime             tsgetrelativetime


The setuniformtime method will do the interpolation for you. The other methods are often useful.