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 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 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 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 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 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 minusAnalysis(timeList, filename): N = len(timeList) detTime = [] for i in range(1, N): dt = timeList[i][0] - timeList[i][1] detTime.append([timeList[i][0], timeList[i][1], dt]) fileToList.listToFile(detTime, filename[:-4] + '_minus.txt') print 'minus analysis finished !' return detTime
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 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)
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 twoLocalTDCDataProcess(dataFile1,dataFile2,fineTimeFile1,fineTimeFile2,order,tau): channel1=int(fineTimeFile1[-8]) channel2=int(fineTimeFile2[-8]) saveFile1 = dataFile1[:-4] + '_channel%s.txt'%channel1 dataList1 = TDCDataConvert.TDCDataParse(dataFile1, fineTimeFile1, 8, str(40+channel1-1)) saveFile2 = dataFile2[:-4] + '_channel%s.txt' % channel2 dataList2 = TDCDataConvert.TDCDataParse(dataFile2, fineTimeFile2, 8, str(40+channel2-1)) fileToList.listToFile(dataList1, saveFile1) fileToList.listToFile(dataList2, saveFile2) num1=len(dataList1) num2=len(dataList2) if num1!=num2: print 'data lenght is not equal!' return 0 xa=[] xb=[] ya=[] for i in range(num1): xa.append(dataList1[i][0]) xb.append([dataList1[i][0]]) ya.append(dataList1[i][0]-dataList2[i][0]) xa, ya, fitList, residual =fitting.polyFitSegment(xa, ya, order, 10000) del xa[:] del fitList[:] xOneSec, residualOneSec = filter.normalByTime(xb, residual, 1000000000000) fileToList.listToFileLong(residualOneSec, saveFile1[:-4] + '-%s_residual-%s-1s-ps.txt'%(channel2,order)) xTau,residualTau=filter.normalByTime(xb, residual, tau) residualFile=saveFile1[:-4] + '-%s_residual-%s-%.3fs-ps.txt' % (channel2, order,tau/1000000000000.0) fileToList.listToFileLong(residualTau, residualFile) fig = plt.figure() ax1 = fig.add_subplot(111) for i,item in enumerate(xOneSec): xOneSec[i]=item/1000000000000.0 residualOneSec[i][0]=residualOneSec[i][0]*1000000000000 ax1.plot(xOneSec,residualOneSec, color='g', linestyle='-', marker='*') ax1.xaxis.grid(True, which='major') # x坐标轴的网格使用主刻度 ax1.yaxis.grid(True, which='major') # y坐标轴的网格使用次刻度show() plt.show() tdevFile = residualFile[:-4] + '_TDEV.txt' tdev = varianceStatistics.TDEV(residualTau, tau/1000000000000.0) fileToList.listToFileFloat(tdev, tdevFile) print 'TDEV calculation finished!' fig = plt.figure() dataPlot.logPlotAx(tdev, fig, 'r','--','s', '11.25 tdev') dataFile1 = unicode( 'C:\Users\Levit\Experiment Data\Rakon晶振测试数据\两TDC测试\\20171114200130-tdc2-13-2k-500s-3_residual-1-0.01s-ps_TDEV.txt', 'utf8') List1 = fileToList.fileToList(dataFile1) dataPlot.logPlotAx(List1, fig, 'g', '--', 'o', '11.14') plt.show()
def dataSelectBySec(startSec, endSec): dataFile = unicode( 'E:\Experiment Data\时频传输数据处理\双站数据处理\\3.2\\send_fixed_850Time.txt', 'utf8') dataList = fileToList.fileToList(dataFile) saveFile = dataFile[:-4] + '_%s-%s.txt' % (startSec + 1, endSec) selectList = [] for item in dataList: sec = int(item[0] / 1000000000000) if sec > startSec and sec < endSec + 1: selectList.append(item) print 'data selected by secend' fileToList.listToFile(selectList, saveFile)
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 adjacentAnalysis(timeList, filename): N = len(timeList) - 1 detTime = [] count = 0 for i in range(1, N): dt = (timeList[i][0] - timeList[i - 1][0]) - (timeList[i][1] - timeList[i - 1][1]) if abs(dt) < 50000: detTime.append([timeList[i][0], timeList[i][1], dt]) count += 1 fileToList.listToFile(detTime, filename[:-4] + '_adjacent.txt') print 'adjacent analysis finished ! ' + str(N) + ' ' + str(count) return detTime
def dataCoincidence(dataFile): dataList = fileToList.fileToList(dataFile) resultList = [] count = 0 if abs(dataList[1][1] - dataList[0][1]) < 10000: start = 0 else: start = 1 for i in range(start, len(dataList) / 2): resultList.append( [i, (dataList[i + count][1] - dataList[i + 1 + count][1])]) count += 1 print 'difference time are calculated !' fileToList.listToFile(resultList, dataFile[:-4] + '_diff.txt') return resultList
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 timeWalkLinearCompensation(countFile, coinFile): a = 3.55226 b = -0.00355 factor = 1 countList = fileToList.fileToList(countFile) timeWalkList = timeWalkLinearCorrection(a, b, countList) saveFile = coinFile[:-4] + '_timeWalkLinearComp.txt' coinList = fileToList.fileToList(coinFile) index = 0 for i, item in enumerate(coinList): sec = int(item[0] / 1000000000000) while timeWalkList[index][0] < sec: index += 1 if timeWalkList[index][0] == sec: item[2] = item[2] - factor * timeWalkList[index][1] else: print 'not find time walk compensation' fileToList.listToFile(coinList, saveFile) print 'time walk linear compensation finished!'
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 satOrbSec(satFile, startTime, Num, shfit): if Num < shfit: print ' shfit must > Num' savefile = satFile[:-4] + '_Sec.txt' sec = 400 satList = fileToList.fileToList(satFile) J = len(satList[0]) silde = [] satSecList = [] for i in range(sec): moveOne = i / 16 silde.append(i) print i, moveOne for j in range(1, J): satFun = satLagInterFun(satList, Num, j, shfit + moveOne) silde.append(satFun(startTime + i)) satSecList.append(silde[i * (J):]) fileToList.listToFile(satSecList, savefile) print 'satellte position interpolation calculate by second !' return satSecList
def timeWalkPECompensation(countFile, coinFile): A = -85.30828 t0 = -51219.66687 y0 = 79.54769 factor = 1 countList = fileToList.fileToList(countFile) timeWalkList = timeWalkPECorrection(A, t0, y0, countList) saveFile = coinFile[:-4] + '_timeWalkComp.txt' coinList = fileToList.fileToList(coinFile) index = 0 for i, item in enumerate(coinList): sec = int(item[0] / 1000000000000) while timeWalkList[index][0] < sec: index += 1 if timeWalkList[index][0] == sec: item[2] = item[2] - factor * timeWalkList[index][ 1] + factor * timeWalkList[index][2] else: print 'not find time walk compensation' fileToList.listToFile(coinList, saveFile) print 'time walk compensation finished!'
def polyLeastFitSegmentTest(date): order = 50 timeNormal = 50000000000 timeFile = unicode( 'E:\Experiment Data\时频传输数据处理\双站数据处理\\%s\\Result\\synCoincidenceEM_0530-85-250-EM--18.txt' % date, 'utf8') # timeFile=unicode('E:\Experiment Data\时频传输数据处理\丽江测试\\4.14\\4.14-lzx-lj-400s_coinDiff_segment_search.txt','utf8') timeList = fileToList.fileToList(timeFile) xa = [] ya = [] x = [] for i in range(len(timeList)): xa.append(timeList[i][1]) ya.append(timeList[i][0] - timeList[i][1]) xa.append(timeList[i][0]) ya.append(timeList[i][1]) # xa = xa[50000:70000] ya = ya[50000:70000] # print len(xa), len(ya) xa, ya = filter.preFilter(timeList, 2, 100000) print len(xa), len(ya) fitList, residual = polyLeastFitSegment(xa, ya, 10, 1000) filter.dotFilter(residual, 0, 10000.0, 3) xa, ya, residual = filter.thresholdFilter(xa, ya, residual, 0, 4000) fitList, residual = polyLeastFitSegment(xa, ya, order, 100) xa, ya, residual = filter.thresholdFilter(xa, ya, residual, 0, 2500) # xa,ya,timeList,fitList,residual=filter.fitFilter(timeList,3000,2,order) # # print len(xa),len(timeList),len(residual) residualNormal = filter.normalByTime(timeList, residual, timeNormal) # residualSecUnit=filter.timeUnitConvert(residual,1000000000000) # fileToList.listToFileLong(residualSecUnit, timeFile[:-4] + '_%s_residual-0531-10-20000-ps.txt' % date) fileToList.listToFile(timeList, timeFile[:-4] + '_filtered.txt') # fig = plt.figure() # ax = fig.add_subplot(111) # ax.plot(xa, residual, color='g', linestyle='-', marker='') ax.plot(xa, ya, color='m', linestyle='', marker='.ux')
def J2000_Select(): dataFile = unicode( 'C:\Users\Levit\Experiment Data\双站数据\\20180109\\FTP星历J2000.txt', 'utf8') GPSFile = unicode( 'C:\Users\Levit\Experiment Data\双站数据\\20180109\\KX02_1C_ED_044D_20180109T000000_0055_003_000.txt', 'utf8') dataList = fileToList.fileToList(dataFile) GPSList = fileToList.fileToList(GPSFile) saveFile = dataFile[:-4] + '_coin.txt' indexd = 0 lend = len(dataList) coinList = [] for item in GPSList: Find = False timeG = item[0] * 3600 + item[1] * 60 + item[2] - 2 while not Find: if indexd < lend - 1: timeD = dataList[indexd][3] * 3600 + dataList[indexd][ 4] * 60 + dataList[indexd][5] if timeG > timeD: indexd += 1 elif timeG == timeD: new = [timeG] + item + dataList[indexd] + [ dataList[indexd][6] - item[4] * 1000, dataList[indexd][7] - item[5] * 1000, dataList[indexd][8] - item[6] * 1000 ] print[ dataList[indexd][6], item[4] * 1000, dataList[indexd][7], item[5] * 1000, dataList[indexd][8], item[6] * 1000 ] coinList.append(new) Find = True else: break else: break fileToList.listToFile(coinList, saveFile)
def two400CoinTest(dataFile1, dataFile2, channel1, channel2, window): saveFile = dataFile1[:-4] + '_coin.txt' timeList1 = fileToList.fileToList(dataFile1) timeList2 = fileToList.fileToList(dataFile2) coinList = [] len1 = len(timeList1) len2 = len(timeList2) index1 = 0 index2 = 0 finished = False coinList.append([ timeList1[index1][1], timeList2[index2][1], timeList1[index1][1] - timeList2[index2][1] ]) index1 += 1 index2 += 1 coinCount = 1 while not finished: #print index1,index2,len1,len2 det = (timeList1[index1][1] - coinList[-1][0]) - (timeList2[index2][1] - coinList[-1][1]) if abs(det) < window: coinList.append([ timeList1[index1][1], timeList2[index2][1], timeList1[index1][1] - timeList2[index2][1] ]) index1 += 1 index2 += 1 coinCount += 1 elif det < 0: index1 += 1 else: index2 += 1 if index1 > len1 - 10 or index2 > len2 - 10: finished = True fileToList.listToFile(coinList, saveFile) print 'find coin finished, %s pairs.' % coinCount
def asynLaserRangingTest(): matchFile = unicode( 'C:\Users\Levit\Experiment Data\阿里数据\\170829\\20170830031232_fineParse_1064_245-445_coincidence_0320_match.txt', encoding='utf-8') atmFile = unicode('C:\Users\Levit\Experiment Data\阿里数据\\170829\\俯仰角.txt', encoding='utf-8') saveFile = matchFile[:-4] + '_ranging_Degnan_K_detSat_S100-1.txt' saveResiFile = saveFile[:-4] + '_residual.txt' saveRedFile = saveFile[:-4] + '_Sec.txt' matchList = fileToList.fileToList(matchFile) atmList = fileToList.fileToList(atmFile) rangingList, residualList = asynLaserRanging(matchList, 240) # for timeshift in range(0,1,5): # timeshift=0.001*timeshift # saveRedFile = matchFile[:-4] + '_rangingSec_NoIte-%s.txt'%timeshift # reduceList=reduceSec(rangingList,5,timeshift,4,5) # atmCorrect(reduceList,atmList) # fileToList.listToFile(reduceList, saveRedFile) reduceList = reduceSec(rangingList, 20, 0, 1, 3, 5) atmCorrect(reduceList, atmList) fileToList.listToFile(reduceList, saveRedFile) # atmCorrect(rangingList, atmList) fileToList.listToFileLong(residualList, saveResiFile) fileToList.listToFileLong(rangingList, saveFile)
def fitFineFilterTest(): file = unicode('C:\Users\Levit\Experiment Data\双站数据\\20170302\\result\\synCoincidence-85-250--19-0-Coin-紫台WGS84-atm-factor-haiji.txt', 'utf8') saveFile = file[:-4] + '_fitFilter.txt' timeList = fileToList.fileToList(file) xa, ya, timeList, fitList, residual=fitFineFilter(timeList,3500/1000000000000.0,5,2) fileToList.listToFile(timeList,saveFile)
def dataFilter(timeFile, freq, window, threshold): timeList = fileToList.fileToList(timeFile) filtered = freqFilter(timeList, freq, window, threshold) fileToList.listToFile(filtered, timeFile[:-4] + '_filtered.txt') return filtered
def reflectNoiseFilterTest(): dataFile=unicode('C:\Users\Levit\Experiment Data\双站数据\\20180121\共视数据\\20180122014608-tdc13_channel_6.txt',encoding='utf-8') saveFile=dataFile[:-4]+'_reflectFiltered.txt' dataList=fileToList.fileToList(dataFile) dataList=reflectNoiseFilter(dataList,1000000,0) fileToList.listToFile(dataList,saveFile)
def TDCDataParseDLHDelay(): dataFile = unicode('C:\Users\Levit\Experiment Data\德令哈测试\系统延时测试\\20180302\\20180302211447-15mPMD-信号线-1.dat', encoding='utf-8') channelList = [1,2,3] # channelList =[7] tdc = 13 for channel in channelList: saveFile = dataFile[:-4] + '_channel_%s.txt' % channel # channelNo = str(50 + channel ) channelNo = str(40 + channel-1) if channel==4: print 'channel: %s' % channel fineTimeFile = unicode( 'C:\Users\Levit\Experiment Data\FineTimeCali\\tdc%s\\1216_tdc%s_5C_channel_%s_4%s.txt', encoding='utf-8') % (tdc, tdc, channel, channel - 1) dataList = TDCDataParse(dataFile, fineTimeFile, 8, channelNo) countList = TDCTest.countBySec(dataList) countFile = saveFile[:-4] + '_count.txt' fileToList.listToFile(dataList, saveFile) fileToList.listToFile(countList, countFile) filterFile = saveFile[:-4] + '_filtered.txt' length = len(dataList) for i in range(length): dataList[i] = [dataList[i][0]] filterList = filter.freqFilter(dataList,89985475, 6, 3000000) filterList = filter.reflectNoiseFilter(filterList, 1000000, 0) fileToList.listToFile(filterList, filterFile) elif channel==1: print 'channel: %s' % channel fineTimeFile = unicode( 'C:\Users\Levit\Experiment Data\FineTimeCali\\tdc%s\\1216_tdc%s_5C_channel_%s_4%s.txt', encoding='utf-8') % (tdc, tdc, 5, 4) dataList = TDCDataParse(dataFile, fineTimeFile, 8, channelNo) countList = TDCTest.countBySec(dataList) fileToList.listToFile(dataList, saveFile) else: print 'channel: %s' % channel fineTimeFile = unicode( 'C:\Users\Levit\Experiment Data\FineTimeCali\\tdc%s\\1216_tdc%s_5C_channel_%s_4%s.txt', encoding='utf-8') % (tdc, tdc,5, 4) dataList = TDCDataParse(dataFile, fineTimeFile, 8, channelNo) countList = TDCTest.countBySec(dataList) countFile = saveFile[:-4] + '_count.txt' fileToList.listToFile(dataList, saveFile) fileToList.listToFile(countList, countFile) filterFile = saveFile[:-4] + '_filtered.txt' length = len(dataList) for i in range(length): dataList[i] = [dataList[i][0]] # filterList = filter.freqFilter(dataList, 500000350, 6, 1000000) # filterList = filter.reflectNoiseFilter(filterList, 10000000, 0) filterList=dataList fileToList.listToFile(filterList, filterFile)
def TDCDataParseDLHTest(date,dataDLH): dataFile = unicode('C:\Users\Levit\Experiment Data\双站数据\\%s\共视数据\\%s-tdc13.dat'%(date,dataDLH), encoding='utf-8') channelList = [1,4,5,6,7,8] # channelList =[4] tdc = 13 for channel in channelList: saveFile = dataFile[:-4] + '_channel_%s.txt' % channel channelNo = str(40 + channel - 1) if channel==4: print 'channel: %s' % channel fineTimeFile = unicode( 'C:\Users\Levit\Experiment Data\FineTimeCali\\tdc%s\\1216_tdc%s_5C_channel_%s_4%s.txt', encoding='utf-8') % (tdc, tdc, channel, channel - 1) dataList = TDCDataParse(dataFile, fineTimeFile, 8, channelNo) countList = TDCTest.countBySec(dataList) countFile = saveFile[:-4] + '_count.txt' fileToList.listToFile(dataList, saveFile) fileToList.listToFile(countList, countFile) filterFile = saveFile[:-4] + '_filtered.txt' length = len(dataList) for i in range(length): dataList[i] = [dataList[i][0]] filterList = filter.freqFilter(dataList,89985475, 6, 3000000) filterList = filter.reflectNoiseFilter(filterList, 1000000, 0) fileToList.listToFile(filterList, filterFile) elif channel==1: print 'channel: %s' % channel fineTimeFile = unicode( 'C:\Users\Levit\Experiment Data\FineTimeCali\\tdc%s\\1216_tdc%s_5C_channel_%s_4%s.txt', encoding='utf-8') % (tdc, tdc, 5, 4) dataList = TDCDataParse(dataFile, fineTimeFile, 8, channelNo) countList = TDCTest.countBySec(dataList) fileToList.listToFile(dataList, saveFile) else: print 'channel: %s' % channel fineTimeFile = unicode( 'C:\Users\Levit\Experiment Data\FineTimeCali\\tdc%s\\1216_tdc%s_5C_channel_%s_4%s.txt', encoding='utf-8') % (tdc, tdc, channel, channel - 1) dataList = TDCDataParse(dataFile, fineTimeFile, 8, channelNo) countList = TDCTest.countBySec(dataList) countFile = saveFile[:-4] + '_count.txt' fileToList.listToFile(dataList, saveFile) fileToList.listToFile(countList, countFile) filterFile = saveFile[:-4] + '_filtered.txt' length = len(dataList) for i in range(length): dataList[i] = [dataList[i][0]] filterList = filter.freqFilter(dataList, 10000200, 6, 300000) filterList = filter.reflectNoiseFilter(filterList, 1000000, 0) fileToList.listToFile(filterList, filterFile)