How does the coverage function work?

4 visualizaciones (últimos 30 días)
Ivan
Ivan el 19 de Jun. de 2025
Comentada: Ivan el 7 de Jul. de 2025
Hi everyone,
I don't understand how the coverage function works.
I'm trying to simulate radar coverage using siteviewer and the coverage function.
My goal is to generate a coverage map showing signal strength values at specific flight levels (e.g., 500 ft, 1000 ft, 2000 ft, etc., above sea level).
For now, I’m just trying to obtain 360° coverage using an isotropic antenna, which I plan to later replace with a secondary radar antenna pattern.
I’ve defined both Tx and Rx sites abd than apply coverage function in the siteviewer.
Here is the code I’m using:
% Tx definition
tx_names = "Radar position";
tx_lats = 50.07093;
tx_lons = 15.81616;
tx_ant_h = 18;
tx_site = txsite('Name',tx_names, ...
'Latitude',tx_lats, ...
'Longitude',tx_lons, ...
'AntennaHeight',tx_ant_h, ...
'TransmitterPower',25, ...
'TransmitterFrequency',1030e6);
% Rx definition
rx_test_site = rxsite('Name',"Rx test site ", ...
'Latitude',tx_lats, ...
'Longitude',tx_lons);
site_name = "Flight Level Test";
siteviewer('Name',site_name, ...
'Terrain','gmted2010', ...
'Basemap','satellite')
coverage(tx_site,'MaxRange',100e3, ...
'ReceiverAntennaHeight',1000*0.3048, ...
'PropagationModel','longley-rice', ...
'SignalStrengths',-80:10:-20)
What I’d like to know is:
Is it possible to simulate radar coverage at different flight levels (i.e., at different altitudes above mean sea level) by altering the „ReceiverAntennaHeight“ parameter in the coverage function?
Or…
Does the coverage function create an internal grid of receivers placed at ground level and then apply the given ReceiverAntennaHeight relative to local terrain elevation?
If the latter is true, then just setting ReceiverAntennaHeight wouldn't simulate coverage at a constant MSL-based flight level, since terrain elevation varies across the map.
Any suggestions or clarification would be much appreciated!

Respuestas (1)

Ruchika Parag
Ruchika Parag el 2 de Jul. de 2025
Hi @Ivan, the ReceiverAntennaHeight parameter in the coverage function is relative to the local terrain elevation, not absolute altitude above mean sea level (MSL). When you specify a value like ReceiverAntennaHeight = 1000 * 0.3048, MATLAB interprets this as 1000 ft above the ground at each evaluation point—not 1000 ft MSL.
Because of this, using ReceiverAntennaHeight will not give you coverage results at a constant flight level. Terrain elevation varies across the map, so the effective height of the receiver will also vary accordingly. This makes the results unsuitable for evaluating radar coverage at a specific MSL altitude.
The coverage function doesn’t offer a built-in option to fix receiver altitude to a constant MSL level across the region of interest. If you need that, the correct approach is to manually construct a grid of receiver sites (rxsite) with fixed latitude, longitude, and constant Altitude values. You can then compute the signal strength using the sigstrength function, which allows more precise control over receiver placement.
In short: ReceiverAntennaHeight won’t produce what you’re aiming for. You’ll need to build the receiver grid explicitly and avoid using coverage if MSL alignment is important.
  1 comentario
Ivan
Ivan el 7 de Jul. de 2025
Thank you for your detailed explanation. Unfortunately, it confirms what I suspected about the behavior of the coverage function.
I’ve already experimented with manually creating a grid of receivers and using sigstrength to evaluate coverage at a constant MSL altitude. While this approach works in principle, it becomes painfully slow over larger areas—likely because MATLAB runs the calculations in a single thread by default.
To address this, I tried using a parfor loop from the Parallel Computing Toolbox, which did speed things up considerably. However, I’m noticing that the results differ from those obtained using a regular for loop, and I’m not sure why that’s happening.
If you have any insights into what might be causing the discrepancy or best practices for parallelizing sigstrength computations reliably, I’d really appreciate your input.

Iniciar sesión para comentar.

Categorías

Más información sobre Radar and EW Systems en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by