sumIMULatVal = 0.0 sumIMULongVal = 0.0 for i in range(len(IMUPRI)): # IMU ArrIMUPRI[i] = IMUPRI[i] ArrIMULat[i] = IMULat[i] ArrIMULong[i] = IMULong[i] sumIMULatVal = sumIMULatVal + ArrIMULat[i] sumIMULongVal = sumIMULongVal + ArrIMULong[i] LatIMUMean = sumIMULatVal/len(IMUPRI) LongIMUMean = sumIMULongVal/len(IMUPRI) ArrIMULat = ArrIMULat - LatIMUMean # subtract mean value for analysis ArrIMULong = ArrIMULong - LongIMUMean # Find interp function (IF) for DGPS and IMU data (requires arrays as args) IFUTC = Interpolation.InterpolatingFunction((ArrPRI,),ArrUTC) IFLat = Interpolation.InterpolatingFunction((ArrPRI,),ArrLat) IFIMULat = Interpolation.InterpolatingFunction((ArrIMUPRI,),ArrIMULat) IFLong = Interpolation.InterpolatingFunction((ArrPRI,),ArrLong) IFIMULong = Interpolation.InterpolatingFunction((ArrIMUPRI,),ArrIMULong) IFAlt = Interpolation.InterpolatingFunction((ArrPRI,),ArrAlt) # Evaluate interp function on regular grid. The same grid is used for both # data sets with use made of the DGPS start and end PRI's as these lie within # the IMU values as a result of the unpacking program. During this step, the # start PRI is removed from the InterpIndex list. minInterpPRI = PRI[0] maxInterpPRI = PRI[end-1] UTCInterpEval = [] LatInterpEval, IMULatInterpEval = [],[] LongInterpEval, IMULongInterpEval = [],[]
sumVal = 0.0 for i in range(len(PRI)): # DGPS ArrPRI[i] = PRI[i] ArrLat[i] = Lat[i] sumVal = sumVal + ArrLat[i] ArrLat = ArrLat - sumVal/len(PRI) # subtract mean value for analysis sumIMUVal = 0.0 for i in range(len(IMUPRI)): # IMU ArrIMUPRI[i] = IMUPRI[i] ArrIMULat[i] = IMULat[i] sumIMUVal = sumIMUVal + ArrIMULat[i] ArrIMULat = ArrIMULat - sumIMUVal/len(IMUPRI) # subtract mean value for analysis # find interp function (IF) for DGPS and IMU data IFLat = Interpolation.InterpolatingFunction((ArrPRI,),ArrLat) # needs arrays as args IFIMULat = Interpolation.InterpolatingFunction((ArrIMUPRI,),ArrIMULat) # evaluate interp function on regular grid (same grid for both data sets) minInterpPRI = PRI[0] maxInterpPRI = PRI[end-1] LatInterpEval = [] IMULatInterpEval = [] # interp both data sets on same grid step = 320 for index in range(minInterpPRI,maxInterpPRI,step): # DGPS LatInterpEval.append(IFLat(index)) IMULatInterpEval.append(IFIMULat(index)) index = arrayrange(minInterpPRI,maxInterpPRI,step)