【发布时间】:2019-01-30 04:59:53
【问题描述】:
我是信号处理新手,需要您的帮助。
我从我的 TI AFE4490 获得了 10 秒的原始 PPG(光电容积描记图)信号。我的硬件已经过校准,我每秒使用 250 个样本来记录这些信号。我最后获得了2500分。
您可以看到下面的图像、点和代码。
上:我的原始 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()
函数getAFEsignal()只是一个读取.txt文件并将所有内容放入两个numpy数组的函数。
您可以在此处找到 .txt 文件:Raw signal file
如您所见,我没有正确应用 FFT,我需要它来发现我需要过滤哪些频率。你知道我做错了什么吗,是否可以对这个信号应用 FFT?
【问题讨论】:
-
有几件事可能是错误的,规范化,步长等。尝试阅读这些内容,看看你是否正确应用。
-
嘿乔。感谢您的回复。我会读这些东西。 ;)
标签: python scipy signal-processing fft