Ejemplo n.º 1
0
def TDEVTest():
    # dataFile=unicode('C:\Users\Levit\Experiment Data\德令哈测试\\20171226\零基线实验\\20171227015305-tdc2_5_filterN_coindence_filtered_250-350s_residual-1-0.1s-ps.txt','utf8')
    dataFile = 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.txt',
        'utf8')

    dataList=fileToList.fileToList(dataFile)
    saveFile = dataFile[:-4] + '_TDEV.txt'
    tdev=TDEV(dataList,0.1)
    fileToList.listToFileFloat(tdev, saveFile)
Ejemplo n.º 2
0
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()
Ejemplo n.º 3
0
def fitting_segment(startTime,endTime,coindenceFile):
    coindenceList=fileToList.fileToList(coindenceFile)
    second=1000000000000.0
    tau=100000000000
    order=2
    num = len(coindenceList)
    xa = []
    xb = []
    ya = []
    for i in range(num):
        if coindenceList[i][0]/second>=startTime and coindenceList[i][0]/second<endTime:
            xa.append(coindenceList[i][0])
            ya.append(coindenceList[i][2])
    # xa, ya, coindenceList, fitList, residual = filter.fitFilter(coindenceList, 2000 / 1000000000000.0, 2, 1)
    xa, ya, fitList, residual = fitting.polyFitSegment(xa, ya, order, 10000)
    for i in range(len(xa)):
        xb.append([xa[i]])
    xOneSec, residualOneSec = filter.normalByTime(xb, residual, second)
    del xa[:]
    del fitList[:]
    del coindenceList[:]
    fileToList.listToFileLong(residualOneSec, coindenceFile[:-4] + '_%s-%s-1s-ps.txt' % (startTime, endTime))
    xTau, residualTau = filter.normalByTime(xb, residual, tau)
    residualFile = coindenceFile[:-4] + '_%s-%s-%.3fs-ps.txt' % (startTime, endTime, 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!'
    tdevName='TDEV %s-%s second'%(startTime,endTime)
    fig = plt.figure()
    dataPlot.logPlotAx(tdev, fig, 'r', '--', 's', tdevName)
    plt.show()
Ejemplo n.º 4
0
def MDEVTest():
    dataFile=unicode('C:\Users\Levit\Experiment Data\Rakon晶振测试数据\两TDC测试\\20171121\\20171121230538-tdc2-13-2k-500s-dating-1_residual-2-0.01s-ps.txt','utf8')
    dataList=fileToList.fileToList(dataFile)
    saveFile = dataFile[:-4] + '_MDEV.txt'
    mdev=MDEV(dataList,0.01)
    fileToList.listToFileFloat(mdev, saveFile)
Ejemplo n.º 5
0
def ADEVTest():
    dataFile=unicode('C:\Users\Levit\Experiment Data\Rakon晶振测试数据\两TDC测试\\20171114200130-tdc2-13-2k-500s-3_residual-1-0.01s-ps.txt','utf8')
    saveFile=dataFile[:-4]+'_ADEV.txt'
    dataList=fileToList.fileToList(dataFile)
    adev=ADEV(dataList,0.01)
    fileToList.listToFileFloat(adev,saveFile)
Ejemplo n.º 6
0
def twoLightTDCDataProcess(channel1,channel2,delay,window,dataFile1,dataFile2,fineTimeFile1,fineTimeFile2,order,tau,tdevName,tdevComp,tdevCompFile):

    saveFile1 = dataFile1[:-4] + '_channel_%s.txt'%channel1
    dataList1 = TDCDataConvert.TDCDataParse(dataFile1, fineTimeFile1, 8, str(40+channel1-1))
    fileToList.listToFile(dataList1, saveFile1)
    dataList1_filter=filter.freqFilter(dataList1,10000200,6,300000)
    dataList1_filterN=filter.reflectNoiseFilter(dataList1_filter,1000000,0)
    fileToList.listToFile(dataList1_filterN, saveFile1[:-4]+'_filterN.txt')
    saveFile2 = dataFile2[:-4] + '_channel_%s.txt' % channel2
    dataList2 = TDCDataConvert.TDCDataParse(dataFile2, fineTimeFile2, 8, str(40+channel2 - 1))
    fileToList.listToFile(dataList2, saveFile2)
    dataList2_filter = filter.freqFilter(dataList2, 10000200, 6, 300000)
    dataList2_filterN = filter.reflectNoiseFilter(dataList2_filter, 1000000, 0)
    TDCTest.countBySec(dataList2)
    TDCTest.countBySec(dataList1)
    TDCTest.countBySec(dataList2_filterN)
    TDCTest.countBySec(dataList1_filterN)
    fileToList.listToFile(dataList2_filterN, saveFile2[:-4] + '_filterN.txt')
    saveCoinFile = dataFile1[:-4] + '_%s_filterN_coindence.txt'%channel1
    coindenceList,averSecCount=TDCTest.coindenceTest(dataList1_filterN, dataList2_filterN, delay, window, saveCoinFile)
    tdevName=tdevName+' %s'%averSecCount
    del dataList1,dataList1_filter,dataList1_filterN
    del dataList2,dataList2_filter,dataList2_filterN
    num=len(coindenceList)
    xa = []
    xb = []
    ya = []
    for i in range(num):
        xa.append(coindenceList[i][0])
        ya.append(coindenceList[i][2])
    xa, ya, coindenceList, fitList, residual = filter.fitFilter(coindenceList, 2000 / 1000000000000.0, 2, 1)
    xa, ya, fitList, residual = fitting.polyFitSegment(xa, ya, order, 10000)
    fileToList.listToFile(coindenceList,saveCoinFile[:-4]+'_filtered.txt')
    for i in range(len(xa)):
        xb.append([xa[i]])
    xOneSec, residualOneSec = filter.normalByTime(xb, residual, 1000000000000)
    del xa[:]
    del fitList[:]
    del coindenceList[:]
    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', tdevName)
    List1 = fileToList.fileToList(tdevCompFile)
    dataPlot.logPlotAx(List1, fig, 'g', '--', 'o', tdevComp)
    plt.show()