Exemplo n.º 1
0
def test_case4():
    list1 = [1.0, -2.0, 1.0]
    double_accum = Filter("1", list1)
    first_diff = Filter("1-z^-1", "1")

    v1 = []
    v2 = []
    v3 = []

    in_ = 1.0
    for i in range(1000):
        if i == 200:
            in_ = -1.0
        elif i == 400:
            in_ = 2.0
        elif i == 700:
            double_accum.reset(0.0)
            first_diff.reset(0.0)
        # cascade
        double_accum.inp(in_)
        first_diff.inp(double_accum.out)
        v1.append(in_)
        v2.append(double_accum.out)
        v3.append(first_diff.out)

    ax1 = plt.subplot(311)
    plt.plot(v1)
    plt.subplot(312, sharex=ax1)
    plt.plot(v2)
    plt.subplot(313, sharex=ax1)
    plt.plot(v3)

    plt.show()
Exemplo n.º 2
0
def test_case5():
    sample_per = 1e-6
    double_integ = Filter("K", "s^2", "K,Ts", 1e5, sample_per)
    diff = Filter("s", "1", "Ts", sample_per)

    v1 = []
    v2 = []
    v3 = []

    in_ = 1.0
    for i in range(1000):
        if i == 200:
            in_ = -1.0
        elif i == 400:
            in_ = 2.0
        elif i == 700:
            double_integ.reset(0.0)
            diff.reset(0.0)
        # cascade
        double_integ.inp(in_)
        diff.inp(double_integ.out)
        v1.append(in_)
        v2.append(double_integ.out)
        v3.append(diff.out)

    ax1 = plt.subplot(311)
    plt.plot(v1)
    plt.subplot(312, sharex=ax1)
    plt.plot(v2)
    plt.subplot(313, sharex=ax1)
    plt.plot(v3)

    plt.show()
Exemplo n.º 3
0
def test_case2():
    int_filt = Filter("3+4*s+5*s^2", "6+7*s+8*s^2", "Ts", 1e-9)

    print int_filt.inp(0.2)

    print int_filt.inp(0.3)
    int_filt.reset(0)
    print int_filt.inp(0.4)