Beispiel #1
0
def G1Michelson_to_G1Sagnac( FT ) :

    L = 16.6782

    f = FT.s1.Offset1 + FT.s1.Cadence1 * np.arange( FT.s1.data.shape[0] )
    fdict = { 'Offset1' : FT.s1.Offset1 , 'Cadence1' : FT.s1.Cadence1 }

    Xdata , Ydata , Zdata = FT.s1.data , FT.s2.data , FT.s3.data
    e1 = np.exp( - 1j * 2 * np.pi * L * f )
    e2 = np.exp( - 1j * 4 * np.pi * L * f )
    e3 = np.exp( - 1j * 6 * np.pi * L * f )

    A = 1 - e1 + e2
    B = 1 - e1 - e2 + e3

    alphadata = ( A*Xdata + e1 * ( Ydata + Zdata ) ) / B
    betadata  = ( A*Ydata + e1 * ( Zdata + Xdata ) ) / B
    gammadata = ( A*Zdata + e1 * ( Xdata + Ydata ) ) / B


    alpha = AS.Coarsable( alphadata , **fdict )
    beta  = AS.Coarsable( betadata  , **fdict )
    gamma = AS.Coarsable( gammadata , **fdict )

    SagnacFT = AS.ShortTermFT( alpha , beta , gamma )
    
    return SagnacFT
Beispiel #2
0
def FracPhase_to_FracFreq( FT ) :
    
    f = FT.s1.Offset1 + FT.s1.Cadence1 * np.arange( FT.s1.data.shape[0] )
    fdict = { 'Offset1' : FT.s1.Offset1 , 'Cadence1' : FT.s1.Cadence1 }

    phase1data , phase2data , phase3data = FT.s1.data , FT.s2.data , FT.s3.data

    a = 1 / ( 1j * 2 * np.pi * f )

    freq1data = phase1data * a
    freq2data = phase2data * a
    freq3data = phase3data * a

    freq1 = AS.Coarsable( freq1data , **fdict )
    freq2 = AS.Coarsable( freq2data , **fdict )
    freq3 = AS.Coarsable( freq3data , **fdict )

    freqFT = AS.ShortTermFT( freq1 , freq2 , freq3 )

    return freqFT
Beispiel #3
0
def G1Sagnac_to_GmSagnac( FT ) :

    L = 16.6782

    f = FT.s1.Offset1 + FT.s1.Cadence1 * np.arange( FT.s1.data.shape[0] )
    fdict = { 'Offset1' : FT.s1.Offset1 , 'Cadence1' : FT.s1.Cadence1 }

    G1adata , G1bdata , G1cdata = FT.s1.data , FT.s2.data , FT.s3.data

    e3 = np.exp( - 1j * 6 * np.pi * L * f )

    Gmadata = ( e3 - 1 ) * G1adata
    Gmbdata = ( e3 - 1 ) * G1bdata
    Gmcdata = ( e3 - 1 ) * G1cdata
    
    Gma = AS.Coarsable( Gmadata , **fdict )
    Gmb = AS.Coarsable( Gmbdata , **fdict )
    Gmc = AS.Coarsable( Gmcdata , **fdict )
    
    GmSagnac = AS.ShortTermFT( Gma , Gmb , Gmc )
    
    return GmSagnac
Beispiel #4
0
def GpretdiMichelson_to_G1Michelson( FT ) :

    L = 16.6782

    f = FT.s1.Offset1 + FT.s1.Cadence1 * np.arange( FT.s1.data.shape[0] )
    fdict = { 'Offset1' : FT.s1.Offset1 , 'Cadence1' : FT.s1.Cadence1 }

    Xdata , Ydata , Zdata = FT.s1.data , FT.s2.data , FT.s3.data

    e2 = np.exp( - 1j * 4 * np.pi * L * f )

    G1Xdata = ( e2 - 1 ) * Xdata
    G1Ydata = ( e2 - 1 ) * Ydata
    G1Zdata = ( e2 - 1 ) * Zdata

    G1X = AS.Coarsable( G1Xdata , **fdict )
    G1Y = AS.Coarsable( G1Ydata , **fdict )
    G1Z = AS.Coarsable( G1Zdata , **fdict )

    G1Michelson = AS.ShortTermFT( G1X , G1Y , G1Z )

    return G1Michelson