【发布时间】:2021-06-11 00:59:07
【问题描述】:
我是 Python 新手,如果这个问题非常基础,请见谅。
我有采样频率为 100Hz 的加速度计矢量幅度 (acc_VM) 信号。我必须找到这个信号的傅里叶变换并找到范围 Df 之间的基频。
Df 是与行走相对应的频率族。这里我们使用 Df = [1.2, 4]Hz。如何使用 python 选择频率范围 Df = [1.2, 4]Hz 我应该实现过滤器还是 combFunction() 是正确的代码?
def combFunction(n):
combSignal = []
for element in n:
if element>1.2 and element<4 :
combSignal.append(element)
else:
combSignal.append(0)
return np.maximum(combSignal)
def hann(total_data):
hann_array = np.zeros(total_data)
for i in range(total_data):
hann_array[i] = 0.5 - 0.5 * np.cos((2 * np.pi * i)/(total_data - 1))
return hann_array
def calculate_FT(x):
hann_weight = hann(len(x))
x_multiplied_hann = x * hann_weight
X = np.abs(np.fft.rfft(x_multiplied_hann))
combSignal = combFunction(X)
calculate_FT(acc_VM)
【问题讨论】:
-
谢谢老哥,Df已经在代码''''''中实现了
标签: python numpy signal-processing fft frequency