I have an oscillating pulse in the frequency domain that I would like to inverse Fourier transform. My signal looks like: [![Frequency domain signal][1]][1] Which was coded in MATLAB using the following code: ```MATLAB sampleRate = 1000; freq = 500 : (1/sampleRate) : 1500; intensityFreq = exp(-((freq-1000).^2)); signalFreq = sqrt(intensityFreq).*exp(-1i*10*(freq-1000)); plot(freq,signalFreq) ``` When I inverse Fourier transform, it shows a similar oscillating pulse (in time) whose oscillations depends on the frequency range I used in the above code. For example, when: ``` freq = 500 : (1/sampleRate) : 1500; ``` is used (as in the code shown above), the inverse fourier transform looks like: [![Time domain IFFT output with large frequency window and thus high frequency oscillation][2]][2] But when: ``` freq = 980 : (1/sampleRate) : 1020; ``` Is used instead, the inverse Fourier transform looks like: [![Time domain IFFT output with small frequency window and thus low frequency oscillation][3]][3] This makes no sense to me, since the frequency range shouldn't matter since signalFreq goes to 0 around these points anyway. Why does the altered frequency range affect the oscillations in the inverse Fourier transform so much? How do I obtain the "actual" time domain signal that doesn't depend on frequency windows? Any help is much appreciated. If this post is not clear I would be happy to provide more detail. EDIT: The full code used to find the inverse Fourier transform is: ``` sampleRate = 1000; freq = 500 : (1/sampleRate) : 1500; intensityFreq = exp(-((freq-1000).^2)); signalFreq = sqrt(intensityFreq).*exp(-1i*10*(freq-1000)); Y = ifft(signalFreq); plot(real(Y)) ``` [1]: https://i.sstatic.net/TE483.jpg [2]: https://i.sstatic.net/8AjdW.jpg [3]: https://i.sstatic.net/zJYEd.jpg