Fast discrete Fourier transform with quaternions