fast fourier transform python
# This is from the question from scipy.fftpack import fft # Number of samplepoints N = 600 # Sample spacing T = 1.0 / 800.0 x = np.linspace(0.0, N*T, N) y = np.sin(50.0 * 2.0*np.pi*x) + 0.5*np.sin(80.0 * 2.0*np.pi*x) yf = fft(y)
Source: stackoverflow.com
Fast Fourier Transform
n = n/2 iden = np.identity(n) diag = np.diag([exp(I*pi*j/n) for j in range(n)]) coeff = np.block([[iden, diag], [iden, -diag]]) ye = y[0:][::2] yo = y[1:][::2] return mv(coeff, np.concatenate((fft(ye), fft(yo))))
Source: quizlet.com