Web Simulation 

 

 

 

 

RAN Cell Planning Tutorial 

This page is a very simplified RAN planning tool inspired by commercial planning tools such as Atoll. It uses one single-sector cell, a 2 km x 2 km planning map, draggable buildings, and a sample receiver point. The goal is to visualize how cell placement, sector direction, beamforming, distance loss, tuned offsets, clutter, wall penetration, diffraction, and shadowing shape predicted coverage.

The buildings are intentionally not filled rectangles. Each building is made from separate wall segments. Every wall has its own material and thickness, so two walls of the same building can create different losses. This makes the model closer to how indoor and urban planning tools reason about walls: a ray loses power when it crosses a wall, not merely because it enters a filled box.

Mathematical Foundation

The simulator predicts received power at each map point using:

RSRP = TxPower + SectorGain + BeamGain + TunedOffset − PathLoss − Penetration − Clutter − Diffraction − Shadowing

where d is the distance from the cell to the receiver and theta is the azimuth direction from the cell to the receiver. The transmitter is modeled as two directional patterns: a broad sector antenna pattern and an optional narrow beamforming pattern.

The simulator evaluates this equation repeatedly. It evaluates it once for the selected sample point shown by the white marker, and many times across the map to build the heatmap.

Distance Path Loss

This simulator can use either a simplified log-distance model or educational 3GPP-style UMa/UMi path-loss models. The simple model is:

PathLoss = FSPL(1m) + 10 · n · log10(d)

d is distance in meters and n is the path loss exponent. A larger n means the signal decays faster with distance.

The 1-meter free-space reference is approximated by:

FSPL(1m) = 32.4 + 20 · log10(f_GHz)

The 3GPP UMa and UMi options replace the free path exponent with scenario-specific LOS/NLOS formulas that use carrier frequency, 2D/3D distance, base-station height, and UE height. In Auto by walls mode, a ray with no crossed walls uses LOS path loss; a ray crossing at least one wall uses NLOS path loss. Wall penetration loss is still added separately so users can see the explicit impact of building materials.

Per TR 38.901: the LOS breakpoint distance dBP follows the spec precisely — UMa uses effective antenna heights h' = h − hE with hE = 1 m, while UMi uses the raw heights as-is. The resulting dBP is displayed in the readout next to the other geometric quantities.

Wall Penetration Loss

Each wall has a material, a thickness, and an educational frequency exponent:

WallLoss = material_loss_per_meter_at_1GHz · thickness · (f_GHz ^ alpha)

The exponent alpha is not a universal physical constant. It is a simplified fitting factor used here to make the common planning effect visible: penetration loss generally increases as carrier frequency increases.

Material

Base loss (dB/m at 1 GHz)

alpha

Glass

3

0.25

Brick

8

0.45

Concrete

15

0.55

Metal

28

0.70 (approximation; real metal is more reflective)

Example for a 0.25 m concrete wall at 3.5 GHz:

WallLoss = 15 · 0.25 · (3.5 ^ 0.55) = 7.5 dB

For a map point, the simulator draws an imaginary ray from the cell to that point. If the ray crosses a wall segment, that wall's penetration loss is added. This is why the same building can shadow one area while leaving another area less affected.

Propagation Corrections

The correction stack is an educational approximation of common RF-planning layers:

  • TunedOffset represents empirical model tuning from measurements such as drive-test calibration.
  • Clutter adds a flat per-location land-use loss (open, suburban, urban, dense urban) applied at the receiver. It is not modulated by distance from the cell, matching the Atoll-style per-pixel clutter offset convention.
  • Penetration is the deterministic wall-crossing loss from the draggable building segments.
  • Diffraction adds a simple extra edge-shadow loss when the ray is blocked by walls.
  • Shadowing adds a spatially smooth random field with a configurable σ in dB. The underlying multi-octave value-noise is calibrated once at runtime so the slider value matches the actual RMS dB-variation in the heatmap, not just a relative knob. The shadow pattern is tied to the selected preset (not the carrier frequency), so sweeping the frequency slider no longer reshuffles the map.
Avoiding double-counting: the diffraction term is automatically folded into the path loss whenever a 3GPP NLOS model is active. The empirical UMa/UMi NLOS formulas already encapsulate rooftop and edge diffraction, so adding a separate diffraction term would over-attenuate. When this folding is active, the diffraction column in the readout shows folded into 3GPP NLOS.

This is still not full terrain/clutter raster processing or full ray tracing. It is a transparent link-budget approximation that lets each large-scale propagation effect be switched on and off.

Single-Sector Antenna Pattern

The cell is modeled as one broad sector antenna pattern, not as a perfectly flat cone. The sector has a boresight direction where the antenna gain is strongest. As the direction to the receiver moves off boresight, the gain rolls off smoothly as a parabola in dB. Far off boresight, the attenuation is capped to a finite floor.

This follows the standard 3GPP TR 36.942 sectorized antenna model:

thetaError = abs(receiverBearing − sectorDirection)
SectorGain(theta) = −min( 30, 12 · (thetaError / theta3dB)^2 )

The Sector angle slider sets theta3dB, the full 3-dB beamwidth. The formula is constructed so the gain falls exactly 3 dB at the half-beamwidth offset: at thetaError = theta3dB / 2, the loss is 12 · 0.5^2 = 3 dB. Off-boresight loss grows quadratically and is clipped at 30 dB to represent a realistic front-to-back ratio.

Example with sectorDirection = 90 deg and theta3dB = 120 deg:

  • A point at 90 deg is at boresight and gets 0 dB sector penalty.
  • A point at 150 deg is one half-beamwidth off boresight and gets about −3 dB.
  • A point directly behind the cell (270 deg, 180 deg off boresight) gets about −27 dB, clipped toward −30 dB.

Azimuth follows a map convention: 0 deg points upward, 90 deg points right, 180 deg points downward, and 270 deg points left. The blue sector wedge shows the broad sector coverage direction.

Beamforming At High Frequency

At high frequencies, especially with array antennas, the cell can concentrate energy into a narrower beam. The simulator models this as an optional directional gain added on top of the broader sector pattern. The beam uses the same parabolic shape as the sector, with the beamwidth parameter again defined as the full 3-dB beamwidth so the two patterns share one convention.

beamError = abs(receiverBearing − beamDirection)
BeamGain(theta) = BeamMaxGain − min( 30, 12 · (beamError / theta3dB)^2 )

Example with beamDirection = 90 deg, theta3dB = 25 deg, and BeamMaxGain = 18 dB: a receiver at 90 deg (boresight) gets the full +18 dB beam gain. A receiver at 102.5 deg (half the 3-dB beamwidth off boresight) gets about +15 dB (3 dB down from peak). A receiver well outside the beam can lose more than the peak gain, so beamforming becomes a net loss away from the beam center. This is why the beam can create a red high-power streak in one direction while leaving the area outside the beam slightly weaker.

On the map, the broad blue wedge is the sector. The brighter narrow wedge is the beamforming direction. Rotating the beam can move the strongest red coverage region without moving the cell.

The composite cell pattern is the sum (in dB) of the sector element pattern and the beamforming array pattern. This corresponds physically to the "element pattern times array factor" decomposition used in antenna-array theory. It is a simplified 2D model, not a full 3D antenna-array simulation, but it captures the planning effect: narrow beams increase power in one direction, while coverage outside the beam can become weaker.

How The Heatmap Is Built

The heatmap is not drawn from measured data. It is generated by calculating a predicted RSRP at many small grid points across the 2 km x 2 km planning area.

For each heatmap sample point, the simulator performs the same calculation:

  • d = distance(cell, sample_point)
  • bearing = direction from cell to sample_point
  • SectorGain = sector gain from bearing, azimuth, and beamwidth
  • BeamGain = optional beamforming gain from beam direction and beamwidth
  • PathLoss = selected simple, 3GPP UMa, or 3GPP UMi model
  • Penetration = sum of all crossed wall losses when enabled
  • Clutter, diffraction, shadowing, and tuned offset = selected correction terms
  • RSRP is assembled from all the above using the main equation at the top

Then the RSRP value is converted to color using a continuous gradient. Blue means weak predicted power. Red means strong predicted power. The color is interpolated, so the map changes smoothly rather than jumping between a few fixed colors.

The current heatmap resolution is about one prediction sample every 4 canvas pixels, then the prediction grid is smoothly interpolated for display. With a 2 km x 2 km map, this corresponds to roughly tens of meters per prediction sample while keeping the page interactive during dragging.

Whenever you change transmit power, frequency, path model, LOS mode, antenna heights, path exponent, correction terms, sector direction, beam parameters, wall material, wall thickness, cell position, sample position, or building position, the same grid calculation is repeated and the heatmap is redrawn.

Power Profile Plot

The thin plot below the map shows received power along the straight line passing through the cell and the sample point. Its x-axis is fixed from −500 m to 2000 m relative to the cell:

  • x = 0 m is the cell position.
  • x > 0 goes from the cell toward the sample point and beyond it.
  • x < 0 goes behind the cell in the opposite direction.

The white vertical marker shows the current sample point distance. Dashed vertical markers indicate wall crossings along the cell-to-sample line. Sudden drops in the profile usually come from wall penetration loss, while gradual decay comes from distance path loss and antenna pattern loss.

This plot is helpful because the heatmap shows a 2D overview, while the profile shows the exact 1D link budget trend along the selected ray. If the sample point is weak, the profile helps identify whether the main reason is distance, off-beam placement, or wall crossings.

Important Simplifications

This is not a full RF planning engine. It does not model terrain rasters, calibrated city databases, multi-sector handover, traffic, or interference. It focuses on one mechanism: coverage changes when distance loss, antenna direction, beamforming gain, tuned correction, clutter, wall penetration, diffraction, and shadowing accumulate along the line from the cell to the receiver.

Simulation

The interactive simulator is below. Use the controls to explore the concepts described above.

43 dBm
3500 MHz
3.1
10 m
1.5 m
0 dB
6 dB
90 deg
120 deg
90 deg
25 deg
18 dB

Planning map: 2 km x 2 km, drag cell/buildings/sample point

weak strong

Power profile along cell-to-sample line

Wall inventory

Wall

Material

Thickness

Loss

Sample point calculation

 

Usage Instructions

  1. Move objects: Drag the cell, sample point, or a building. The sample RSRP readout updates while dragging. Click also moves the sample point, and double-click also moves the cell site.
  2. Read the sector: The broad blue wedge is the sector. Change Sector dir and Sector angle to rotate or widen the sector.
  3. Use beamforming: Enable beamforming to add a narrower high-gain beam inside the sector. Adjust beam direction, beam angle, and beam gain to see how the strongest coverage region moves.
  4. Read coverage colors: Red means strong predicted received power. Blue means weak predicted received power. Yellow/orange/cyan are intermediate values on the continuous gradient.
  5. Edit buildings: Drag a building footprint to move all of its wall segments together. The building is still made of individual walls, not a filled rectangle.
  6. Edit walls: Use the Wall inventory table. Change each wall's material with the dropdown and thickness with the slider. Loss is recalculated automatically from material loss per meter, thickness, and current carrier frequency.
  7. Use propagation corrections: Adjust clutter, tuned offset, penetration, diffraction, and shadowing to see how large-scale prediction layers change the map.
  8. Use the sample readout: The right panel shows the link budget for the selected sample point, including antenna gain, path loss, propagation corrections, wall loss, and final RSRP.
  9. Use the power profile: The plot below the map shows RSRP along the line through the cell and sample point. It is useful for spotting wall-loss drops and off-beam regions.
  10. Show ray: Enable this to see the straight line from the cell to the sample point. If that ray crosses walls, the readout lists the crossed walls and their losses.

What To Notice

The building footprint is not treated as one filled attenuation block. Only wall crossings add loss. This makes it possible to compare a glass wall, a brick wall, and a concrete wall on different sides of the same building.

Higher frequency increases both the 1-meter free-space reference loss and the wall penetration loss. A higher path loss exponent makes coverage shrink more quickly with distance.

Moving the cell can improve one street while worsening another because the wall-crossing geometry changes.

Rotating the sector changes coverage even if the cell position does not move, because the antenna gain depends on direction.

Beamforming creates a narrower region of high power. This is why high-frequency systems often depend on beam direction and beam tracking, not only on site location.

Dragging a building can create or remove wall crossings along the sample ray, so the sample RSRP can change abruptly.

A strong red area can come from three different reasons: short distance, being inside the sector/beam, or avoiding wall crossings. A weak blue area can come from long distance, off-beam direction, wall loss, or a combination of all three.

Parameters

  • Tx power: Cell transmit power in dBm.
  • Frequency: Carrier frequency used by the path-loss model and wall penetration frequency factor. The current slider covers 400 MHz to 40000 MHz so mmWave examples such as 28 GHz and 39 GHz can be explored. Actual deployable bands depend on country and operator spectrum licenses.
  • Path model: Selects simple log-distance, 3GPP UMa, or 3GPP UMi street-canyon path loss.
  • LOS mode: Selects LOS, NLOS, or automatic LOS/NLOS based on whether the cell-to-point ray crosses walls.
  • Path exponent: Controls how quickly power decays with distance in the simple model. It is disabled when a 3GPP model is selected.
  • BS height / UE height: Antenna heights used by the 3GPP UMa/UMi path-loss models. They are disabled in the simple model.
  • Clutter: Adds a simple land-use correction for open, suburban, urban, or dense urban environments.
  • Tuned offset: Adds or subtracts a constant dB correction, representing empirical calibration against measurements.
  • Penetration: Enables or disables wall-crossing loss from the building segments.
  • Diffraction: Enables or disables a simplified blocked-ray edge loss approximation.
  • Shadowing: Enables or disables stable spatial shadow fading. Shadow sigma controls the variation strength in dB.
  • Sector direction: Azimuth of the single cell sector in degrees. 0 degrees points upward on the map, 90 degrees points right.
  • Sector angle: Beamwidth of the single sector.
  • Beamforming: Turns the additional narrow beam gain on or off.
  • Beam direction: Azimuth of the narrow beamforming lobe.
  • Beam angle: Beamforming lobe width. Smaller values make the red high-power region narrower.
  • Beam gain: Maximum gain added near the beam center.
  • Material: Wall material. Each material has a simplified dB-per-meter loss at 1 GHz plus an educational frequency exponent.
  • Thickness: Wall thickness in meters. Thicker walls add more penetration loss, and the current frequency scales that loss further.
  • Sample point: The white marker used for the detailed link-budget readout and the power-profile marker.