Clear Filters
Clear Filters

How can I get the signal strength for individual rays when I do the ray tracing?

12 views (last 30 days)
When I call the function "sigstrength", I'm able to get the combined power for all the propagation paths, but how can I retrieve that information for individual propagation paths? It can be found in the site viewer, but I need to store that infomation in the database and I don't know how to get it.
  1 Comment
子婷 张
子婷 张 on 18 Jun 2020
Then, how could we get equation for each ray?
In addition,if tx is located indoors, how to get the path loss. Or, is there a function to find the coordinates of the intersection point of the ray and the building.

Sign in to comment.

Accepted Answer

Jacob Halbrooks
Jacob Halbrooks on 23 May 2020
As of R2020a you can call raytrace with an output argument to programmatically access each ray's geometry and propagation characteristics. Here is an example you can run which shows one of the returned Ray objects:
% Launch Site Viewer with buildings in Chicago
viewer = siteviewer("Buildings","chicago.osm");
% Create transmitter site on a building
tx = txsite("Latitude",41.8800, ...
"Longitude",-87.6295, ...
% Create receiver site near another building
rx = rxsite("Latitude",41.881352, ...
"Longitude",-87.629771, ...
% Visualize propagation paths
raytrace(tx,rx,"NumReflections",[1 2]);
% Return propagation paths
rays = raytrace(tx,rx,"NumReflections",[1 2]);
The Ray object stores the path loss but not the received power. You can get an array of path loss values corresponding to the propagation paths like this:
pl = [rays{1}.PathLoss]
Now you can apply the Friis equation to compute received power along each propagation path. The code below uses antenna gains of 0, which corresponds to the default 'isotropic' antenna used above. As a result the values below match the signal strength values shown in Site Viewer when you click on each path.
fq = tx.TransmitterFrequency;
Ptx_dBm = 10 * log10(1000*tx.TransmitterPower); % Convert W to dBm
Gtx_db = 0; % Transmitter antenna gain
Grx_db = 0; % Receiver antenna gain
Prx_dBm = Ptx_dBm + Gtx_db + Grx_db - pl - tx.SystemLoss - rx.SystemLoss
  1 Comment
Sandhya on 8 Aug 2023
then the output that we get through "sigstrength" is what , its not the mean value of the power received. Please clarify!!

Sign in to comment.

More Answers (0)


Find more on Propagation and Channel Models in Help Center and File Exchange




Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!