2015-05-13 3 views
2

Я новичок в обработке сигналов с использованием Python. Я хочу узнать, как преобразовать значение величины акселерометра в частотную область. Мой пример кода следующие ниже:Преобразование Фурье в Python

В работе [44]:

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

Graph of the sample values

В здесь я хочу построить данные в частотной области. Желаемый результат может быть таким: Graph of the intended output

+0

Посмотрите на собственную документацию SciPy в об их FFT инструментов, они очень полезны: http://docs.scipy.org/doc/numpy/reference/routines.fft.html – gustafbstrom

ответ

4

numpy и scipy имеют модуль преобразования Фурье (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. 

enter image description here

Смежные вопросы