I want to smooth a one-dimensional oscillating function by convolving it with another function that I'll call the screening function. This screening function should have a trapezoidal form and go to zero for Abs[x] > L.

Can this be accomplished by performing a Fourier transform of the two functions, multiplying them, and then taking the inverse Fourier transform to get the convolution?

In particular, I am confused by ListConvolve, and whether I should do a cyclic or linear convolution, which is why I was trying to approach it via Fourier transforms.

  • 2
    $\begingroup$ Check reference.wolfram.com/mathematica/guide/WindowFunctions.html first $\endgroup$ – Dr. belisarius Jul 6 '15 at 21:01
  • 1
    $\begingroup$ You may add a simplified version of your functions as an example to make this question more concrete. $\endgroup$ – Karsten 7. Jul 6 '15 at 21:07
  • 2
    $\begingroup$ ListConvolve can perform both linear and cyclic convolution, check the documentation. You can perform a linear convolution as multiplication in the Fourier (DFT) domain, as long as the DFTs lengths are larger than the length of the final sequence. Check the answer of this post for implementation. $\endgroup$ – Stelios Jul 6 '15 at 21:12
  • $\begingroup$ Thanks for the references, I think I understand how to do it now! $\endgroup$ – user34801 Jul 7 '15 at 21:53

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.