Dear forum,

I would like to do a sanity check on a near-field to far-field transform problem that I am struggling with. I have some planar recorded near-field data and would like to transform these data to far-field data and subsequently depict the field in spherical coordinates as E(r, theta, phi) where r is the radius, theta is the space-angle (?) and phi is the planar angle. All this should be done using Matlab. My coordinate system is such that the planar data is the x-y plane and the direction of propagation is in the z-direction, hence the planar angle is measured from the positive x-axis and counter clockwise and the space-angle is measured from the positive z-axis.

Now, the data I have at hand is recorded (actually simulated) in front of a pyramidal horn excited in the TE_10 dominant mode. Simply, this emulates a planar grid-sampling of the near-field data.

The transformation should be done using the least amount of approximations possible and I assume that this would be by going about it the following way:

The recorded samples should be converted to a Plane Wave Spectrum (PWS) using the following expression:
  • f_y(k_x, k_y) = doubleintegralsum( E_ya(x,y,z=0)*exp(j*k_x*x+k_y*y))dxdy
  • -"E_ya" is the sampled data and the _ya indicates that the data is linearly polarized in the y-direction. A similar double integral sum could be put in place if there was an x-polarized component present.
    - "k_x" is the wavenumber in the x-direction given by k_x = sin(theta)*cos(phi)
    - "k_y" is the wavenumber in the y-direction given by k_y = sin(theta)*sin(phi)
    - The angles defined by theta and phi can be limited to the hemisphere of propagation, since this is a planar measurement and hence no data is recorded except in front of the antenna
    - The double integral sum is taken over the limits or size of the sampling grid/plane
Sanity check no. 1: If I plot the data after this operation I should see a a field-pattern that closely resembles the expected far-field pattern for a pyramidal horn. Is this true?

The next operation to perform is to convert or map these data points from the PWS to spherical coordinates by using:
  • r = x*sin(theta)*cos(phi) + y*sin(theta)*sin(phi) + z*cos(phi)
    theta = x*cos(theta)*cos(phi) + y*cos(theta)*sin(phi) - z*sin(theta)
    phi = -x*sin(phi) + y*cos(phi)
where the only components present should be the following, since I only have a E_ya component:
  • r = y*sin(theta)*sin(phi)
    theta = y*cos(theta)*sin(phi)
    phi = y*cos(phi)
Sanity check no. 2: Is this correct or am I getting it wrong here with the mapping of coordinates? Should I have done this mapping before calculating the PWS?

The coordinate mapping originates from this definition:

The final operation to be done is to integrate to the far-field in spherical coordinates:
  • E(r, theta, phi) = (1/(4*pi^2))*doubleintegralsum(PWS*exp(-j*k*r))dk_xdk_y
  • k*r = r*[k_x*sin(theta)*cos(phi) + k_y*sin(theta)*sin(phi) + kz*cos(theta)]
    which can be rewritten as
    k*r = r*[k_x*sin(theta)*cos(phi) + k_y*sin(theta)*sin(phi) + sqrt(k^2 - k_x^2 - k_y^2)*cos(theta)]
    and PWS is f_y(k_x,k_y) mapped to spherical coordinates. The double integral sum is taken over the angular limits of the hemisphere in the direction of propagation.

Where am I getting it right and where am I getting it wrong here?

Any help and/or comments is deeply appreciated!

Best Regards,