FREKVENS-
PLANERING
FREKVENSPLANERING
Fresnelzonklareringskravet växer med avstånd och minskar med frekvens. Vid 300 MHz och 5 km: Fresnelzonradie vid mittpunkten är 12 meter. Vid 10 km: 17 meter. Vid 20 km: 25 meter. Varje hinder som intränger i denna zon — kullar, trädtoppar, byggnader — dämpat signalen 3–20 dB. Radioplaneraren beräknar denna klarering för varje nod-till-nod-länk automatiskt baserat på terrängdata.
Digital Elevation Model Integration
Lisa 26 laddar Copernicus DEM (30-meters upplösning, fritt tillgänglig från Europeiska rymdorganisationen) för hela operationsområdet. DEM-data ger markhöjd vid varje punkt — radioplaneraren beräknar siktlinje mellan varje nod-par genom att jämföra radiolänkens geometri med terrängprofilen. Hinder som bryter siktlinjen markeras röda på COP:en.
Radioplaneringsberäkningen körs för ett fullständigt brigadnätverk med 84 noder på under 2 sekunder på Lisa 26:s brigadserver. Resultatet: en matris som visar vilka nod-par som har tillförlitlig länk (grön), marginal länk (gul) och bruten länk (röd). Signalofficeren ser omedelbart var täckningsluckor finns och kan rekommenderar reläplacering.
Dynamisk omplanering under operationer
Enheter förflyttar sig. Radioplanen som var giltig vid operationsordern blir ogiltig när bataljonen avancerar 5 km och en kulle blockerar siktlinjen till brigadstaben. Lisa 26 uppdaterar radioplanen kontinuerligt baserat på MANET-heartbeatpositioner — när en nod rör sig omberäknas alla dess länkar automatiskt. Om en kritisk länk bryts varnar systemet signalofficeren.
Signalofficeren ser den elektromagnetiska bilden på samma COP som visar den taktiska situationen. Radiotäckning visas som gröna och röda zoner överlagrade på terrängkartan. Truppförflyttningar som bryter radiolänkar markeras automatiskt — "bataljon Alfa avancerar in i radioskugga vid position PA 3456 — rekommenderar relädeployering vid kulle 442."
Integration med uppdragsplanering
Radiotäckningsanalys matar direkt in i uppdragsplanering. Innan operationsordern utfärdas kontrollerar signalofficeren att alla enheter har MANET-anslutning vid sina planerade positioner. Om en enhet planeras till en position utan radiotäckning flaggas detta innan operationen startar — inte efter att enheten redan förflyttat sig och tappat kontakt.
Try the interactive Link Budget Calculator →
Open the interactive Mission Planner →
Open the interactive Link Budget Calculator →
← Del av Platoon Integration
Radioplanering med terränganalys
Radioplaneringsverktyget i Lisa 26 laddar digitala höjdmodeller (Copernicus DEM, 30-meters upplösning) och beräknar radiopropagerering mellan alla noder baserat på Fresnelzonteori, frirumsförlust och terrängdämpning. Resultatet visualiseras som täckningskartor och länkstatusmatcher som uppdateras i realtid.
Dynamisk radioplanering under operationer
Under aktiva operationer uppdateras radioplaneringen kontinuerligt när enheter förflyttar sig. När en bataljon avancerar 3 km och en kritisk länk till brigadstaben försvagas skickar Lisa 26 automatiskt en rekommendation: "Deployera Fischer 26 som luftburet relä vid PA 2345 för att upprätthålla länk till bataljon Alfa." Fischer 26:s höjd (200 m) ger Fresnelzonklarering som eliminerar terrängblockering.
Implementering
# pip install numpy
# Radio Coverage Planner — Fresnel Zone + LOS Analysis
import numpy as np
import math
def radio_coverage(tx_pos, tx_height_m, rx_positions, freq_mhz,
dem_data=None):
"""Calculate radio coverage from transmitter to multiple receivers."""
results = []
for rx_pos in rx_positions:
distance_km = haversine_km(tx_pos, rx_pos)
# Free space path loss
fspl = 20*math.log10(distance_km) + 20*math.log10(freq_mhz) + 32.44
# Fresnel zone radius at midpoint
wavelength = 300 / freq_mhz
f1_radius = math.sqrt(wavelength * distance_km * 1000 / 4)
# Line of sight (simplified, flat earth + height)
los_clear = tx_height_m > f1_radius * 0.6 # 60% Fresnel clearance
# Link budget
rx_power = 33 + 2 + 2 - fspl # tx_dbm + tx_gain + rx_gain - fspl
margin = rx_power - (-110) - 10 # noise floor - required SNR
results.append({
"position": rx_pos,
"distance_km": distance_km,
"fspl_db": fspl,
"fresnel_radius_m": f1_radius,
"los_clear": los_clear,
"margin_db": margin,
"link_ok": margin > 0 and los_clear
})
return results
def haversine_km(pos1, pos2):
R = 6371
dlat = math.radians(pos2[0] - pos1[0])
dlon = math.radians(pos2[1] - pos1[1])
a = math.sin(dlat/2)**2 + math.cos(math.radians(pos1[0])) * math.cos(math.radians(pos2[0])) * math.sin(dlon/2)**2
return R * 2 * math.asin(math.sqrt(a))
# Fischer 26 at 300 m AGL, checking coverage to 10 ground nodes
tx = (65.8, 17.5) # Norrbotten
nodes = [(65.8 + i*0.05, 17.5 + i*0.02) for i in range(10)]
coverage = radio_coverage(tx, 200, nodes, 300)
for c in coverage:
print(f" {c['distance_km']:.1f}km: margin={c['margin_db']:.0f}dB {'✓' if c['link_ok'] else '❌'}")
Relaterade kapitel
Källor
ArduPilot docs. Silvus Technologies. NATO STANAG 4609 Ed. 4 and 4671. Ukrainian operational experience as documented by Watling & Reynolds, RUSI (2023) and ISW daily assessments. Försvarsmaktens offentliga tekniska publikationer (sök i publikationsarkivet via Försvarsmaktens publikationsregister för specifika dokument och beteckningar).