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)
示例#2
0
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)
示例#3
0
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()
示例#4
0
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)
示例#5
0
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)
示例#7
0
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)
示例#8
0
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)
示例#9
0
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)
示例#10
0
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)
示例#11
0
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)
示例#12
0
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)
示例#13
0
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
示例#15
0
def delayOrbitFitTest():
    timeFile = unicode(
        'G:\时频传输数据处理\双站数据处理\\3.2\\result\\synCoincidenceEM_adjacentNear5.txt',
        'utf8')
    timeList = fileToList.fileToList(timeFile)
    tau = 1000000000000
    delayOrbitFit(timeList, tau)
示例#16
0
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()
示例#17
0
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)
示例#18
0
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()
示例#19
0
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)
示例#20
0
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)
示例#21
0
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
示例#22
0
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()
示例#23
0
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)
示例#24
0
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)
示例#25
0
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)
示例#26
0
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)
示例#27
0
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)
示例#28
0
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)
示例#29
0
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)
示例#30
0
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)