我希望您能够协助翻译有关IT技术的内容。以下是需要翻译的文本内容:
这将输出如下内容:
我也使用了这段代码绘制了结果——其中fst_ps是功率谱的第一个数组/窗口,而fst_freq是fft_freq数据的第一个窗口/数组。
我想对人体加速度计数据执行特征提取,以用于活动识别。我的数据采样率为100Hz。
从我所研究的各种来源来看,FFT是一种可行的方法。我已经以滑动窗口格式获得了数据,每个窗口的长度为256。我使用Python和NumPy库进行操作的代码如下:
import numpy as np
def fft_transform (window_data):
fft_data = []
fft_freq = []
power_spec = []
for window in window_data:
fft_window = np.fft.fft(window)
fft_data.append(fft_window)
freq = np.fft.fftfreq(np.array(window).shape[-1], d=0.01)
fft_freq.append(freq )
fft_ps = np.abs(fft_window)**2
power_spec.append(fft_ps)
return fft_data, fft_freq, power_spec
这将输出如下内容:
fft_data
array([ 2.92394828e+01 +0.00000000e+00j,
-6.00104665e-01 -7.57915977e+00j,
-1.02677676e+01 -1.55806119e+00j,
-7.17273995e-01 -6.64043705e+00j,
3.45758079e+01 +3.60869421e+01j,
etc..
频率数据
array([ 0. , 0.390625, 0.78125 , 1.171875, 1.5625 , etc...
功率谱
array([ 8.54947354e+02, 5.78037884e+01, 1.07854606e+02,
4.46098863e+01, 2.49775388e+03, etc...
我也使用了这段代码绘制了结果——其中fst_ps是功率谱的第一个数组/窗口,而fst_freq是fft_freq数据的第一个窗口/数组。
import matplotlib.pyplot as plt
fig = plt.figure(figsize=(width, height))
fig1= fig.add_subplot(221)
fig2= fig.add_subplot(222)
fig1.plot(fst_freq, fst_ps)
fig2.plot(fst_freq, np.log10(fst_ps))
plt.show()
我想请教一些有关提取特征的建议。谢谢!