def check_autocorrelation(
    device="Sr20R21", alpha="0", phi="0", z="10", p=(-0.1, 0.1), component="vx", plot_name="test.png"
):
    from time_series_functions import get_autocorrelation, butter_lowpass_filter
    from matplotlib import pyplot as plt
    import seaborn as sns
    from numpy import arange

    sns.__version__

    time_series = load_time_series(device=device, alpha=alpha, phi=phi, z=z, p=p)

    time_series.vx = butter_lowpass_filter(time_series.vx, cutoff=2000, fs=10000)
    time_series.vy = butter_lowpass_filter(time_series.vy, cutoff=2000, fs=10000)
    time_series.vz = butter_lowpass_filter(time_series.vz, cutoff=2000, fs=10000)

    autocorr_u = get_autocorrelation(time_series.vx)
    autocorr_v = get_autocorrelation(time_series.vy)
    autocorr_w = get_autocorrelation(time_series.vz)

    if plot_name:
        fig = plt.figure()
        plt.plot(arange(len(autocorr_u)), autocorr_u / autocorr_u.max(), label="$u$", alpha=0.6)
        plt.plot(arange(len(autocorr_u)), autocorr_v / autocorr_v.max(), label="$v$", alpha=0.6)
        plt.plot(arange(len(autocorr_u)), autocorr_w / autocorr_w.max(), label="$w$", alpha=0.6)
        plt.xlabel("Lag [time steps (1:1/10000 s)]")
        plt.ylabel("Autocorrelation")
        plt.xlim(0, 20)
        plt.legend(loc="upper right")
        plt.savefig(plot_name)
        fig.clear()

    return autocorr_u, autocorr_v
Ejemplo n.º 2
0
def check_autocorrelation(device="Sr20R21",
                          alpha='0',
                          phi='0',
                          z='10',
                          p=(-0.1, 0.1),
                          component='vx',
                          plot_name='test.png'):
    from time_series_functions import get_autocorrelation, butter_lowpass_filter
    from matplotlib import pyplot as plt
    import seaborn as sns
    from numpy import arange
    sns.__version__

    time_series = load_time_series(device=device,
                                   alpha=alpha,
                                   phi=phi,
                                   z=z,
                                   p=p)

    time_series.vx = butter_lowpass_filter(time_series.vx,
                                           cutoff=2000,
                                           fs=10000)
    time_series.vy = butter_lowpass_filter(time_series.vy,
                                           cutoff=2000,
                                           fs=10000)
    time_series.vz = butter_lowpass_filter(time_series.vz,
                                           cutoff=2000,
                                           fs=10000)

    autocorr_u = get_autocorrelation(time_series.vx)
    autocorr_v = get_autocorrelation(time_series.vy)
    autocorr_w = get_autocorrelation(time_series.vz)

    if plot_name:
        fig = plt.figure()
        plt.plot(arange(len(autocorr_u)),
                 autocorr_u / autocorr_u.max(),
                 label='$u$',
                 alpha=0.6)
        plt.plot(arange(len(autocorr_u)),
                 autocorr_v / autocorr_v.max(),
                 label='$v$',
                 alpha=0.6)
        plt.plot(arange(len(autocorr_u)),
                 autocorr_w / autocorr_w.max(),
                 label='$w$',
                 alpha=0.6)
        plt.xlabel("Lag [time steps (1:1/10000 s)]")
        plt.ylabel("Autocorrelation")
        plt.xlim(0, 20)
        plt.legend(loc='upper right')
        plt.savefig(plot_name)
        fig.clear()

    return autocorr_u, autocorr_v
def plot_time_series(device="Sr20R21",alpha='0',phi='0',z='10',
                     p=(-0.1,0.1),component='vx',plot_name='test.png'):
    from matplotlib import pyplot as plt
    import seaborn as sns
    from time_series_functions import butter_lowpass_filter
    sns.__version__

    time_series = load_time_series(device=device,alpha=alpha,
                                   phi=phi,z=z,p=p)

    
    time_series_low_passed = butter_lowpass_filter(time_series.vx,
                                                   cutoff=2000,fs=10000)

    fig = plt.figure()
    plt.plot(time_series.t,time_series.vx,label='$u$',alpha=0.6)
    plt.plot(time_series.t,time_series_low_passed,
             label='Low passed $u$',alpha=1.0,lw=3,color='k')
    #plt.plot(time_series.t,time_series.vy,label='$v$',alpha=0.6)
    #plt.plot(time_series.t,time_series.vz,label='$w$',alpha=0.6)
    plt.xlabel("t [s]")
    plt.ylabel("Velocity [m/s]")
    plt.xlim(0,500/10000.)
    plt.ylim(-5,22)
    plt.legend(loc='lower right')
    plt.savefig(plot_name)
    fig.clear()