from stimuli.SinusoidalStepStimulus import SinusoidalStepStimulus from stimuli.SinusAmplitudeModulation import SinusAmplitudeModulationStimulus import numpy as np import matplotlib.pyplot as plt def main(): stimuli_protocol_examples() pass def stimuli_protocol_examples(): fig, axes = plt.subplots(2, 1) start = 0 end = 1 time_start = -0.2 time_end = 1.2 step_size = 0.00005 frequency = 55 contrast = 0.5 # Sinusoidal STEP stimulus # frequency, contrast, start_time=0, duration=np.inf, amplitude=1 step_stim = SinusoidalStepStimulus(frequency, contrast, start, end - start) values = step_stim.as_array(time_start, time_end - time_start, step_size) time = np.arange(time_start, time_end, step_size) axes[0].plot(time, values) axes[0].set_ylabel("Voltage [mV]") # SAM Stimulus: mod_freq = 10 step_stim = SinusAmplitudeModulationStimulus(frequency, contrast, mod_freq, start, end - start) values = step_stim.as_array(time_start, time_end - time_start, step_size) time = np.arange(time_start, time_end, step_size) plt.plot(time, values) beat_time = np.arange(start, end, step_size) beat_values = np.sin(beat_time * 2 * np.pi * mod_freq) * contrast + 1 axes[1].plot(beat_time, beat_values) axes[1].set_xlabel("Time [s]") axes[1].set_ylabel("Voltage [mV]") plt.savefig("thesis/figures/stimuliExamples.pdf") plt.close() if __name__ == '__main__': main()