Итак, я хочу получить частотный диапазон сигнала, обнаруженного моим осциллографом (и сохраненного в CSV-файле, см. Например, pastebin). Когда я делаю тесты, обнаруживается много сигналов, поэтому создается много CSV-файлов. Вот почему я хочу перебрать эти файлы на этой конкретной карте (это работает), но для каждого файла я получаю цифру, как показано ниже (только частота около 0 Гц, что, я надеюсь, неверно). Так что, может быть, кто-то может помочь мне с этим ..
.csv: https://pastebin.com/5E98bgRC
1
import numpy as np
import matplotlib.pyplot as plt
import scipy.fftpack
from scipy.fftpack import fft, ifft
# Iterate over all csv files in certain map
import os
for file in os.listdir("."):
if file.endswith(".csv"):
print(file)
data = np.genfromtxt(file, skip_header=15, delimiter=",", skip_footer=1)
x = data[:,0]
y = data[:,1]
# Number of sample points
N = len(x)
# Time between two sample points
T = abs(data[200,0]) - abs(data[201,0])
yf = fft(y)
xf = np.linspace(0.0, 1.0/(2.0*T), N//2 )
plt.plot(xf, 2.0/N * np.abs(yf[0:N//2]))
plt.grid()
plt.show()