1.1 Propagation Model Plugin (PMP)
The propagation model is essential because it is involved in every link. Instead of providing implementations of this it is exposed as a plugin. With a PMP you have the flexibility to define what input fields is needed. In the computation you have access to the user field values and you can access the link settings. Given these inputs your PMP then has to compute the propagation loss and return that.
The interface PropagationModelPlugin provides the information about the link components it is assigned to, i.e. either the system link, the interference link or the sensing link, respectively. This information contains e.g. antenna heights, actual antenna gain, actual frequency, distance between the components, local environment etc. (on the below figure referenced as LinkResult). It will be built into a Java archive (.jar file) and can subsequently be installed in a running SEAMCAT.
The structure of the PMP is similar to other types of plugins. It is composed of the following:
- evaluate(): the core body of the PMP with the mathematical formulation of its physical behavior;
- consistencyCheck(): the check of consistency / validity of the input parameters ;
- description(): the unique name of the PMP and an optional description (but highly recommended in order to show the user its characteristics and its scope of application);
- Input: the input parameters of the PMP (see section 14.3.1).
Figure 330: basic structure of the PMP
The referenced parameters are detailed as follow (only different to the EPP, see section 14.7.2):
- LinkResult
all information about the link condition that the PMP is assigned to - Boolean b flag whether variations have to be considered by the model
An example of a PMP (simple Dual-Slop model, similar to IEEE 802.11 Model C) is presented below. Note that the consistency check is separately shown in section 14.3.2. The input parameter are presented in Figure 331 and the algorithm is presented in Figure 332. The panel of the simple Dual-Slop model in SEAMCAT is shown in Figure 333.
Figure 331: Description and input interface (The parameter variations can be pre-set by the PMP)
Figure 332: Algorithm implementation in the method evaluate() (the yellow marked condition lets the PMP stop calculations in case true, due to not consistent with the scope of application)
Figure 333: PMP configuration panel