Skip to main content
1 of 2
Jason B.
  • 70.2k
  • 3
  • 144
  • 298

Juan, this is more of a math, or a signal processing question, less of a Mathematica question, so you might have some luck asking over at the signal processing SE. I can make a couple of comments.

Firstly, you can try to separate the effects of a discrete transform from the regular transform. The function you are transforming is not so simple. It is the product of a rectangle function and a linearly chirped cosine, so the transform will be a convolution of the sinc function and whatever the transform of the chirped cosine is. There will necessarily be edge effects in the numeric transform, since the sinc function has lobes out to infinity, which die off pretty slowly. Since the numeric transform won't include these high frequencies that will introduce artifacts.

The phase of the analytic transform would not be very well behaved here either, just compare

aft = FourierTransform[
   Cos[initialPhase + (chirpInitialFrequency*t + (chirpLinearRate/2)*
         t^2)]*(UnitStep[t] - UnitStep[t - 3.0]), t, ω, 
   FourierParameters -> {1, -1}];

{Plot[Re[aft], {ω, -25, 25}],
 Plot[Abs[aft], {ω, -25, 25}],
 Plot[Arg[aft], {ω, -25, 25}]}

enter image description here

To figure out how to get a more faithful DFT, you might ask elsewhere - I am far from an expert on signal processing.

Jason B.
  • 70.2k
  • 3
  • 144
  • 298