Reputation: 3
Could anybody please tell me whether I can perform this integration with FFT in MATLAB? How? Please answer as soon as possible with the details.
Suppose there exists 2 rectangular planes, say, input
accessed by x1
and y1
variables and the resulting plane is output
accessed by tetax
and tetay
variables.
This is the integral in pseudo-code:
output(tetax,tetay)=double integral of [input(x1,y1)*exp(-j*k*((tetax*x1)+(tetay*y1)))](dx1)(dy1)
where: -1<= x1 <= 1 and -1<= y1 <= 1
tetax
and tetay
should change so they can span the final rectangular plane.
I would really appreciate a prompt and detailed answer.
Upvotes: 0
Views: 1505
Reputation: 69242
Since this looks like homework, I'll just give some hints. The trick is to rewrite the integral to look like a normal 2D Fourier integral of a function.
There are two issues:
1) You need to combine k and your tetax, tetay to look like a normal wavenumber (and compensate for this in the appropriate way).
2) You need to deal with the limits being in the range (-1,1) whereas the Fourier integral needs them in the range (-inf, +inf). To do this, pick a function to go inside the Fourier integral that will make this work.
Then it will be obvious how to do this in Matlab. It's a cute problem and I hope this doesn't ruin it (and if people think it does, let me know and I'll delete this answer, or delete it for me if you can).
Upvotes: 3
Reputation: 9039
Your problem looks like a Fourier transform, not a discrete Fourier transform (DFT). A FFT calculates the latter type of transform.
Briefly, a Fourier transform involves an integral, while a DFT involves a sum.
Upvotes: 0