Example #1
0
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 = [],[]
Example #2
0
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)