Экспорт данных сценария FFT в текстовый файл - PullRequest
0 голосов
/ 15 апреля 2020

У меня есть вопрос о сценарии, который наш учитель дал нам в студенческом лабораторном курсе. Сценарий написан в Python 2 и импортирует данные из файла mi c .txt, выполняет преобразование FFT и затем наносит на график данные. Я хотел бы, чтобы скрипт также создавал текстовый файл, содержащий 2 столбца с нанесенными на график числами данных, чтобы я мог затем использовать результаты для дальнейшего анализа.

Буду признателен за вашу помощь, Мэтью

from scipy.fftpack import fft,ifft
import matplotlib.pyplot as plt
from scipy.signal import blackman

data =  np.loadtxt("mic.txt")
x = data[:,0]
y = data[:,1]

fy = fft(y)
ft = np.fft.fft(y)

print np.sum(y),"==",fy[0]

n = len(x)
t = x[-1]
fx = np.linspace(0,n/t,n)

plt.plot(fx[0:n/2],np.abs(fy[0:n/2]))

plt.xlabel("frequency (Hz)")
plt.show()

1 Ответ

0 голосов
/ 15 апреля 2020

Если два столбца имеют одинаковую длину, вы можете записать их в текстовый файл следующим образом:

with open('text_file.txt','w') as f:
    for a,b in zip(variable_1, variable_2):
        f.write(str(a) + ',' + str(b) + '\n')
f.close()
...