Technical Question about Altair Feko API Source Code
Argianto Rahartomo
Altair Community Member
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.
0
Answers
-
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.
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.
Best regards,
Jaehoon
0