Skip to main content
1 of 2
dljs
  • 13
  • 4

Why does the frequency window affect the inverse fourier transform oscillation frequency?

I have an oscillating pulse in the frequency domain that I would like to inverse Fourier transform. My signal looks like: Frequency domain signal

Which was coded in MATLAB using the following code:

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

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

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.

dljs
  • 13
  • 4