Beispiel #1
0
def square_response_comparison():
    fun = signal.square(2 * np.pi * f0_a * t)
    resp_a = signal.lsim(sys_a, fun, t)[1]
    (t_r, resp_r) = signal_csv2tex(
        "../ltspice/simulations/filter_4th_order_mf_square_f0.csv")
    plot_multiple_signals(
        ((t_r, resp_r), (t, resp_a)),
        SQUARE_RESPONSE_F0_COMPARISON_DIAGRAM_TITLE, (-0.0017, 0.035), None,
        (TIME_LABEL, AMPLITUDE_LABEL), SQUARE_F0_COMPARISON_FILE_NAME,
        (ANALYTIC_LABEL, REAL_LABEL))

    fun = signal.square(2 * np.pi * f0_a * 10 * t)
    resp_a = signal.lsim(sys_a, fun, t)[1]
    (t_r, resp_r) = signal_csv2tex(
        "../ltspice/simulations/filter_4th_order_mf_square_10_times_f0.csv")
    plot_multiple_signals(
        ((t_r, resp_r), (t, resp_a)),
        SQUARE_RESPONSE_10_F0_COMPARISON_DIAGRAM_TITLE, (-0.00017, 0.0035),
        None, (TIME_LABEL, AMPLITUDE_LABEL), SQUARE_10_F0_COMPARISON_FILE_NAME,
        (ANALYTIC_LABEL, REAL_LABEL))

    fun = signal.square(2 * np.pi * f0_a / 10 * t)
    resp_a = signal.lsim(sys_a, fun, t)[1]
    (t_r, resp_r) = signal_csv2tex(
        "../ltspice/simulations/filter_4th_order_mf_square_f0_over_10.csv")
    plot_multiple_signals(((t_r, resp_r), (t, resp_a)),
                          SQUARE_RESPONSE_F0_OVER_10_COMPARISON_DIAGRAM_TITLE,
                          (-0.017, 0.35), None, (TIME_LABEL, AMPLITUDE_LABEL),
                          SQUARE_F0_OVER_10_COMPARISON_FILE_NAME,
                          (ANALYTIC_LABEL, REAL_LABEL))
Beispiel #2
0
def step_response_real():
    _t, resp = signal_csv2tex(
        "../ltspice/simulations/filter_4th_order_mf_step.csv")
    fun = np.ones((len(_t), ))
    plot_2_signals(_t,
                   fun,
                   resp,
                   STEP_RESPONSE_REAL_DIAGRAM_TITLE, (-0.003, 0.06),
                   signal_labels=(STEP_LABEL, RESPONSE_LABEL),
                   axis_labels=(TIME_LABEL, AMPLITUDE_LABEL),
                   file_name=STEP_REAL_FILE_NAME)
Beispiel #3
0
def step_comparison():
    (t_a, resp_a) = sys_a.step(T=t)
    (t_n, resp_n) = sys_n.step(T=t)
    (t_r, resp_r
     ) = signal_csv2tex("../ltspice/simulations/filter_4th_order_mf_step.csv")
    (t_c, resp_c) = t, -0.3322 * np.exp(-131.8 * t) * (
        np.cos(983.7 * t) + 0.4 * np.sin(983.7 * t)) + 1.22 * np.exp(
            -1018 * t) * (np.cos(1390 * t) - 0.41 * np.sin(1390 * t))
    coordinates = ((t_a, resp_a), (t_n, resp_n), (t_r, resp_r), (t_c, resp_c))
    plot_multiple_signals(
        coordinates, STEP_RESPONSE_COMPARISON_DIAGRAM_TITLE, (-0.003, 0.06),
        (-0.45, 1), (TIME_LABEL, AMPLITUDE_LABEL), STEP_COMPARISON_NAME,
        (ANALYTIC_LABEL, NORMALIZED_LABEL, REAL_LABEL, CALCULATED_LABEL))
Beispiel #4
0
def square_response_real():
    _t, resp = signal_csv2tex(
        "../ltspice/simulations/filter_4th_order_mf_square_f0.csv")
    fun = signal.square(2 * np.pi * f0_a * _t)

    plot_2_signals(_t,
                   fun,
                   resp,
                   SQUARE_RESPONSE_F0_REAL_DIAGRAM_TITLE, (-0.0017, 0.035),
                   signal_labels=(SQUARE_LABEL, RESPONSE_LABEL),
                   axis_labels=(TIME_LABEL, AMPLITUDE_LABEL),
                   file_name=SQUARE_F0_REAL_FILE_NAME)

    _t, resp = signal_csv2tex(
        "../ltspice/simulations/filter_4th_order_mf_square_10_times_f0.csv")
    fun = signal.square(2 * np.pi * f0_a * 10 * _t)

    plot_2_signals(_t,
                   fun,
                   resp,
                   SQUARE_RESPONSE_10_TIMES_F0_REAL_DIAGRAM_TITLE,
                   (-0.00017, 0.0035),
                   signal_labels=(SQUARE_LABEL, RESPONSE_LABEL),
                   axis_labels=(TIME_LABEL, AMPLITUDE_LABEL),
                   file_name=SQUARE_10_TIMES_F0_REAL_FILE_NAME)

    _t, resp = signal_csv2tex(
        "../ltspice/simulations/filter_4th_order_mf_square_f0_over_10.csv")
    fun = signal.square(2 * np.pi * f0_a / 10 * _t)

    plot_2_signals(_t,
                   fun,
                   resp,
                   SQUARE_RESPONSE_F0_OVER_10_REAL_DIAGRAM_TITLE,
                   (-0.017, 0.35),
                   signal_labels=(SQUARE_LABEL, RESPONSE_LABEL),
                   axis_labels=(TIME_LABEL, AMPLITUDE_LABEL),
                   file_name=SQUARE_F0_OVER_10_REAL_FILE_NAME)
Beispiel #5
0
def sine_response_comparison():
    little_f0 = f0_a * 0.1
    great_f0 = f0_a * 100  # changed

    fun = np.sin(2 * np.pi * f0_a * t)
    resp_a = signal.lsim(sys_a, fun, t)[1]
    (t_r, resp_r) = signal_csv2tex(
        "../ltspice/simulations/filter_4th_order_mf_sine_f0.csv")
    plot_multiple_signals(((t_r, resp_r), (t, resp_a)),
                          SINE_RESPONSE_F0_COMPARISON_DIAGRAM_TITLE,
                          (-0.002, 0.04), None, (TIME_LABEL, AMPLITUDE_LABEL),
                          SINE_F0_COMPARISON_FILE_NAME,
                          (ANALYTIC_LABEL, REAL_LABEL))

    fun = np.sin(2 * np.pi * great_f0 * t)
    resp_a = signal.lsim(sys_a, fun, t)[1]
    (t_r, resp_r) = signal_csv2tex(
        "../ltspice/simulations/filter_4th_order_mf_sine_100_times_f0.csv")
    (t_c,
     resp_c) = t, 0.89122 * np.sin(100 * 2 * np.pi * 138.62 * t + 0.026414)
    plot_multiple_signals(
        ((t_r, resp_r), (t, resp_a),
         (t_c, resp_c)), SINE_RESPONSE_GREAT_F0_COMPARISON_DIAGRAM_TITLE,
        (-0.00002, 0.0004), None, (TIME_LABEL, AMPLITUDE_LABEL),
        SINE_GREAT_F0_COMPARISON_FILE_NAME,
        (ANALYTIC_LABEL, REAL_LABEL, CALCULATED_LABEL))

    fun = np.sin(2 * np.pi * little_f0 * t)
    resp_a = signal.lsim(sys_a, fun, t)[1]
    (t_r, resp_r) = signal_csv2tex(
        "../ltspice/simulations/filter_4th_order_mf_sine_f0_over_10.csv")
    plot_multiple_signals(((t_r, resp_r), (t, resp_a)),
                          SINE_RESPONSE_LITTLE_F0_COMPARISON_DIAGRAM_TITLE,
                          (-0.002, 0.04), None, (TIME_LABEL, AMPLITUDE_LABEL),
                          SINE_LITTLE_F0_COMPARISON_FILE_NAME,
                          (ANALYTIC_LABEL, REAL_LABEL))
Beispiel #6
0
def sine_response_real():
    little_f0 = f0_a * 0.1
    great_f0 = f0_a * 100  # changed
    _t, resp = signal_csv2tex(
        "../ltspice/simulations/filter_4th_order_mf_sine_f0.csv")
    fun = np.sin(2 * np.pi * f0_a * _t)
    plot_2_signals(_t,
                   fun,
                   resp,
                   SINE_RESPONSE_F0_REAL_DIAGRAM_TITLE, (-0.002, 0.04),
                   signal_labels=(SINE_LABEL, RESPONSE_LABEL),
                   axis_labels=(TIME_LABEL, AMPLITUDE_LABEL),
                   file_name=SINE_F0_REAL_FILE_NAME)

    _t, resp = signal_csv2tex(
        "../ltspice/simulations/filter_4th_order_mf_sine_100_times_f0.csv")
    fun = np.sin(2 * np.pi * great_f0 * _t)
    plot_2_signals(_t,
                   fun,
                   resp,
                   SINE_RESPONSE_GREAT_F0_REAL_DIAGRAM_TITLE,
                   (-0.00002, 0.0004),
                   signal_labels=(SINE_LABEL, RESPONSE_LABEL),
                   axis_labels=(TIME_LABEL, AMPLITUDE_LABEL),
                   file_name=SINE_GREAT_F0_REAL_FILE_NAME)

    _t, resp = signal_csv2tex(
        "../ltspice/simulations/filter_4th_order_mf_sine_f0_over_10.csv")
    fun = np.sin(2 * np.pi * little_f0 * _t)
    plot_2_signals(_t,
                   fun,
                   resp,
                   SINE_RESPONSE_LITTLE_F0_REAL_DIAGRAM_TITLE, (-0.002, 0.04),
                   signal_labels=(SINE_LABEL, RESPONSE_LABEL),
                   axis_labels=(TIME_LABEL, AMPLITUDE_LABEL),
                   file_name=SINE_LITTLE_F0_REAL_FILE_NAME)