Proposal for the implementaion of Fraunhofer far field

Give some feedback on openEMS.

Moderators: thorsten, sebastian

Proposal for the implementaion of Fraunhofer far field

Postby gmichel » Tue 24 Jan 2017, 23:07

Hi,

I would like to add an FFT accelerated far field calculation to the Python interface. It would calculate the Fraunhofer far field approximation which is valid for large distances >> lambda. The current nf2ff implementation calculates the exact far field, given a certain radius. This approach accounts for the radiating near field. The reactive near field should be enclosed by the FDTD domain anyway.

However, in many cases one is interested in the far field for very large radii >> lambda. In these cases the Fraunhofer approximation is valid. I.e. the field at a point can be obtained by just multiplying the angular distribution by exp(-jkr)/r. The former can be obtained via FFT. The advatage would be a fast calculation for many directions (phi-theta-combinations), in fact as many as we have sampling points on the faces of the nf2ff box. The disadvantage would be inaccuracies when r is not so much larger than lambda.

Technically we can do this by introducing a new keword for nf2ff.CalcNF2FF, e.g. "method". It could take the the values "exact" (default) which is the current nf2ff implementation. When it takes the value "Fraunhofer", a class _nf2ff_Fraunhofer would be used instead of _nf2ff. The former can be a subclass of the latter. Although a certain radius is not needed for the Fraunhofer approximation, the given radius can be used for the calculation of the field at a dedicated point via the above multiplication.

Do you think this would be a proper way for the implementation? Do you think this is a desirable feature at all?


Cheers
Georg

PS: There would be a nice offspring. When the angular distribution is known, it would be easy to implement a method which calculates the field of paraxial beams (e.g. Gaussian beams or the radiation patterns of strongly directional antennas) in arbitrary planes outside the FDTD domain. This in turn can be the beginning of a physical optics extension (mirrors, lenses and the like).
gmichel
 
Posts: 20
Joined: Thu 09 Jun 2016, 12:28

Re: Proposal for the implementaion of Fraunhofer far field

Postby thorsten » Wed 25 Jan 2017, 20:36

Hi,

you can certainly give it a try and I will have a look at it. But I'm still not convinced that this will work.
As mentioned and asked in another thread, we use a DTFT (not a normal DFT) because we do not have a periodic signal and thus I still think that a FFT is not a good idea or even possible.
But give it a try, I'm curious to see if it works or not... After all the Fraunhofer far field could just as easily be calculated using the ordinary D(T)FT...

regards
Thorsten
thorsten
 
Posts: 1044
Joined: Mon 27 Jun 2011, 12:26

Re: Proposal for the implementaion of Fraunhofer far field

Postby gmichel » Wed 25 Jan 2017, 23:55

OK, I will first try to reproduce the pattern of the horn antenna tutorial with only the zp face of the nf2ff box. This would be the easiest way to benchmark the code against the current nf2ff. As mentioned, the advantage of using the FFT is just speed and I think it makes only sense if the whole 3D pattern with many sampling points is to be calculated.

Regarding the FFT it seems to me there is some misunderstanding. The Fraunhofer formula uses the 2D Fourier transform with respect to the wavenumber. It expects the data on the faces of the nf2ff box which is already Fourier transformed with respect to time for one specific frequency. This can be done by giving the 'Frequency' keyword to CreateNF2FFBox. I will report here when I have a result.

Cheers
Georg
gmichel
 
Posts: 20
Joined: Thu 09 Jun 2016, 12:28


Return to Feedback

Who is online

Users browsing this forum: No registered users and 1 guest

cron
MediaWiki Appliance - Powered by TurnKey Linux