From 5608851d635dba9e2c2c3fae581f6f34c104d805 Mon Sep 17 00:00:00 2001 From: efish Date: Thu, 22 Nov 2018 15:36:12 +0100 Subject: [PATCH] freq_chirp --- code/eod_freq_chirp.py | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 code/eod_freq_chirp.py diff --git a/code/eod_freq_chirp.py b/code/eod_freq_chirp.py new file mode 100644 index 0000000..a495601 --- /dev/null +++ b/code/eod_freq_chirp.py @@ -0,0 +1,39 @@ +from read_chirp_data import * +import os +from IPython import embed +import matplotlib.pyplot as plt +import numpy as np + + +data_dir = "../data" +dataset = "2018-11-14-ak-invivo-1" +stim = read_chirp_stimulus(os.path.join(data_dir, dataset)) + +s = stim[(1, 675.0, 100.0)][0] +eod = s[1] +time = s[0] + +eod_norm = eod - np.mean(eod) +# calculate chirp times and indices by zero crossings +threshold = 0 +shift_eod = np.roll(eod_norm, 1) +eod_times = time[(eod_norm >= threshold) & (shift_eod < threshold)] + +eod_freq_chirp = 1/np.diff(eod_times) +kernel = np.ones(11)/11 +smooth_eod_freq_chirp = np.convolve(eod_freq_chirp, kernel, mode = 'valid') +time_axis = np.arange(len(smooth_eod_freq_chirp)) + + +fig = plt.plot(time_axis, smooth_eod_freq_chirp) +plt.xlabel("time [ms]", fontsize = 14) +plt.xticks(fontsize = 12) +plt.ylabel("eod frequency [mV]", fontsize = 14) +plt.yticks(fontsize = 12) +plt.axis([0, len(time_axis), 0, 2000]) + +plt.show() + + + +