Я написал некоторый код, сначала я создал синусоидальную волну с возрастающей частотой и сохранил ее в txt-файле (ах).Я разделил это и извлек только одну секунду, я применил окно к сигналу (s_) и вычислил fft.
Теперь я хочу сделать цикл, делить мой сигнал каждую секунду и вычислять fft.
как я могу это сделать, пожалуйста?
заранее спасибо,
s = pd.read_csv('sinwave.out')
time = pd.read_csv('time.out')
f_s = 2000
fig, figure4 = plt.subplots()
figure4.plot(time, s)
s_=s.iloc[0:2000,0]
time_=time.iloc[0:2000,0]
win = np.kaiser(len(s_), 1)
s_win = s_ * win
fig, figure5 = plt.subplots()
figure5.plot(time_, s_win)
figure5.set_xlim(0, 1)
S_ = fftpack.rfft(s_win)
freqs_ = fftpack.rfftfreq(len(s_win)) * f_s
fig, figure6 = plt.subplots()
figure6.plot(freqs_, abs(S_))
figure6.set_xlim(0, 60)
peaks, _ = find_peaks(abs(S_), height=600, )
indexes = peaks/2
print(indexes)