Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Find CTFT using MatLab

  1. Feb 28, 2008 #1
    Does anyone know how to find the CTFT of a function using MatLab? I know MatLab has a built in function called fft that finds the fast fourier transform, but I don't know how to use the fft to find the CTFT. Can anyone help me out?
  2. jcsd
  3. Feb 29, 2008 #2
    You can do something like:

    x = cos(2*pi*f*t);
    ft = fftshift(fft(x));

    Then you must plot over the proper frequency range. This is most likely why you can't work with fft and get the right results.
  4. Feb 29, 2008 #3
    When you say CTFT, you mean the Continous-Time Fourier Transform? The only way to do that on a computer is using symbolic math. You can't directly represent a continuous function inside the computer, and so you can't directly compute its Fourier Transform. So, supposing you have an expression for the function in question, you can feed that into the symbolic math toolbox, and have it give you an expression for the answer. I haven't used Matlab's symbolic math capabilities very much, so I can't comment further, but you might also just use The Integrator ( http://integrals.wolfram.com/index.jsp ). The downside to these approaches is that they tend not to be terribly good at simplifying the results, so you're apt to get a huge string of special functions that all end up cancelling eachother out. Often, the process of simplifying the output of these symbolic math systems can be as laborious as simply doing the integral yourself in the first place. They are good resources if you're stuck or want to check your answers, though...
  5. Mar 5, 2008 #4
    Yes, better to use a package designed with symbolic computations in mind...like Mathematica.
  6. Mar 7, 2008 #5
  7. Mar 7, 2008 #6
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook