def compute_wavelet_ffts(self): samplerate = self.time_series.attrs['samplerate'] freqs = np.atleast_1d(self.freqs) wavelets = morlet_multi(freqs=freqs, widths=5, samplerates=samplerate) # ADD WARNING HERE FROM PHASE_MULTI num_wavelets = len(wavelets) # computting length of the longest wavelet s_w = max(map(lambda wavelet: wavelet.shape[0], wavelets)) # length of the tie axis of the time series s_d = self.time_series['time'].shape[0] # determine the size based on the next power of 2 convolution_size = s_w + s_d - 1 convolution_size_pow2 = np.power(2, next_pow2(convolution_size)) # preallocating arrays wavelet_fft_array = np.empty(shape=(num_wavelets, convolution_size_pow2), dtype=np.complex64) convolution_size_array = np.empty(shape=(num_wavelets), dtype=np.int) # computting wavelet ffts for i, wavelet in enumerate(wavelets): wavelet_fft_array[i] = fft(wavelet, convolution_size_pow2) convolution_size_array[i] = wavelet.shape[0] + s_d - 1 return wavelet_fft_array, convolution_size_array, convolution_size_pow2
def compute_wavelet_ffts(self): samplerate = self.time_series.attrs["samplerate"] freqs = np.atleast_1d(self.freqs) wavelets = morlet_multi(freqs=freqs, widths=self.width, samplerates=samplerate) # ADD WARNING HERE FROM PHASE_MULTI num_wavelets = len(wavelets) # computting length of the longest wavelet s_w = max(map(lambda wavelet: wavelet.shape[0], wavelets)) # length of the tie axis of the time series s_d = self.time_series["time"].shape[0] # determine the size based on the next power of 2 convolution_size = s_w + s_d - 1 # next power of two convolution_size_pow2 = 2 ** int(np.ceil(np.log2(convolution_size))) # convolution_size_pow2 = np.power(2, next_pow2(convolution_size)) # preallocating arrays # wavelet_fft_array = np.empty(shape=(num_wavelets, convolution_size_pow2), dtype=np.complex64) # wavelet_fft_array = np.empty(shape=(num_wavelets, convolution_size_pow2), dtype=np.complex) wavelet_fft_array = [] convolution_size_pow2 = [] convolution_size_array = np.empty(shape=(num_wavelets), dtype=np.int) # # computting wavelet ffts # for i, wavelet in enumerate(wavelets): # wavelet_fft_array[i] = fft(wavelet, convolution_size_pow2) # convolution_size_array[i] = wavelet.shape[0] + s_d - 1 # computting wavelet ffts for i, wavelet in enumerate(wavelets): s_w = wavelet.shape[0] convolution_size = s_w + s_d - 1 convolution_size_pow2.append(2 ** int(np.ceil(np.log2(convolution_size)))) wavelet_fft_array.append(fft(wavelet, convolution_size_pow2[-1])) # wavelet_fft_array[i] = fft(wavelet, convolution_size_pow2) convolution_size_array[i] = convolution_size return wavelet_fft_array, convolution_size_array, convolution_size_pow2
def compute_wavelet_ffts(self): # samplerate = self.time_series.attrs['samplerate'] samplerate = float(self.time_series['samplerate']) freqs = np.atleast_1d(self.freqs) wavelets = morlet_multi(freqs=freqs, widths=self.width, samplerates=samplerate) # ADD WARNING HERE FROM PHASE_MULTI num_wavelets = len(wavelets) # computing length of the longest wavelet s_w = max(map(lambda wavelet: wavelet.shape[0], wavelets)) time_series_length = self.time_series['time'].shape[0] if s_w > self.time_series['time'].shape[0]: raise ValueError( 'Time series length (l_ts=%s) is shorter than maximum wavelet length (l_w=%s). ' 'Please use longer time series or increase lowest wavelet frequency ' % (time_series_length, s_w)) # length of the tie axis of the time series s_d = self.time_series['time'].shape[0] # determine the size based on the next power of 2 convolution_size = s_w + s_d - 1 convolution_size_pow2 = np.power(2, next_pow2(convolution_size)) # preallocating arrays # wavelet_fft_array = np.empty(shape=(num_wavelets, convolution_size_pow2), dtype=np.complex64) wavelet_fft_array = np.empty(shape=(num_wavelets, convolution_size_pow2), dtype=np.complex) convolution_size_array = np.empty(shape=(num_wavelets), dtype=np.int) # computting wavelet ffts for i, wavelet in enumerate(wavelets): wavelet_fft_array[i] = fft(wavelet, convolution_size_pow2) convolution_size_array[i] = wavelet.shape[0] + s_d - 1 return wavelet_fft_array, convolution_size_array, convolution_size_pow2