Longley-Rice propagation values

조회 수: 18 (최근 30일)
Nicolas
Nicolas 2020년 4월 3일
댓글: Jacob Halbrooks 2020년 4월 11일
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)

채택된 답변

Jacob Halbrooks
Jacob Halbrooks 2020년 4월 5일
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)
  댓글 수: 2
Nicolas
Nicolas 2020년 4월 9일
Hi Jacob !
Thanks a lot for your reply.
I would like to create a map of all the coverage areas in the US. However, the coverage function does not allow to draw coverage areas for stations that are more than 500km from each other.
Do you know how to export each coverage map as a shapefile or a simplified file containing polygon informations. I have only been able to export using the function described below but it creates a file with 40 000 observations wich is a bit heavy to treat.
Do you have other suggestions?
Thanks
data = readtable("NE_1998.csv");
lats = data.lat_antenna;
lons = data.lon_antenna;
haat=transpose(data.haat);
freq = transpose(data.freq*10^6)
power=transpose(data.min_power)
pm = propagationModel('longley-rice','TimeVariabilityTolerance', 0.7);
txs = txsite('Latitude',lats,...
'Longitude',lons, ...
'AntennaHeight', haat, ...
'TransmitterFrequency',freq, ...
'TransmitterPower', power );
export=coverage(tx,pm,"SignalStrengths",-45:-5);
writetable(export.Data,map.csv );
Jacob Halbrooks
Jacob Halbrooks 2020년 4월 11일
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

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 RF Propagation에 대해 자세히 알아보기

제품


릴리스

R2019a

Community Treasure Hunt

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

Start Hunting!

Translated by