sizeof(time_domain) should be fft_len * sizeof(double)