Technical Question about Altair Feko API Source Code

Argianto Rahartomo
Argianto Rahartomo Altair Community Member
edited October 2024 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 2024

    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

     

Welcome!

It looks like you're new here. Sign in or register to get started.

Welcome!

It looks like you're new here. Sign in or register to get started.