from sympy.abc import a, b, c, d, e, f, g, h, s
from sympy.physics.control.lti import TransferFunction
from spb import *
tf1 = TransferFunction(8*s**2 + 18*s + 32, s**3 + 6*s**2 + 14*s + 24, s)
tf2 = TransferFunction(a*s**2 + b*s + c, s**3 + d*s**2 + e*s + f, s)
params = {
    a: (4, 0, 10),
    b: (24, 0, 40),
    c: (50, 0, 50),
    d: (3, 0, 25),
    e: (12.5, 0, 25),
    f: (17.5, 0, 50),
    # NOTE: remove `None` if using ipywidgets
    g: (0, 0, 10, 50, None, "lower limit"),
    h: (8, 0, 25, 50, None, "upper limit"),
}
graphics(
    impulse_response(
        tf1, label="A", lower_limit=g, upper_limit=h, params=params,
        control=True),
    impulse_response(
        tf2, label="B", lower_limit=g, upper_limit=h, params=params,
        control=False),
    xlabel="Time [s]", ylabel="Amplitude"
)