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
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])