БПФ анализ сигнала осциллографа в файле .csv - PullRequest
0 голосов
/ 30 октября 2019

Итак, я хочу получить частотный диапазон сигнала, обнаруженного моим осциллографом (и сохраненного в 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()
...