SKIP TO CONTENT
Fjärrstridsgrupp Alfa
SV UK EDITION 2026-Q2 ACTIVE
UNCLASSIFIED
FSG-A // INTERACTIVE TOOLS

Lisa 26 Mission Planner

Interactive mission planner with terrain visualization, Fresnel zone analysis, NATO MGRS grid, FPV drone selection, Fischer 26 EW coverage, and solar attack vector calculation for GPS-denied operations.

▶ INTERACTIVE TOOL LISA 26
Author: Tiny

Interactive: Mission Planner

Lisa 26 — Mission Planner (GPS-Denied)

Full mission planner with terrain, Fresnel zones, and strike planning is available as a standalone React application. The inline version below provides quick Fresnel zone clearance calculation.

F26 Altitude (m ASL)
Distance to Target (km)
Mast Height (m)
FPV Drone
Solar Azimuth (auto-calculated)
Calculating...
⬇ Download Lisa 26 Mission Planner (React)
.jsx — React component — 30KB

GPS-Denied Mission Planning for Drone Operations

The Lisa 26 Mission Planner solves the fundamental problem of drone operations in electronically contested environments: how to plan and execute strike missions when GPS is unavailable, when enemy electronic warfare systems deny radio communications, and when the terrain between the ground control station and the target area blocks line-of-sight radio links. Every modern military drone system assumes GPS availability. The Lisa 26 Mission Planner assumes GPS is denied and plans accordingly.

The Lisa 26 mission planner calculates whether the Fischer 26 relay drone maintains a clear radio link between the ground control station and the FPV strike drone operating area. This calculation uses the first Fresnel zone formula: F1 = √(λ × d1 × d2 / D), where λ is the wavelength at 868 MHz (0.3454 meters), d1 and d2 are the distances from each end to the point being checked, and D is the total link distance. For reliable communication, 60 percent of the first Fresnel zone must be clear of terrain obstructions. The planner checks this clearance at every point along the link path and marks zones as blue (link OK) or red (link blocked).

Solar Attack Vector Calculation

The mission planner calculates the current solar azimuth using the Jean Meeus astronomical algorithm and recommends an FPV approach heading that places the sun behind the attacking drone. When the FPV drone approaches from the solar azimuth direction (±15°), the target operator or observer looks directly into the sun when trying to visually acquire the incoming drone. This reduces visual detection probability by an estimated 40-60 percent compared to approaches from other directions. The tactic is most effective when solar elevation is between 10° and 40° — high enough to blind but low enough to be in the observer's field of view.

FPV Platform Selection and Strike Cost Analysis

The mission planner includes five FPV drone platforms with combat-verified specifications from the Ukrainian front line. The FPV 5-inch strike drone has a range of 10-15 kilometers and costs approximately 400 euros — the most cost-effective option for targets within 12 kilometers. The FPV 7-inch long range extends to 15-20 kilometers at 550 euros. The FPV 13-inch heavy frame reaches 20-30 kilometers and can carry heavier shaped-charge warheads. The fiber optic FPV operates at 20-41 kilometers with complete immunity to electronic warfare jamming — the cable physically connects the drone to the operator, making radio jamming irrelevant. The Baba Yaga Vampire heavy bomber operates at 20-60 kilometers, carries 15-30 kilograms of ordnance, costs $20,000-50,000, and is reusable — it drops bombs and returns for rearming.

Fischer 26 Electronic Warfare Coverage

The mission planner visualizes three concentric electronic warfare zones around the Fischer 26 platform. The FSG-J2 omnidirectional jammer creates an 800-meter radius protection bubble at 35 watts across 140-600 MHz, disrupting enemy FPV drone control links in all directions simultaneously. The FSG-J1 directed beam concentrates 100 watts into a 60-degree cone extending 2.5 kilometers, providing focused jamming against specific threats — the operator controls the beam azimuth to point toward the expected threat direction. The interceptor envelope at 1.2 kilometers represents the L3 autonomous engagement zone where the Fischer 26 can launch an interceptor drone against inbound hostile drones without human approval, because the 4-8 second human decision cycle exceeds the available reaction time.

NATO MGRS Coordinate System Integration

All positions in the Lisa 26 mission planner display in Military Grid Reference System (MGRS) format, the NATO standard for ground coordinates. The Vidsel/Norrbotten operating area falls in UTM Zone 34V. The planner converts between three coordinate systems: MGRS for NATO interoperability, SWEREF99 TM for the Swedish national grid (EPSG:3006), and RT90 2.5 gon V for legacy compatibility with older Swedish military officers trained on the pre-2007 coordinate system. All three systems display simultaneously so any operator can read coordinates in their preferred format without conversion errors.

Terrain Elevation from Copernicus DEM

The standalone React version of the Lisa 26 planner fetches real terrain elevation data from the European Space Agency Copernicus EU-DEM at 25-meter resolution via the Open Topo Data API. This provides actual terrain contours for the Vidsel training area with 20-meter contour intervals and 100-meter index contours displayed in NATO-standard brown coloring. The terrain data enables accurate Fresnel zone clearance calculation — procedural terrain approximations can miss critical ridgelines that block radio links in practice.

Implementation

# Fresnel Zone Clearance Check — 868 MHz ELRS
# pip install numpy
import math

def fresnel_clearance(alt_gcs, alt_f26, dist_km, terrain_elev, freq_mhz=868):
    """Check if Fresnel zone is clear at midpoint."""
    wavelength = 299792458 / (freq_mhz * 1e6)  # 0.3454m at 868 MHz
    d1 = dist_km * 500  # midpoint in meters
    d2 = dist_km * 500
    f1 = math.sqrt(wavelength * d1 * d2 / (dist_km * 1000))
    los_mid = alt_gcs + (alt_f26 - alt_gcs) * 0.5
    clearance = los_mid - terrain_elev - f1 * 0.6
    return {"f1_radius": round(f1, 1), "clearance": round(clearance, 1),
            "link_ok": clearance > 0, "los_mid": round(los_mid, 1)}

# GCS at 195m (185m terrain + 10m mast), F26 at 300m, 6km away
result = fresnel_clearance(195, 300, 6, 220)
print(f"F1 radius: {result['f1_radius']}m")
print(f"Clearance: {result['clearance']}m")
print(f"Link: {'OK' if result['link_ok'] else 'BLOCKED'}")

Sources

Related Chapters