EDAM - The Effective Directivity Antenna Model

EDAM is a model for the way environmental effects alter the effective gain of a directional antenna. It is well understood that the environment effects radio propagation, and a great variety of path loss and fading models attempt to capture these effects. What is less appreciated is that these effects interact with the directional effects of antennas (e.g. by attenuating lobes or creating good non-straight-line paths) so that considering antenna gain and propagation loss as orthogonal components of signal loss leads to incorrect results.

Rather than attempting to model every propagation path and antenna lobe in a specific environment, EDAM provides a randomized model which tends to produce directional effects similar in kind and quantity to those measured in actual environments. EDAM is parameterized by a small number of constants which characterize a type of environment: We provide fitted ranges of values for open outdoor, urban outdoor, line-of-sight indoor, and non-line-of-sight indoor environments, but you can measure and supply constants which more accurately describe your environment if you so choose.

Understanding Directionality Error

We distinguish between two concepts here: By directional gain, we mean the effect of the antenna itself on signal strength (or reception) as a function of the direction relative to the antenna. By effective directivity, we mean the variation in signal strength (or reception) as a function of the direction relative to the antenna between two specific points in a real environment. The difference is that effective directivity includes, in addition to the antenna itself, all aspects of the environment which cause the path loss to vary as a function of the antenna's orientation. In a world where antenna effects and propagation loss were orthogonal issues (and this is the world assumed in most simulators and analysis) effective directivity and directional gain would be identical.

The picture at right shows the effective directivity of a patch panel antenna measured in several environments along with an estimate of the true gain, labeled "Reference." The difference between the measured values and the reference line is the error in the traditional orthogonal model. EDAM generates stochastic models of this error which are statistically similar to what is actually observed.

How EDAM works

EDAM process schematic

The basic principles of EDAM are quite simple. We find that the error, or offset between the gain and the effective directivity are generally consistent between adjacent angles and are strongly correlated with both the type of environment and gain of the antenna. The offset is estimated by dividing the azimuth into contiguous partitions, each of which is modeled by a random variable where the distribution is determined by the environment and the antenna model. The number of partitions, as well as the parameters of the distributions, are empirically fitted.

The EDAM algorithms (illustrated somewhat ambiguously at right) are roughly as follows:

At the beginning of each random trial (Algorithm a):

Produce a partition of the azimuth at every node.

For each node, for each partition, do:

Compute a random offset drawing from the appropriate distribution

For each signal (Algorithm b):

Estimate effective directivity (at both the sender and receiver) as the directional gain less the direction-specific offset.

Use effective directivity estimate rather than simple gain, in addition to appropriate fading and path-loss models, to estimate the received signal strength.

As with any stochastic simulation, multiple repeated trials are necessary!

Implementations

There are currently two implementations of EDAM: The first is as a patch for the QualNet simulator, version 4.5.1. This is a cleaned-up version of the code used in "The Impact of Directional Antenna Models on Simulation Accuracy" below. It has consequently been somewhat tested, but the algorithmic logic is entangled with QualNet's processing. The second is a pure Ruby implementation, which is less heavily tested but much clearer.

Ruby script: EDAM_in_Ruby. Note that this implementation is intended for computing a single signal strength estimate, so the notion of maintaining offset estimates between samples in the course of a simulation is lost.