Sub-linear Fourier algorithms : theory and implementation