Alright, so I am using the Convolution property of Fourier Transforms to find a function $f(x)$. So the obvious equation: $h(x) = f(x) \ast g(x)$.


$$g(x)=Rect\left[\frac x w \right]$$

h(x) =  al*exp(-((abs((x-b1)./c1).^d)))+a2
a2 =  1.205e+004  ;
al =  1.778e+005  ;
b1 =       94.88  ;
c1 =       224.3  ;
d =       4.077  ;

That is, $$h(x)=a_1 \exp\left[-\left(\frac{|x-b_1|}{c_1}\right)^d \right]+a_2$$ with the constants defined above.

So I want to find $f(x)$ by fourier transforming everything. The only prblem is that I can not find the fourier transform of h(x). I have tried to use fft() in matlab, FourierTransform[h,x,$\omega$] in mathematica. In matlab, when I apply fft to both $h(x)$ and the Rect[] function, I do not end up with a reasonable result after ifft (most likely due to the zeros of sinc). However, in Mathematica, I can not even get a result for the FT of $h(x)$. The computer just sits and does nothing. So I am really stuck. I do not have enough math background to try and find the FT by hand. So if anyone has any advice (or a really fast computer that will actually perform the FT). Thank you!


The description of Mathematica command FourierTransform says

gives the symbolic Fourier transform

It rather unlikely that the Fourier transform of your $h$ has a sensible symbolic expression, due to fractional power $d$. But you can transform $h$ numerically, as explained in Numerical Fourier transform of a complicated function.

Also, I am not surprised that you don't like the result of $\mathcal F^{-1}(\mathcal F h/\mathcal F g)$. Deconvolution is not a straightforward operation.


Your Answer

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

Not the answer you're looking for? Browse other questions tagged or ask your own question.