Esempio n. 1
0
def get_signal(constant, width, amplitude, phase, frequency):
    """
    pick a type of signal and return the
    corresponding constructed signal.
    :return:
    """
    choice = int(raw_input('Signal Type? ')) - 1
    if choice < 2:
        # basic signals
        signal = simple_signals.SIGNALS_DICT[choice](x_axis)
    elif choice == 2:
        # zero mean sawtooth
        signal = simple_signals.SIGNALS_DICT[choice](x_axis, width)
    elif choice == 3:
        # exponential decay
        signal = simple_signals.SIGNALS_DICT[choice](x_axis, constant)
    else:
        # trigonometric signals
        signal = simple_signals.trigonometric_signal(simple_signals.TRIGONOMETRIC_FUNCTIONS[choice - 4], x_axis,
                                                     amplitude, phase, frequency)
    simple_signals.show_graph(x_axis, signal)
    return signal
Esempio n. 2
0
def main():
    # Signal 1
    signal_one = get_signal(3.0 / 4, 10, 1, 0, 2 * np.pi / 50)

    # Signal 2
    signal_two = get_signal(3.0 / 4, 10, 1, 0, 2 * np.pi / 20)

    choice = int(
        raw_input(
            "\nWhich operation?\n1)Adder\n2)Multiplier\n3)Delay\n4)Recursive Filter\n5)Moving Average\n6)Inner Product\nChoose: "))

    constant = 0.9
    amount = 5
    window = 51
    if choice == 1:
        result_signal = adder(signal_one, signal_two)
        simple_signals.show_graph(x_axis, result_signal, operands=[signal_one, signal_two])
    elif choice == 2:
        result_signal = multiplier(signal_one, constant)
        simple_signals.show_graph(x_axis, result_signal, operands=[signal_one])
        result_signal = multiplier(signal_two, constant)
        simple_signals.show_graph(x_axis, result_signal, operands=[signal_two])
    elif choice == 3:
        result_signal = delay(signal_one, amount)
        simple_signals.show_graph(x_axis, result_signal, operands=[signal_one])
        result_signal = delay(signal_two, amount)
        simple_signals.show_graph(x_axis, result_signal, operands=[signal_two])
    elif choice == 4:
        result_signal = recursive_filter(signal_one, window, constant)
        simple_signals.show_graph(x_axis, result_signal, operands=[signal_one])
        result_signal = recursive_filter(signal_two, window, constant)
        simple_signals.show_graph(x_axis, result_signal, operands=[signal_two])
    elif choice == 5:
        result_signal = moving_average(signal_one, window)
        simple_signals.show_graph(x_axis, result_signal, operands=[signal_one])
        result_signal = moving_average(signal_two, window)
        simple_signals.show_graph(x_axis, result_signal, operands=[signal_two])
    elif choice == 6:
        result_signal, result = inner_product(signal_one, signal_two, window)
        print "Inner Product: ", result
        simple_signals.show_graph(x_axis, result_signal, operands=[signal_one, signal_two])