小编Ces*_*cal的帖子

如何使用 Python 对原始信号应用 FFT

我是处理信号的新手,需要您的帮助。

我从我的 TI AFE4490 获得了一个 10 秒的原始 PPG(光体积描记图)信号。我的硬件已经过校准,我每秒使用 250 个样本来记录这些信号。最后我获得了2500分。

您可以在下面看到图像、点和代码。

顶部:我的原始 PPG 信号 - 底部:尝试应用 FFT: 顶部:我的原始 PPG 信号 - 底部:尝试应用 FFT

代码:

RED, IR, nSamples, sRate = getAFESignal()


period = 1/sRate

plt.figure(1)

plt.subplot(2,1,1)
x = np.linspace(0.0, nSamples*period, nSamples)
y = IR
plt.xlabel("Time (s)")
plt.ylabel("Voltage (V)")
plt.plot(x,y)

plt.subplot(2,1,2)
yf = fft(y)
xf = np.linspace(0.0, 1.0/(2.0*period), nSamples//2) 
plt.xlabel("Frequency (Hz)")
plt.ylabel("Gain")
plt.plot(xf, 2.0/nSamples * np.abs(yf[0:nSamples//2])) 

plt.grid()
plt.show()
Run Code Online (Sandbox Code Playgroud)

该函数getAFEsignal()只是一个读取 .txt 文件并将所有内容放入两个 numpy 数组的函数。

在这里您可以找到 .txt 文件:原始信号文件

如您所见,我没有正确应用 FFT,我需要它来发现我需要过滤的频率。你知道我做错了什么吗,是否可以在这个信号上应用 FFT?

python signal-processing fft scipy

3
推荐指数
1
解决办法
2432
查看次数

标签 统计

fft ×1

python ×1

scipy ×1

signal-processing ×1