This simple example of a Propagation Model Plugin applies Free Space propagation loss with its default distance factor of 2, in case the antenna heights of TX and RX are greater than the limit given by the input annotation 'Height of antenna', otherwise it applies the factor given by the input annotation 'Distance coefficient'. If 'variation' is selected it uses the standard deviation given by the input annotation 'Standard deviation'.
It aims to show:
- the basic structure of a propagation plugin which is creating its own Input interface
- how to set up basic consistency checks
- how to define input annotations including tool tip information
Note that for simplicity Runtime Exceptions have not been included
The structure details are:
- calculation of the resulting path loss
- consistency check
- the validity of the input parameter 'Distance coefficient';
- whether the value of the input parameter 'antenna height' conflicts with the antenna heights set on the system if the PMP is used for the system link or
- description
- unique name of the plugin – must not be empty;
- optional but recommended description of the plugin characteristics;
- Input annotations
note that the value of 'variations' is either selecting or deselecting the variations by default.
Figure 503: PMP example source code
You may notice that for the generation of the random Gaussian distribution value of the standard deviation the built-in Factory.distributionFactory() has been used.
Figure 504: PMP example configuration panel
Figure 505: PMP example consistency check warnings