One last thing to mention: If you zero pad the signal in the time domain and you want to use a windowing function, make sure you window the signal before you zero pad. If you apply the window function after zero padding, you won't accomplish what the window is supposed to accomplish. More specifically, you'll still have a sharp transition from the signal to zero instead of a smooth transition to zero
^^^ from answer 2 at https://dsp.stackexchange.com/questions/741/why-should-i-zero-pad-a-signal-before-taking-the-fourier-transform