try FFT instead