Using the .dft function in Prime 2.0, I cannot figure out how to get Mathcad to generate the Fourier transform (F.T.) of a function which is centered about the zero point (in the time domain). Regardless of the actual values of the indices used for the array which represents the time-domain function, Mathcad seems to interpret the first point in the array as being at time zero. So if I have a time-domain function that runs from t= -10 to t= +10, when Mathcad calculates the FT, it interprets the time domain function as running from t=0 to t=20. This gives the correct frequency amplitudes but it does not produce the correct phase profile. For example, if the time domain function is a rectangular pulse centered aboutt=0, the phase of all the constituent frequencies should be 0 (i.e. the F.T. is “real”). However, the .dft function produces a phase profile that corresponds to a rectangular pulse centered at t=100, which is a completely different phase profile.
Moving the time domain function to the first point in the array does not solve the problem. Again the .dft function interprets the time-domain function as starting at t=0.
The images below show the correct amplitude and phase profiles for the rectangular pulse (from Wikipedia) along with what is produced by the .dft function. Does anyone know how to get the correct amplitude and phase profile for a function centered about t=0?