Example #1
0
    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))
Example #2
0
    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)
Example #3
0
    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))
Example #4
0
    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)
Example #5
0
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
Example #6
0
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