def timeCoinEasyModeTest(startSec, endSec, gpsShift, date): List1 = fileToList.fileToList( unicode( 'E:\Experiment Data\时频传输数据处理\双站数据处理\\3.2\\send_fixed_850Time_filtered.txt', 'utf8')) List2 = fileToList.fileToList( unicode( 'E:\Experiment Data\时频传输数据处理\双站数据处理\\3.2\\recv_fixed_850Time_filtered.txt', 'utf8')) List2Delay = fileToList.fileToList( unicode( 'E:\Experiment Data\时频传输数据处理\双站数据处理\\%s\\GPS_Recv_Precise_disDelay.txt' % date, 'utf8')) gpsTimeList1 = fileToList.fileToList( unicode( 'E:\Experiment Data\时频传输数据处理\双站数据处理\\%s\\send_fixed_GPSTime.txt' % date, 'utf8')) gpsTimeList2 = fileToList.fileToList( unicode( 'E:\Experiment Data\时频传输数据处理\双站数据处理\\%s\\recv_fixed_GPSTime.txt' % date, 'utf8')) coinfile = unicode( 'E:\Experiment Data\时频传输数据处理\双站数据处理\\%s\\result\\synCoincidenceEM_0530-%s-%s-EM-%s.txt' % (date, startSec, endSec, gpsShift), 'utf8') # List1Ran = Hydraharp400DataConvert.randomList(List1, 0, efficent) # List2Ran = Hydraharp400DataConvert.randomList(List2, 0, efficent) timeCoincidenceEasyMode(List1, List2, gpsTimeList1, gpsTimeList2, List2Delay, startSec, endSec, coinfile, gpsShift)
def satPulseCoincidenceTest(): file = unicode('C:\Users\Levit\Experiment Data\阿里数据\\170829\\', encoding='utf-8') startSec = 245 endSec = 445 groSatShift = 240 groFile = unicode( '%s20170830031232_fineParse_532_filtered_reflectFiltered.txt', encoding='utf-8') % file satFile = unicode('%s0829AliSatellite_channel_10_532.txt', encoding='utf-8') % file groGPSFile = unicode('%s20170830031232_fineParse_GPS.txt', encoding='utf-8') % file satGPSFile = unicode('%s0829AliSatellite_channel_5_GPS.txt', encoding='utf-8') % file gpsDisFile = unicode('%sGPS_Dis.txt', encoding='utf-8') % file saveFile = groFile[:-4] + '_%s-%s_coincidence_0320.txt' % (startSec, endSec) groPulseList = fileToList.fileToList(groFile) satPulseList = fileToList.fileToList(satFile) groGPSList = fileToList.fileToList(groGPSFile) satGPSList = fileToList.fileToList(satGPSFile) gpsDisList = fileToList.fileToList(gpsDisFile) # groPulseList,satPulseList,groGPSList,satGPSList=timeCalibrate(groList,satList,groGPSList,satGPSList) coinList = satPulseCoincidence(groPulseList, satPulseList, groGPSList, satGPSList, gpsDisList, groSatShift, startSec, endSec) fileToList.listToFile(coinList, saveFile)
def GPS_CompareTest(date, dataLJ, dataDLH, shift): gpsList1 = fileToList.fileToList( unicode( 'C:\Users\Levit\Experiment Data\双站数据\\%s\共视数据\\%s-tdc2_channel_1.txt' % (date, dataLJ), 'utf8')) gpsList2 = fileToList.fileToList( unicode( 'C:\Users\Levit\Experiment Data\双站数据\\%s\共视数据\\%s-tdc13_channel_1.txt' % (date, dataDLH), 'utf8')) coinList, rms, m = GPS_Compare(gpsList1, gpsList2, shift) X = [i + 1 for i in range(len(coinList))] residual = [coinList[i][2] for i in range(len(coinList))] residualH = [[coinList[i][2]] for i in range(len(coinList))] histList = dataHistogram(residualH, 0, 5000, 60000, 0) xa = [histList[i][0] for i in range(len(histList))] ya = [histList[i][1] for i in range(len(histList))] fig = plt.figure() ax1 = fig.add_subplot(121) ax1.plot(X, residual, color='g', linestyle='-', marker='*') ax1.xaxis.grid(True, which='major') # x坐标轴的网格使用主刻度 ax1.yaxis.grid(True, which='major') # y坐标轴的网格使用次刻度show() ax1.set_ylabel('Difference (ps)', fontsize=20) ax1.set_xlabel('Time (s)', fontsize=20) ax1.set_title('GPS Compare RMS:%d ps Mean:%d ps' % (rms, m), fontsize=24) ax2 = fig.add_subplot(122) ax2.plot(xa, ya, color='r', linestyle='-', marker='*') ax2.xaxis.grid(True, which='major') # x坐标轴的网格使用主刻度 ax2.yaxis.grid(True, which='major') # y坐标轴的网格使用次刻度show() ax2.set_ylabel('Count', fontsize=20) ax2.set_xlabel('Time Difference (ps)', fontsize=20) ax2.set_title('Histgram', fontsize=24) plt.show()
def groPulseCoincidenceTest(): startSec = 245 endSec = 445 groSatShift = 240 date = '170829' groFile = unicode( 'C:\Users\Levit\Experiment Data\阿里数据\\%s\\20170830031232_fineParse_1064.txt', encoding='utf-8') % date satFile = unicode( 'C:\Users\Levit\Experiment Data\阿里数据\\%s\\0829AliSatellite_channel_27_1064.txt', encoding='utf-8') % date groGPSFile = unicode( 'C:\Users\Levit\Experiment Data\阿里数据\\%s\\20170830031232_fineParse_GPS.txt', encoding='utf-8') % date satGPSFile = unicode( 'C:\Users\Levit\Experiment Data\阿里数据\\%s\\0829AliSatellite_channel_5_GPS.txt', encoding='utf-8') % date gpsDisFile = unicode( 'C:\Users\Levit\Experiment Data\阿里数据\\%s\\GPS_Dis.txt', encoding='utf-8') % date saveFile = groFile[:-4] + '_%s-%s_coincidence_0320.txt' % (startSec, endSec) groPulseList = fileToList.fileToList(groFile) satPulseList = fileToList.fileToList(satFile) groGPSList = fileToList.fileToList(groGPSFile) satGPSList = fileToList.fileToList(satGPSFile) gpsDisList = fileToList.fileToList(gpsDisFile) # groPulseList,satPulseList,groGPSList,satGPSList=timeCalibrate(groList,satList,groGPSList,satGPSList) coinList = groPulseCoincidence(groPulseList, satPulseList, groGPSList, satGPSList, gpsDisList, groSatShift, startSec, endSec) fileToList.listToFile(coinList, saveFile)
def clockDiffByDistanceTest(date): shift = -19 timeFile = unicode( 'E:\Experiment Data\时频传输数据处理\双站数据处理\\%s\\result\\synCoincidenceEM_0530-85-235_filtered.txt' % date, 'utf8') gpsFile1 = unicode( 'E:\Experiment Data\时频传输数据处理\双站数据处理\\%s\\send_fixed_GPSTime.txt' % date, 'utf8') gpsFile2 = unicode( 'E:\Experiment Data\时频传输数据处理\双站数据处理\\%s\\recv_fixed_GPSTime.txt' % date, 'utf8') delayFile = unicode( 'E:\Experiment Data\时频传输数据处理\双站数据处理\\%s\\GPS_Recv_Precise_disDelay.txt' % date, 'utf8') saveFile = timeFile[:-4] + '_diffByDistance.txt' timeList = fileToList.fileToList(timeFile) gpsTimeList1 = fileToList.fileToList(gpsFile1) gpsTimeList2 = fileToList.fileToList(gpsFile2) delayList = fileToList.fileToList(delayFile) timeList1 = [] timeList2 = [] for i in range(len(timeList)): timeList1.append([timeList[i][0]]) timeList2.append([timeList[i][1]]) result = clockDiffByDistance(timeList1, timeList2, gpsTimeList1, gpsTimeList2, delayList, shift) fileToList.listToFile(result, saveFile)
def timeCoinFinalEfficent(startSec, endSec, gpsShift, date, efficent): List1 = fileToList.fileToList( unicode( 'E:\Experiment Data\时频传输数据处理\双站数据处理\\%s\\send_fixed_850Time.txt' % date, 'utf8')) List2 = fileToList.fileToList( unicode( 'E:\Experiment Data\时频传输数据处理\双站数据处理\\%s\\recv_fixed_850Time.txt' % date, 'utf8')) List2Delay = fileToList.fileToList( unicode( 'E:\Experiment Data\时频传输数据处理\双站数据处理\\%s\\GPS_disDelay.txt' % date, 'utf8')) gpsTimeList1 = fileToList.fileToList( unicode( 'E:\Experiment Data\时频传输数据处理\双站数据处理\\%s\\send_fixed_GPSTime.txt' % date, 'utf8')) gpsTimeList2 = fileToList.fileToList( unicode( 'E:\Experiment Data\时频传输数据处理\双站数据处理\\%s\\recv_fixed_GPSTime.txt' % date, 'utf8')) coinfile = unicode( 'E:\Experiment Data\时频传输数据处理\双站数据处理\\%s\\result\\synCoincidenceEM_0502_eff%s.txt' % (date, efficent), 'utf8') # List1Ran=Hydraharp400DataConvert.randomList(List1,0,efficent) # List2Ran=Hydraharp400DataConvert.randomList(List2,0,efficent) timeCoincidenceFinal(List1, List2, gpsTimeList1, gpsTimeList2, List2Delay, startSec, endSec, coinfile, gpsShift)
def distanceTest(): goundFile = unicode( 'E:\Experiment Data\时频传输数据处理\双站数据处理\\3.2\Result\\groundStationJ2000-0717.txt', 'utf8') satFile = unicode( 'E:\Experiment Data\时频传输数据处理\双站数据处理\\3.2\Result\\satellite_Sec.txt', 'utf8') goundList = fileToList.fileToList(goundFile) satList = fileToList.fileToList(satFile) groSatDistance(goundList, satList)
def delayCalJ2000Test(): groundXYZList = fileToList.fileToList( unicode( 'E:\Experiment Data\时频传输数据处理\双站数据处理\\3.2\\groundStationJ2000_Sec.txt', 'utf8')) satelliteXYZList = fileToList.fileToList( unicode( 'E:\Experiment Data\时频传输数据处理\双站数据处理\\3.2\\satelliteJ2000_Sec.txt', 'utf8')) delayCal(groundXYZList, satelliteXYZList, 2, 5)
def groSatPulseMatchTest(): groCoinFile = unicode( 'C:\Users\Levit\Experiment Data\阿里数据\\170829\\20170830031232_fineParse_1064_245-445_coincidence_0320.txt', encoding='utf-8') satCoinFile = unicode( 'C:\Users\Levit\Experiment Data\阿里数据\\170829\\20170830031232_fineParse_532_filtered_reflectFiltered_245-445_coincidence_0320.txt', encoding='utf-8') groList = fileToList.fileToList(groCoinFile) satList = fileToList.fileToList(satCoinFile) saveFile = groCoinFile[:-4] + '_match.txt' matchList = groSatPulseMatch(groList, satList, 240, 105000000) fileToList.listToFile(matchList, saveFile)
def disUncertainTest(X, staCount): goundFile = unicode( 'C:\Users\Levit\Experiment Data\双站数据\\20180109\\groundStationWGS84.txt', 'utf8') satFile = unicode( 'C:\Users\Levit\Experiment Data\双站数据\\20180109\\satelliteWGS84_Sec.txt', 'utf8') goundList = fileToList.fileToList(goundFile) satList = fileToList.fileToList(satFile) length = len(satList) for i in range(250): disUncertain(X, goundList, satList[i], staCount, i)
def reduceSecTest(): dataFile = unicode( 'C:\Users\Levit\Experiment Data\阿里数据\\170829\\20170830031232_fineParse_1064_245-445_coincidence_0320_match_parameters_30_filtered_Smooth30.txt', encoding='utf-8') atmFile = unicode('C:\Users\Levit\Experiment Data\阿里数据\\170829\\俯仰角.txt', encoding='utf-8') saveRedFile = dataFile[:-4] + '_Sec.txt' rangingList = fileToList.fileToList(dataFile) atmList = fileToList.fileToList(atmFile) reduceList = reduceSec(rangingList, 20, 0, 1, 3, 5) atmCorrect(reduceList, atmList) fileToList.listToFile(reduceList, saveRedFile)
def delayCalWGS84Test(): groundXYZList = fileToList.fileToList( unicode( 'C:\Users\Levit\Experiment Data\双站数据\\20180109\\groundStationWGS84.txt', 'utf8')) satelliteXYZList = fileToList.fileToList( unicode( 'C:\Users\Levit\Experiment Data\双站数据\\20180109\\satelliteWGS84_Sec.txt', 'utf8')) atmosphereList = fileToList.fileToList( unicode('C:\Users\Levit\Experiment Data\双站数据\\20180109\\天气参数.txt', 'utf8')) delayCalWGS84(groundXYZList, 0, 1, satelliteXYZList, 0, 5, atmosphereList)
def nearMatchTest(): groCoinFile = unicode( 'C:\Users\Levit\Experiment Data\阿里数据\\170919\\20170920032416_fineParse_1_1064_10-220_coincidence_new.txt', encoding='utf-8') satCoinFile = unicode( 'C:\Users\Levit\Experiment Data\阿里数据\\170919\\20170920032416_fineParse_2_532_filtered_reflectFiltered_10-220_coincidence_new.txt', encoding='utf-8') groList = fileToList.fileToList(groCoinFile) satList = fileToList.fileToList(satCoinFile) saveFile = groCoinFile[:-4] + '_nearMatch.txt' result = nearMatch(groList, satList, 5, 90000000) reduceVList = reduceSec(result, 30, 0, 1) reduceKList = reduceSec(result, 30, 0, 2) fileToList.listToFileLong(result, saveFile) fileToList.listToFileLong(reduceVList, saveFile[:-4] + '_VSec.txt') fileToList.listToFileLong(reduceKList, saveFile[:-4] + '_KSec.txt')
def dataCoinLight(dataFile, channelDelay, coinWidth): dataList = fileToList.fileToList(dataFile) resultList = [] index = 0 count = 0 length = len(dataList) process = True while process: if dataList[index][0] == dataList[index + 1][0]: index += 1 if index > length - 2: process = False elif abs(dataList[index][1] - dataList[index + 1][1] - channelDelay) < coinWidth: resultList.append([ dataList[index][1], (dataList[index][1] - dataList[index + 1][1]) ]) count += 1 index += 2 if index > length - 2: process = False else: index += 1 if index > length - 2: process = False print 'data coincidence finished %s coincidences, and difference time are calculated !' % count fileToList.listToFile(resultList, dataFile[:-4] + '_coinDiff.txt') return resultList
def delayOrbitFitTest(): timeFile = unicode( 'G:\时频传输数据处理\双站数据处理\\3.2\\result\\synCoincidenceEM_adjacentNear5.txt', 'utf8') timeList = fileToList.fileToList(timeFile) tau = 1000000000000 delayOrbitFit(timeList, tau)
def logPlotAxTest(): # dataFile1=unicode('C:\Users\Levit\Experiment Data\Rakon晶振测试数据\两TDC测试\\6.13-2k-0.01s-all.txt','utf8') # dataFile2=unicode('E:\Experiment Data\时频传输数据处理\双站数据处理\\6.14NS\\6.14-60-170-timeWalkLinear.txt','utf8') # dataFile1=unicode('C:\Users\Levit\Experiment Data\德令哈测试\\20171226\零基线实验\\20171227015305-tdc2_5_filterN_coindence_filtered_250-350s_residual-1-0.1s-ps_TDEV.txt','utf8') # dataFile1 = unicode('C:\Users\Levit\Experiment Data\Rakon晶振测试数据\两TDC测试\\20171116\\20171116220334-tdc2-13-4-10-4000s_residual-1-0.1s-ps_TDEV.txt', 'utf8') # dataFile2 =unicode('C:\Users\Levit\Experiment Data\德令哈测试\\20171226\零基线实验\\20171227015305-tdc2_4_filterN_coindence_filtered_250-350s_residual-1-0.1s-ps_TDEV.txt','utf8') dataFile3 = unicode( 'C:\Users\Levit\Experiment Data\双站数据\\20180121\\result\\synCoincidence-124-216--17-1-Coin-紫台WGS84-atm-factor-haiji_laser改正_filtered_residual-2-0.1s-ps_TDEV.txt', 'utf8') # dataFile4 =unicode('C:\Users\Levit\Experiment Data\双站数据\\20180108\\result\\synCoincidence-165-265--11-0-Coin-紫台WGS84-atm-factor-neworbit_filtered_residual-6-0.1s-ps_TDEV.txt','utf8') # dataFile5 =unicode('C:\Users\Levit\Experiment Data\双站数据\\20180108\\result\\synCoincidence-165-265--11-0-Coin-紫台WGS84-atm-factor-neworbit_filtered_residual-7-0.1s-ps_TDEV.txt','utf8') # dataFile6 =unicode('C:\Users\Levit\Experiment Data\双站数据\\20180108\\result\\synCoincidence-165-265--11-0-Coin-紫台WGS84-atm-factor-neworbit_filtered_residual-20-0.1s-ps_TDEV.txt','utf8') # List1=fileToList.fileToList(dataFile1) # List2=fileToList.fileToList(dataFile2) List3 = fileToList.fileToList(dataFile3) # List4=fileToList.fileToList(dataFile4) # List5=fileToList.fileToList(dataFile5) # List6 = fileToList.fileToList(dataFile6) fig = plt.figure() # logPlotAx(List1,fig,'g','--','o','12.26 DLH-DLH,250-350s light,1 order fit') # logPlotAx(List2,fig,'r','--','s','12.26 DLH-DLH,250-350s electronic,1 order fit') logPlotAx(List3, fig, 'c', '--', '^', '01.21 LJ-DLH,124-216s, Laser correction, 2 order fit') # logPlotAx(List4,fig,'b','--','v','01.08 LJ-DLH,165-265s, 6 order fit') # logPlotAx(List5, fig, 'y', '--', 'v', '01.08 LJ-DLH,165-265s, 7 order fit') # logPlotAx(List6, fig, 'k', '--', '+', '01.08 LJ-DLH,165-265s, 20 order fit') plt.show()
def sphere_point_scan(): pointFile = unicode('C:\Users\Levit\Experiment Data\望远镜相位中心测试\\丽江测试定点.txt', 'utf8') pointList = fileToList.fileToList(pointFile) X = [] Y = [] Z = [] count = 4 for i, point in enumerate(pointList): if i == count: break print point X.append(point[0]) Y.append(point[1]) Z.append(point[2]) print X for xi in range(20): for yi in range(20): for zi in range(20): for ri in range(20): # P0=[-993546.7949,5617880.218,2849392.09,2.8] P0 = [ -993546.843 - 0.2 + xi * 0.02, 5617880.121 - 0.2 + yi * 0.02, 2849392.069 - 0.2 + zi * 0.02, 1.796 - 0.2 + ri * 0.02 ] result, order = leastsq(residual_fun, P0, args=(X, Y, Z)) newResi = 0 for j in range(count): # print j,P0,X[j],Y[j],Z[j] # print sphere_fun(P0,X[j],Y[j],Z[j]) # print (P0[0]-X[j])**2,(P0[1]-Y[j])**2,(P0[2]-Z[j])**2,P0[3]**2,P0[3] newResi += residual_fun(result, X[j], Y[j], Z[j])**2 print result, numpy.sqrt(newResi / count)
def gpsLagInterFunTest(): groundXYZList = fileToList.fileToList( unicode( 'C:\Users\Levit\Experiment Data\双站数据\\20180109\\groundStationWGS84.txt', 'utf8')) satelliteXYZList = fileToList.fileToList( unicode( 'C:\Users\Levit\Experiment Data\双站数据\\20180109\\satelliteWGS84_Sec.txt', 'utf8')) atmosphereList = fileToList.fileToList( unicode('C:\Users\Levit\Experiment Data\双站数据\\20180109\\天气参数.txt', 'utf8')) delayList = delayCalWGS84(groundXYZList, 0, 1, satelliteXYZList, 0, 5, atmosphereList) # gpsTimeList1 = fileToList.fileToList( # unicode('E:\Experiment Data\时频传输数据处理\双站数据处理\\3.2\\send_fixed_GPSTime.txt', 'utf8')) # gpsTimeList2 = fileToList.fileToList( # unicode('E:\Experiment Data\时频传输数据处理\双站数据处理\\3.2\\recv_fixed_GPSTime.txt', 'utf8')) startNo = 50 shift = 0 Sec = 1000000000000 Num = 5 tmp_x = [] tmp_y = [] tmp_y2 = [] x = [] y = [] y2 = [] for sec in range(300): Lx1, Lx2 = gpsLagInterFun(delayList, delayList, delayList, startNo + sec, Num, shift, Sec) # 获得插值函数 tmp_x += [float(startNo + sec + i / 10.0) for i in range(10)] # 测试用例 tmp_y += [Lx1(float(startNo + sec + i / 10.0)) for i in range(10)] # 根据插值函数获得测试用例的纵坐标 tmp_y2 += [Lx2(float(startNo + sec + i / 10.0)) for i in range(10)] x += [startNo + sec] y += [delayList[startNo + sec][0]] y2 += [delayList[startNo + sec][1]] ''' 画图 ''' plt.figure("play") ax1 = plt.subplot(111) plt.sca(ax1) plt.plot(x, y2, linestyle=' ', marker='o', color='b') plt.plot(tmp_x, tmp_y2, linestyle=' ', marker='*', color='r') plt.show()
def normalBySecLaserTest(): file = unicode('C:\Users\Levit\Experiment Data\双站数据\\20180109\\result\\synCoincidence-145-235--22-1-Coin-紫台WGS84-atm-factor-haiji_laser_filtered.txt', 'utf8') saveFile = file[:-4] + '_Sec.txt' timeList = fileToList.fileToList(file) offset=-156000 fitList=normalBySecLaser(timeList,1000000000000.0,5,offset) fileToList.listToFile(fitList,saveFile)
def timeWalkLinearCorrectionTest(): a = 3.55226 b = -0.00355 countFile = unicode( 'C:\Users\Levit\Experiment Data\德令哈测试\\20171218\零基线实验\\1218DLHCount.txt', encoding='utf-8') countList = fileToList.fileToList(countFile) timeWalkLinearCorrection(a, b, countList)
def gpsDisDelayEasyMode(gpsDisFile1, gpsDisFile2): gpsDisList1 = fileToList.fileToList(gpsDisFile1) gpsDisList2 = fileToList.fileToList(gpsDisFile2) gpsDelList = [] s = gpsDisFile2[:-4] + '_disDelay.txt' delayFile = open(s, 'w') if len(gpsDisList1) < len(gpsDisList2): item = len(gpsDisList1) else: item = len(gpsDisList2) for i in range(item): t1 = 1000000000000.0 * gpsDisList1[i][0] / 299792458 t2 = 1000000000000.0 * gpsDisList2[i][0] / 299792458 gpsDelList.append([t1, t2, t1 - t2]) delayFile.write(str(t1) + '\t' + str(t2) + '\t' + str(t1 - t2) + '\n') print 'GPS distance delay have finished !' return gpsDelList
def polyFitSegmentTest(date): order = 2 timeNormal = 100000000000 # timeFile = unicode('C:\Users\Levit\Experiment Data\德令哈测试\\20171226\零基线实验\\20171227015305-tdc2_4_filterN_coindence_filtered_250-350s.txt' , 'utf8') timeFile = unicode( 'C:\Users\Levit\Experiment Data\双站数据\\20180121\\result\\synCoincidence-124-216--17-1-Coin-紫台WGS84-atm-factor-haiji_laser改正_filtered.txt', 'utf8') timeList = fileToList.fileToList(timeFile) xa = [] ya = [] # for i in range(len(timeList)): # xa.append(timeList[i][0]-timeList[i][4]) # # ya.append((timeList[i][0] - timeList[i][1])) # ya.append([(timeList[i][2])/1000000000000.0]) # xa, ya, timeList, fitList, residual = filter.fitFilter( timeList, 2500 / 1000000000000.0, 1, 2) # fileToList.listToFile(timeList,timeFile[:-4] + '_filtered.txt') # xa,ya,fitList, residual = polyFitSegment(xa, ya, 1, 0.1) # xa, ya, filteredList, residual=filter.thresholdFilter(xa,ya,residual,timeList,0,0.000000002) xa, ya, fitList, residual = polyFitSegment(xa, ya, order, 1000) # xa, ya, filteredList, residual = filter.thresholdFilter(xa, ya, residual, timeList, 0, 0.0000001) # residual=[] # for item in timeList: # # residual.append([(item[0]-item[1])/1000000000000.0]) # residual.append([(item[2] ) / 1000000000000.0]) print numpy.std(residual, ddof=1) xa, residual = filter.normalByTime(timeList, residual, timeNormal) fileToList.listToFileLong( residual, timeFile[:-4] + '_residual-%s-0.1s-ps.txt' % order) # fileToList.listToFile(filteredList,timeFile[:-4]+'_filtered.txt') fig = plt.figure() ax1 = fig.add_subplot(111) # ax2= fig.add_subplot(212) for i, item in enumerate(xa): xa[i] = item / 1000000000000.0 # fitList[i][0]=fitList[i][0]*1000000000000.0 # ya[i]=[timeList[i][3]] residual[i][0] = residual[i][0] * 1000000000000 # print '%s\t%s'%(xa[i],residual[i][0]) ax1.plot(xa, residual, color='g', linestyle='-', marker='*') # xa, ya = filter.normalByTime(timeList, ya, timeNormal) # ax1.plot(xa, ya, color='g', linestyle='-', marker='') ax1.xaxis.grid(True, which='major') #x坐标轴的网格使用主刻度 ax1.yaxis.grid(True, which='major') #y坐标轴的网格使用次刻度show() ax1.set_ylabel('Difference(Residual after %s order fitting) (ps)' % order, fontsize=20) ax1.set_xlabel('Time (s)', fontsize=20) ax1.set_title('Time Compare', fontsize=24) # ax2.plot(xa,ya,color='m',linestyle='',marker='.') # ax2.plot(xa, fitList, color='g', linestyle='-', marker='') # ax.legend() plt.show()
def listMergeTest(date,dataDLH): saveFile=unicode('C:\Users\Levit\Experiment Data\双站数据\\%s\共视数据\\%s-tdc13_merge_filtered.txt'%(date,dataDLH), 'utf8') list1 = fileToList.fileToList( unicode('C:\Users\Levit\Experiment Data\双站数据\\%s\共视数据\\%s-tdc13_channel_7_filtered.txt'%(date,dataDLH), 'utf8')) list2 = fileToList.fileToList( unicode('C:\Users\Levit\Experiment Data\双站数据\\%s\共视数据\\%s-tdc13_channel_6_filtered.txt'%(date,dataDLH), 'utf8')) list3 = fileToList.fileToList( unicode('C:\Users\Levit\Experiment Data\双站数据\\%s\共视数据\\%s-tdc13_channel_8_filtered.txt'%(date,dataDLH), 'utf8')) mergeList1=listMerge(list1,list2) print len(mergeList1) mergeList2=listMerge(list3,mergeList1) print len(mergeList2) listCount=TDCTest.countBySec(mergeList2) mergeCountFile=saveFile[:-4]+'_count.txt' fileToList.listToFile(mergeList2,saveFile) fileToList.listToFile(listCount,mergeCountFile)
def dataHistogramTest(): file = unicode( 'C:\Users\Levit\Experiment Data\双站数据\\20180109\\result\\GPS 比对.txt', 'utf8') offset = 0 saveFile = file[:-4] + '_%s_hist.txt' % offset timeList = fileToList.fileToList(file) histList = dataHistogram(timeList, 0, 5000, 60000, offset) fileToList.listToFile(histList, saveFile)
def aysnLaserBKCTest(): matchFile = unicode( 'C:\Users\Levit\Experiment Data\阿里数据\\170829\\20170830031232_fineParse_1064_245-445_coincidence_0320_match.txt', encoding='utf-8') groGPSFile = unicode( 'C:\Users\Levit\Experiment Data\阿里数据\\170829\\20170830031232_fineParse_GPS.txt', encoding='utf-8') satGPSFile = unicode( 'C:\Users\Levit\Experiment Data\阿里数据\\170829\\0829AliSatellite_channel_5_GPS.txt', encoding='utf-8') groGPSList = fileToList.fileToList(groGPSFile) satGPSList = fileToList.fileToList(satGPSFile) smoothNum = 30 saveFile = matchFile[:-4] + '_parameters_%s.txt' % smoothNum matchList = fileToList.fileToList(matchFile) parameterList = aysnLaserBKC(matchList, 240, smoothNum, groGPSList, satGPSList) fileToList.listToFileLong(parameterList, saveFile)
def BKCSmoothTest(): paraFile = unicode( 'C:\Users\Levit\Experiment Data\阿里数据\\170829\\20170830031232_fineParse_1064_245-445_coincidence_0320_match_parameters_30_filtered.txt', encoding='utf-8') smoothNum = 30 saveFile = paraFile[:-4] + '_Smooth%s.txt' % smoothNum paraList = fileToList.fileToList(paraFile) smoothList = BKCSmooth(paraList, 80, 2, 50) fileToList.listToFileLong(smoothList, saveFile)
def groundSecTest(): goundFile = unicode( 'E:\Experiment Data\时频传输数据处理\双站数据处理\\3.2\Result\\groundStationJ2000.txt', 'utf8') goundList = fileToList.fileToList(goundFile) startTime = (2017, 3, 2, 17, 12, 15) groundSecList = groundStationSec(goundList, startTime, 400, 2) saveFile = goundFile[:-4] + '_Sec-0717.txt' fileToList.listToFile(groundSecList, saveFile)
def mergeFilterTest(): timeWindow = 100000 dataFile = unicode( 'E:\Experiment Data\时频传输数据处理\双站数据处理\\6.27NS\\6.27NS_coindence-2pulse-merge-1900-2080.txt', 'utf8') dataList = fileToList.fileToList(dataFile) filteredList = mergeFilter(dataList, timeWindow) saveFile = dataFile[:-4] + '_mergeFiltered.txt' fileToList.listToFile(filteredList, saveFile)
def gpsLagInterTest(): date = '12.12' gpsTimeList1 = fileToList.fileToList( unicode( 'E:\Experiment Data\时频传输数据处理\双站数据处理\\%s\\send_fixed_GPSTime.txt' % date, 'utf8')) gpsTimeList2 = fileToList.fileToList( unicode( 'E:\Experiment Data\时频传输数据处理\双站数据处理\\%s\\recv_fixed_GPSTime.txt' % date, 'utf8')) List2Delay = fileToList.fileToList( unicode( 'E:\Experiment Data\时频传输数据处理\双站数据处理\\%s\\GPS_disDelay.txt' % date, 'utf8')) file = unicode( 'E:\Experiment Data\时频传输数据处理\双站数据处理\\%s\\result\GPS_disDelay_inter1.txt' % date, 'utf8') gpsdelList = gpsLagInter(gpsTimeList1, gpsTimeList2, List2Delay, 1) fileToList.listToFile(gpsdelList, file)
def freqFilterTest(): file = unicode('C:\Users\Levit\Experiment Data\丽江测试\\20180104\\20180105014530_channel_6.txt', 'utf8') saveFile=file[:-4]+'_filtered.txt' timeList=fileToList.fileToList(file) length=len(timeList) for i in range(length): timeList[i]=[timeList[i][0]] result=freqFilter(timeList,10000200,6,300000) # result=freqFilter(timeList,10000000,6,200000) fileToList.listToFile(result,saveFile)