def datatreatment(inputdata,inputtime): import scipy.signal as signal # baseline correction inputdata = inputdata-np.mean(inputdata) # tapering window = signal.tukey(len(inputdata),alpha=0.15,sym=True) inputdata = inputdata*window # fft dt = inputtime[1]-inputtime[0] fftdata = np.fft.fft(inputdata) # fftfreq = np.fft.fftfreq(len(fftdata),dt) # cut the length fftdata = fftdata[:int(len(fftdata)/2)] df = 1./(inputtime[-1]-inputtime[0]) fftfreq = np.array([(i)*df for i in range(len(fftdata))]) fftamp = np.abs(fftdata) #konno ohmachi smoothing fftsmooth = konnoOhmachiSmoothing(fftamp,fftfreq) return fftamp,fftfreq,fftsmooth
ds2.append(float(tmp[1])) a1.plot(ts2,ds2-np.mean(ds2),'r',label='real surface recording',alpha=0.6) a1.legend(loc='best') fig1.tight_layout() # fig1.savefig(dirprocess+os.sep+dirprocess+'_02.png') a3.plot(ts2,ds2-np.mean(ds2),'r',label='real surface recording',alpha=0.6) a3.legend(loc='best') fig3.tight_layout() # fig3.savefig(dirprocess+os.sep+dirprocess+'_01.png') # calculation of observed transfer function tf2 = np.abs(np.fft.fft(ds2-np.mean(ds2))/np.fft.fft(ds-np.mean(ds))) tf2_freq = np.linspace(1./(ts2[-1]-ts2[0]),100.,len(ds2)/2) tf2_smooth = konnoOhmachiSmoothing(tf2[:len(tf2_freq)],tf2_freq) # testing to treat the data def datatreatment(inputdata,inputtime): import scipy.signal as signal # baseline correction inputdata = inputdata-np.mean(inputdata) # tapering window = signal.tukey(len(inputdata),alpha=0.15,sym=True) inputdata = inputdata*window # fft dt = inputtime[1]-inputtime[0] fftdata = np.fft.fft(inputdata) # fftfreq = np.fft.fftfreq(len(fftdata),dt) # cut the length fftdata = fftdata[:int(len(fftdata)/2)]