NF2FF

From openEMS

Jump to: navigation, search

Create and calculate the near-field to far-field transformation. The NF2FF box must be defined before running the FDTD simulations.

NF2FF Creation

The function CreateNF2FFBox will create surface dump-boxes surrounding the structure. The hdf5 file format is used to store the electric and magnetic fields necessary to perform the near-field to far-field transformation.

Create a near-field to far-field box:

[CSX nf2ff] = CreateNF2FFBox(CSX, name, start, stop, varargin)

The parameters are:

  • CSX: The CSXCAD data structure to be manipulated.
  • name: The name of the nf2ff calculation, it will be part of the hdf5 dump filenames
  • start/stop: Start and stop coordinates of the nf2ff box, it should contain all structures and should not be inside the pml!

Return parameters are:

  • CSX: The manipulated CSXCAD data structure.
  • nf2ff: A data structure containing all necessary information to perform the near-field to far-field transformation. See CalcNF2FF below.

Optional/variable arguments are:

  • Frequency: Specify a frequency vector to save disk-space. By default time-domain data will be stored.
  • OptResolution: Dump fields only for a given optimal resolution (e.g.: 'OptResolution', c0/max_freq/unit/15) to save disk-space
  • Directions: A 6x1 array, showing which directions are enabled/disabled for the NF2FF calculations. The numbers in the array represent [x(-), x(+), y(-), y(+), z(-), z(+)]. Each value can be either 1 (enabled) or 0 (disabled). Usually this is only used to disable some directions in case of a full cylindrical mesh. For a Cartesian mesh this should not be changed.

NF2FF Calculation

Note:: This function can only be used after a simulation has been performed and all electric and magnetic fields have been stored as defined by CreateNF2FFBox.

IMPORTANT: Make sure to define the correct nf2ff phase center, aka. central antenna position! See optional parameter below!! Default is [0 0 0]

The function to calculate the far field is called by

nf2ff = CalcNF2FF(nf2ff, Sim_Path, freq, theta, phi, varargin)


The parameters are:

  • nf2ff: data structure created by CreateNF2FFBox
  • Sim_Path: path to simulation data
  • freq: array of frequencies to analyze
  • theta,phi: spherical coordinates to evaluate the far-field on (in radians)

Optional parameters are:

  • Center: nf2ff phase center, default is [0 0 0]. Make sure the center is never outside of your nf2ff box. Unit is always meters.
  • Mode:
    • 'Mode', 0 -> read only, if data already exist (default)
    • 'Mode', 1 -> calculate anyway, overwrite existing
    • 'Mode', 2 -> read only, fail if not existing
  • Outfile: alternative nf2ff result hdf5 file name. Default is: <nf2ff.name>.h5
  • Verbose: set verbose level for the nf2ff calculation 0-2 supported

NF2FF Output

After performing the NF2FF calculations the nf2ff struct will look like:

nf2ff = 

           name: 'nf2ff'
    filenames_E: {'nf2ff_E_xn'  'nf2ff_E_xp'  'nf2ff_E_yn'  'nf2ff_E_yp'  'nf2ff_E_zn'  'nf2ff_E_zp'}
    filenames_H: {'nf2ff_H_xn'  'nf2ff_H_xp'  'nf2ff_H_yn'  'nf2ff_H_yp'  'nf2ff_H_zn'  'nf2ff_H_zp'}
     directions: [6x1 double]
    CoordSystem: 0
            xml: 'Sphere_RCS_small/nf2ff.xml'
           hdf5: 'Sphere_RCS_small/nf2ff.h5'
              r: 1
          theta: [181x1 double]
            phi: [361x1 double]
           freq: [20x1 double]
           Prad: [20x1 double]
           Dmax: [20x1 double]
        E_theta: {1x20 cell}
          E_phi: {1x20 cell}
         E_norm: {1x20 cell}
          P_rad: {1x20 cell}



The field components of the far field: Eθ lies in the plane spanned by the z-axis and (θ,φ); Eφ is orthogonal to that

The content of the individual fields is as follows:

  • name: The name of the NF2FF box used to calculate the far field.
  • filenames_E: (internal) Filenames of all electric field dump boxes for each direction.
  • filenames_H: (internal) Filenames of all magnetic field dump boxes for each direction.
  • directions: (internal) A 6x1 array, showing which directions are enabled/disabled for the NF2FF calculations. The numbers in the array represent [x(-), x(+), y(-), y(+), z(-), z(+)]. Each value can be either 1 (enabled) or 0 (disabled).
  • CoordSystem: (internal) Type of coordinate system for the raw field-data. Can be either a Cartesian (0) or a cylindrical (1) coordinate system.
  • xml: (internal) Path to an xml-file which contains the values of analyzed frequencies and angles as well as the hdf5 file names where the fields are stored.
  • hdf5: (internal) Path to the hdf5-file containing all the nf2ff calculated data
  • r: Radius or distance to the phase center used for the nf2ff calculation (in meter).
  • theta, phi: values of the polar angles of the calculated far field (\varphi, \theta)
  • frequencies: values of the analyzed frequencies
  • Prad: Total radiated power for each frequency (can be used for antenna efficiency calculation).
  • Dmax: max. antenna directivity
  • E_theta: Complex theta component of the electric far-field for each analyzed frequency and angle (E_\varphi(r, \varphi, \theta)).
  • E_phi: Complex phi component of the electric far-field for each analyzed frequency and angle (E_\theta(r, \varphi, \theta)).
  • E_cprh: (openEMS >v0.0.30) Complex amplitude of right-handed circular polarized electric far-field for each analyzed frequency and angle (E_{CPRH}(r, \varphi, \theta)).
  • E_cplh: (openEMS >v0.0.30) Complex amplitude of left-handed circular polarized electric far-field for each analyzed frequency and angle (E_{CPLH}(r, \varphi, \theta)).
  • E_norm: Complex electric field amplitude of the far-field for each analyzed frequency and angle (|E|(r, \varphi, \theta)).
  • P_rad: The energy flux in the far field for each analyzed frequency and angle (P_{rad}(r, \varphi, \theta)).
Retrieved from "index.php/NF2FF"