![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/282035/image.jpeg)
Longley-Rice propagation values
8 views (last 30 days)
Show older comments
Nicolas
on 3 Apr 2020
Commented: Jacob Halbrooks
on 11 Apr 2020
I am struggling to understand the results obtained with the Longley-Rice model of the Antenna toolbox.
I try to get the signal strength at a receiver from a TV signal. I keep obtaining really low values (often negative) of signal strength (in dBm) even for recepters really close to the emitter. These values are always lower than the FCC Grade B threshold (-45dBm).
Is the result obtained by sigstrength the difference in signal strength compared to the initial strength at the emitter instead of the absolute value of signal strength at the recepter location?
Thanks!
m = propagationModel('longley-rice','TimeVariabilityTolerance', 0.7)
%%%% 1 Define Transmitter Site %%%
fq = 57000000; % 5.7MHz
tx = txsite('Name','MathWorks', ...
'Latitude',61.2189, ...
'Longitude',-149.896, ...
'Antenna',design(dipole,fq), ...
'AntennaHeight',39.6, ... % Units: meters
'TransmitterFrequency',fq, ... % Units: Hz
'TransmitterPower',1500); % Units: Watts, here: 1.5kW
% 2. Define Receiver Sites
% Define receiver sensitivity. Sensitivity is the minimum signal strength in
% power that is necessary for the receiver to accurately detect the signal.
rxSensitivity = -45; % Units: dBm --> corresponds to FCC grade B
rx = rxsite('Name', "test", ...
'Latitude', 61.2188, ... % take really close point as a test
'Longitude', -149.896, ...
'Antenna', design(dipole,tx.TransmitterFrequency), ...
'ReceiverSensitivity', rxSensitivity);
% get signal strength
ss = sigstrength(rx,tx,pm)
0 Comments
Accepted Answer
Jacob Halbrooks
on 5 Apr 2020
The output of sigstrength does correspond to the absolute signal strength received. By default the signal strength "Type" is "power", so this corresponds to total received power in units of dBm.
I ran your code in R2020a and saw signal strength that well exceeds the -45 dBm sensitivity:
>> ss = sigstrength(rx,tx,pm)
ss =
11.7868
In addition, the coverage map shows substantial area of coverage over the -45 dBm sensitivity level.
>> coverage(tx,rx,pm,"SignalStrengths",-45:-5)
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/282035/image.jpeg)
2 Comments
Jacob Halbrooks
on 11 Apr 2020
Hi Nicolas,
Your best bet for extracting contour lines from the coverage data is the geocontourxy function in Mapping Toolbox. If you want to export those contour lines, take a look at kmlwrite.
One caveat is that geocontourxy requires that its X and Y inputs form a mesh, whereas the propagationData output from coverage typically represents scattered data (computed along radials from the transmitter site). There's some work involved for you to create a mesh over your region of interest (e.g. using meshgrid) and interpolating into the propagationData object at those points.
The propagationData object has an interp function that can help here, and the reference page has an example that includes meshing which you might find helpful:
Thanks,
Jacob
More Answers (0)
See Also
Categories
Find more on RF Propagation 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!