Python中的傅里叶变换

mar*_*ain 4 python matplotlib

我是使用Python进行信号处理的新手.我想了解如何将加速度计的幅度值转换为频域.我的示例代码如下:

在[44]中:

  x = np.arange(30)
  plt.plot(x, np.sin(x))
  plt.xlabel('Number of Sample')
  plt.ylabel('Magnitude Value')
  plt.show()
Run Code Online (Sandbox Code Playgroud)

样本值的图表

在这里,我想将数据绘制到域频率.所需的输出可能是这样的: 预期输出的图表

Jul*_*nck 6

numpyscipy有一个傅里叶变换模块(http://docs.scipy.org/doc/numpy/reference/routines.fft.html).

x = np.linspace(0,5,100)
y = np.sin(2*np.pi*x)

## fourier transform
f = np.fft.fft(y)
## sample frequencies
freq = np.fft.fftfreq(len(y), d=x[1]-x[0])
plt.plot(freq, abs(f)**2) ## will show a peak at a frequency of 1 as it should.
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述