From cca9bb710dbaf26aaa7c7d21b3bd9711fe96d69c Mon Sep 17 00:00:00 2001 From: Sebastien Bourdeauducq Date: Mon, 15 Aug 2022 15:45:50 +0800 Subject: [PATCH] add spectrum plot --- fourier.py | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 fourier.py diff --git a/fourier.py b/fourier.py new file mode 100644 index 0000000..1f0c161 --- /dev/null +++ b/fourier.py @@ -0,0 +1,39 @@ +import PyQt5 +import pyqtgraph as pg +from pyqtgraph.Qt import QtGui, QtCore +import numpy as np +from scipy.signal import hilbert +from scipy.fft import fft, fftfreq +from scipy.signal.windows import hamming + +a = 250000 +b = 450000 +ch1 = np.load("siglent_ch1.npy")[a:b] +ch2 = np.load("siglent_ch2.npy")[a:b] + +ch1 = ch1 - np.mean(ch1) +ch2 = ch2 - np.mean(ch2) + +out_samples = [] +prev_ref = ch1[0] +for sample, ref in zip(ch1, ch2): + if prev_ref*ref < 0: + out_samples.append(sample) + prev_ref = ref + + +app = QtGui.QApplication([]) +mainwindow = QtGui.QMainWindow() + +widget = pg.PlotWidget() +mainwindow.setCentralWidget(widget) + +mainwindow.show() + +out_samples = out_samples*hamming(len(out_samples)) + +widget.clear() +widget.plot(2*473.6*fftfreq(len(out_samples))[:len(out_samples)//2], np.abs(fft(out_samples))[:len(out_samples)//2]) + +app.exec_() +