def find_top_two_peaks(sdata):
samples = len(sdata)
fft_size = 2**int(floor(log(samples)/log(2.0)))
freq = fft(sdata[0:fft_size])
pdata = numpy.zeros(fft_size)
for i in xrange(fft_size): pdata[i] = abs(freq[i])
peak = 0
peak1 = 0
peak2 = 0
peak1_index = 0
peak2_index = 0
for i in xrange(fft_size/2):
if (pdata[i] > peak1):
peak1 = pdata[i]
peak1_index = i
for i in xrange(fft_size/2):
if (pdata[i] > peak2) and (abs(i - peak1_index) > 4):
peak2 = pdata[i]
peak2_index = i
return (peak1,peak1_index,peak2,peak2_index)
# REMOVAL CASES
评论列表
文章目录