开发者

FFT in MATLAB ( I need help)

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 detai开发者_运维知识库led answer.


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).


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.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜