def atest__time_to_freq(self): originalFreq, originalSignalFreq = time_to_freq( originalTime, originalSignalTime, delta_time) amplitudeSignalFreq = np.abs(originalSignalFreq) for i in xrange(len(amplitudeSignalFreq)): if amplitudeSignalFreq[i] > 1000: #spike detected # check 1st signal print('\nChecking 1st freq: %f' % f1) if 0 < originalFreq[i] and originalFreq[i] < f2 / 2: print('Current Freq Detected at 1st spike: %f' % originalFreq[i]) self.assertTrue(f1 - 5 * delta_freq < originalFreq[i]) self.assertTrue(originalFreq[i] < (f1 + 5 * delta_freq)) # check 2nd signal print('\nChecking 2nd freq: %f' % f2) if f2 / 2 < originalFreq[i] and originalFreq[i] < f3 / 2: print('Current Freq Detected at 2nd spike: %f' % originalFreq[i]) self.assertTrue(f2 - 5 * delta_freq < originalFreq[i]) self.assertTrue(originalFreq[i] < (f2 + 5 * delta_freq)) # check 3rd signal print('\nChecking 3rd freq: %f' % f3) if 0.75 * f3 < originalFreq[i]: print('Current Freq Detected at 3rd spike: %f' % originalFreq[i]) self.assertTrue(f3 - 5 * delta_freq < originalFreq[i]) self.assertTrue(originalFreq[i] < (f3 + 5 * delta_freq))
def atest__filtering_time_freq(self): filterType = 'bandpass' lowFreq = 1.0 highFreq = 1.5 order = 2 originalFreq, originalSignalFreq = time_to_freq( originalTime, originalSignalTime, delta_time) filteredSignalTime, filteredSignalFreq, adjusted_w, adjusted_h = filtering_time_freq( originalTime, originalSignalTime, delta_time, filterType, highFreq, lowFreq, order) filteredAmplitudeFreq = np.abs(filteredSignalFreq) for i in xrange(len(filteredAmplitudeFreq)): if filteredAmplitudeFreq[i] > 1000: #spike detected if 0 < originalFreq[i]: print('LOL %r' % originalFreq[i]) # only 3rd freq detected self.assertTrue(f3 - delta_freq < originalFreq[i]) self.assertTrue(originalFreq[i] < f3 + delta_freq) # NOT 1st freq self.assertFalse(originalFreq[i] < f1 + 5 * delta_freq) # NOT 2nd freq self.assertFalse(originalFreq[i] < f2 + 5 * delta_freq)
def atest__time_to_freq(self): originalFreq, originalSignalFreq = time_to_freq(originalTime, originalSignalTime, delta_time) amplitudeSignalFreq = np.abs(originalSignalFreq) for i in xrange(len(amplitudeSignalFreq)): if amplitudeSignalFreq[i] > 1000: #spike detected # check 1st signal print('\nChecking 1st freq: %f' % f1) if 0 < originalFreq[i] and originalFreq[i] < f2/2: print('Current Freq Detected at 1st spike: %f' % originalFreq[i]) self.assertTrue(f1-5*delta_freq<originalFreq[i]) self.assertTrue(originalFreq[i]<(f1+5*delta_freq)) # check 2nd signal print('\nChecking 2nd freq: %f' % f2) if f2/2 < originalFreq[i] and originalFreq[i] < f3/2: print('Current Freq Detected at 2nd spike: %f' % originalFreq[i]) self.assertTrue(f2-5*delta_freq<originalFreq[i]) self.assertTrue(originalFreq[i]<(f2+5*delta_freq)) # check 3rd signal print('\nChecking 3rd freq: %f' % f3) if 0.75*f3 < originalFreq[i]: print('Current Freq Detected at 3rd spike: %f' % originalFreq[i]) self.assertTrue(f3-5*delta_freq<originalFreq[i]) self.assertTrue(originalFreq[i]<(f3+5*delta_freq))
def atest__filtering_time_freq(self): filterType = 'bandpass' lowFreq = 1.0 highFreq = 1.5 order = 2 originalFreq, originalSignalFreq = time_to_freq(originalTime, originalSignalTime, delta_time) filteredSignalTime, filteredSignalFreq, adjusted_w, adjusted_h = filtering_time_freq(originalTime, originalSignalTime, delta_time, filterType, highFreq, lowFreq, order) filteredAmplitudeFreq = np.abs(filteredSignalFreq) for i in xrange(len(filteredAmplitudeFreq)): if filteredAmplitudeFreq[i] > 1000: #spike detected if 0<originalFreq[i]: print('LOL %r' % originalFreq[i]) # only 3rd freq detected self.assertTrue(f3-delta_freq < originalFreq[i]) self.assertTrue(originalFreq[i] < f3+delta_freq) # NOT 1st freq self.assertFalse(originalFreq[i] < f1+5*delta_freq) # NOT 2nd freq self.assertFalse(originalFreq[i] < f2+5*delta_freq)
def seisApplyFilter(saclist, filtParas): 'Filter seismograms by butterworth filter' for sacdh in saclist: origTimeT = sacdh.time origDataT = sacdh.data origTimeF, origDataF = ftr.time_to_freq(origTimeT, origDataT, sacdh.delta) filtDataT, filtDataF, adjw, adjh = ftr.filtering_time_freq(origTimeT, origDataT, sacdh.delta, filtParas['band'], filtParas['highFreq'], filtParas['lowFreq'], filtParas['order'], filtParas['reversepass']) sacdh.datamem = filtDataT return
def seisApplyFilter(saclist, filtParas): 'Filter seismograms by butterworth filter' for sacdh in saclist: origTimeT = sacdh.time origDataT = sacdh.data origTimeF, origDataF = ftr.time_to_freq(origTimeT, origDataT, sacdh.delta) filtDataT, filtDataF, adjw, adjh = ftr.filtering_time_freq( origTimeT, origDataT, sacdh.delta, filtParas['band'], filtParas['highFreq'], filtParas['lowFreq'], filtParas['order'], filtParas['reversepass']) sacdh.datamem = filtDataT return