def dft(self, data, typecode='h'):
if type(data) is str:
a = array.array(typecode, data)
for index, value in enumerate(a):
self.real_input[index] = float(value)
elif type(data) is array.array:
for index, value in enumerate(data):
self.real_input[index] = float(value)
self.fftwf_execute(self.fftwf_plan)
for i in range(len(self.amplitude)):
self.amplitude[i] = math.hypot(self.complex_output[i * 2], self.complex_output[i * 2 + 1])
# self.phase[i] = math.atan2(self.complex_output[i * 2 + 1], self.complex_output[i * 2])
return self.amplitude # , self.phase
评论列表
文章目录