Technical Question about Altair Feko API Source Code

Argianto Rahartomo
Argianto Rahartomo Altair Community Member
edited October 16 in Community Q&A
Dear Ladies and Gentlemen,
 
I have a technical question regarding the ALtair Feko API source code. 
Currently, I am investigating the output values of Field Strength when running the API of outdoorpropagation_runms. 
The output values are being printed in the result1.txt file, which corresponds to the first antenna I created. 
In the result1.txt, we can observe the Field Strength values in dB uV/m.
 
I am interested in delving deeper into how and where exactly these values are calculated. 
My primary reference points are the outdoor_propagation_runms.h and OutdoorPlugIn.h files. 
In the OutdoorPlugIn.h file, there is a section of code (lines 341-372) that appears to be related to the calculation.
 
/**
 * Computation of wave propagation prediction for a specified scenario and the specified
 * trajectories. All relevant information has to be passed to the function.
 *
 * @param [in]      ParameterAntenna    Configuration of antenna (see \ref WinProp_Antenna).
 * @param [in,out]  ParameterUrban      Configuration of scenario (see \ref WinProp_ParaMain).
 * @param [in]      ParameterModelUrban Configuration of the urban prediction model. This
 *                                      parameter is optional and depends on the selected
 *                                      prediction model:
 *                                      + Urban Dominant Path Model (see \ref Model_DPM).
 *                                      + 3D Intelligent Ray Tracing (see \ref Model_UrbanIRT).
 * @param [in]      ParameterRural      Configuration of rural prediction model. Only relevant if
 *                                      a rural prediction is done (see \ref WinProp_ParaRural).
 * @param          trajectories        The trajectories, an array of size \p nrTrajectories.
 * @param          nrTrajectories      The number of trajectories.
 * @param [in]      Callback            Configuration of callback functions (see
 *                                      WinProp_Callback). This parameter is optional.
 * @param [in,out]  resultTrajectories  Non-null, structure containing the trajectory results.
 *
 * @returns An int.
 */
 
ENGINE_API int OutdoorPlugIn_ComputeTrajectories(
    const WinProp_Antenna* ParameterAntenna,
    WinProp_ParaMain* ParameterUrban,
    const void* ParameterModelUrban,
    const WinProp_ParaRural* ParameterRural,
    const WinProp_Trajectory* trajectories,
    const int nrTrajectories,
    const WinProp_Callback* Callback,
    WinProp_ResultTrajectoryList* resultTrajectories);
 
I assume that the calculation is performed by this function, but I have yet to locate the implementation or formula used for this calculation.
I also suspect that it might be a 'closed' implementation handled by the ENGINE_API.
 
My question is how can I access the implementation and make modifications to it? 
The reason for wanting to make changes is that I have noticed inaccuracies in the Field Strength values for certain technologies like DECT NR+. 
I attempted to apply a formula adjustment: 
For channel bandwidths other than 5 MHz, a factor of 10 × log10 (channel bandwidth / 5 MHz) should be added to the field strength levels.
 
I would greatly appreciate your assistance with this matter. 
Thank you.
Tagged:

Answers

  • Jaehoon
    Jaehoon
    Altair Employee
    edited October 16

    Hello Argianto,

    Unfortunately, the user is not allowed to make a correction in the WinProp API functions which compute the Rx power,  pathloss, or field strength.

    Please take a look at the function in the API user guide to understand the results better. 

    image

    If you want to apply some correction factors, you can do that in a postprocessing step for the computed WinProp results obtained from the given API function (by using ProMan > Edit > Add or Subtract Data) as shown below.

    image

    Best regards,

    Jaehoon