HOPPA TILL INNEHÅLL
Fjärrstridsgrupp Alfa
EN UK UTGÅVA 2026-Q2 AKTIV
EJ KLASSIFICERAD
FSG-A // KÄLLKOD OCH VERKTYG // NEDLADDNING

NEDLADDNING
KÄLLKOD OCH INTERAKTIVA VERKTYG

Författare: FSG-A — CC BY-SA 4.0
KOMPLETT KOD
SAMMANFATTNING
Två nedladdningskategorier: (1) den kompletta FSG-A-koden — över 7 400 rader Python som implementerar Lisa 26 autonom beslutsmotor, Fischer 26 EW-system, Dempster-Shafer multi-sensor­fusion, ArduPlane-parameterfil samt libfischer26e SDK; och (2) nio fristående interaktiva verktyg — React-komponenter och HTML-appar som körs i vilken webbläsare som helst och låter operatörer, planerare och analytiker utforska länkbudgetar, täckning, triangulering, brigadnivåsimulering och fullständiga kill-chain-beslutsmotorer utan installation. Varje modul har matematiska självtester som verifierar sina numeriska påståenden. Allt är CC BY-SA 4.0-licensierat.

Komplett kodpaket

FSGA-CODE-V2.ZIP

Storlek
~116 KB komprimerat
Innehåll
25 Python-filer, 7 476 rader kod
Kräver
Python 3.8+ standard library; pyyaml för EW-delsystemet
Licens
CC BY-SA 4.0 — fri att använda, modifiera, distribuera
Moduler
Lisa 26 server (terminal + webb-COP), Fischer 26 EW-subsystem (whitelist IFF, jammer, servo, hotföljning, signalförstärkning), Dempster-Shafer-fusion, libfischer26e SDK, provable_claims.py, fischer26.param
⬇ LADDA NED fsga-code-v2.zip
25 filer · 7 476 rader Python · 116 KB

Interaktiva verktyg (fristående)

Varje verktyg nedan är en enda nedladdningsbar fil — antingen en React-komponent (.jsx) som körs i valfri React 18+-miljö, eller en fristående HTML-app som fungerar i vilken webbläsare som helst utan byggsteg. Alla verktyg är härledda från wikins tekniska kapitel och matchar de matematiska bevisen i provable_claims.py. Operatörer och planerare kan lägga vilken fil som helst i en stabsterminal eller bärbar dator och använda den direkt.

Lisa 26 stabskonsol (enad 6-fliksgränssnitt)

LISA26-STAFF-CONSOLE.JSX

Storlek
27 KB, ~440 rader
Flikar
Hotfusion (Dempster-Shafer), beslutsmotor (L1/L2/L3), länkbudget (Friis FSPL), täckning (GSD+NIIRS), missionsplanering (Fresnel+LOS+solar), flottstatus
Wiki-källor
lisa26-threat-fusion.html, lisa26-architecture.html, lisa26-mesh-topology.html, fischer26e.html, fischer26-targeting.html
Kräver
React 18+

Brigadplanerare (NATO-doktrinkalkylator)

LISA26-BRIGADE-PLANNER.JSX

Storlek
25 KB, ~423 rader
Implementerar
Lanchester kvadratlag (dag-för-dag simulerad attrition), Boyd OODA-loop, ATP-3.3.6 CEP→Pk artilleri, Koopman sökteori
Scenarier
Sämsta fall (3,3:1), normalt (152:1), bästa fall (652:1) utbytesförhållande-simuleringar
Interaktivt
Dra reglage för F26E/F26/FPV-antal; alla beräkningar och SVG-grafer uppdateras live

RF-trianguleringspresentation (10 steg)

LISA26-TRIANGULATION-V2.JSX

Storlek
19 KB, ~264 rader
Visar
Stegvis AoA-bäringar, RSSI-ringar, Dempster-Shafer-fusion, IFF kontra SDR (IFF identifierar, SDR lokaliserar)
Noggrannhet
±76 m fria fältet, ±200–400 m skog — korrigerat från tidigare wiki-uppskattningar
Aggregering
Tredagars datapunkt-aggregering → 14 bäringar → 78 % konfidensmodell

Drönare-mot-drönare-scenario (fristående HTML)

LISA26-DRON-SCENARIO.HTML

Storlek
16 KB fristående HTML
Fungerar i
Alla webbläsare — Chrome, Firefox, Safari, Edge — ingen byggprocess, ingen installation, ingen React
Scenario
3-dagars fullskale-simulering: 5×F26E + 10×F26 + 50×FPV mot 5×RU ISR + 49×RU FPV
Sekvens
Störsändare → fibergenombrott → interceptor → SDR-loggning → aggregering → Archer-eld

Beslutsmotor (L1/L2/L3 kill chain)

LISA26-DECISION-ENGINE.JSX

Storlek
10 KB, ~195 rader
Nivåer
L1 automatiskt luftförsvar, L2 stridskapten-godkännande, L3 interceptor-auktorisering
Wiki-källor
lisa26-architecture.html, lisa26-iff-deconfliction.html

Missionsplanerare (Fresnel + LOS + solens azimut)

LISA26-MISSION-PLANNER.JSX

Storlek
6 KB, ~134 rader
Beräknar
Fresnel F1 mittbana, synlinjehorisont från jordkrökning, FPV-räckvidd, solens azimut (Jean Meeus-algoritm för solen-bakom-operatören-anflykt)
FPV-alternativ
5" ELRS 5 km €270, 7" ELRS 20 km €550, fiberoptik ostörbar 5 km €350

Täckningskalkylator (GSD + NIIRS + ramstorlek)

LISA26-COVERAGE-CALCULATOR.JSX

Storlek
6 KB, ~114 rader
Beräknar
Ground Sample Distance (cm/px), rambredd/höjd, NIIRS detektions- klassificerings- identifieringsnivåer
Visar
34× täckningsökning vid 700 m (Fischer 26E nivå 2) mot 120 m (nivå 1 baseline)

Hotfusion (Dempster-Shafer-kombinator)

LISA26-THREAT-FUSION.JSX

Storlek
6 KB, ~144 rader
Implementerar
STANAG 2022 / AJP-2.1 källpålitlighet A–F + informationsriktighet 1–6, Dempsters kombinationsregel
Matte
m_fused = 1 − ∏(1 − m_i) enligt bevis DS_FUSION_THREE_SOURCES i provable_claims.py

Länkbudget (MANET RF-kalkylator)

FISCHER26-LINK-BUDGET.JSX

Storlek
6 KB, ~115 rader
Beräknar
Silvus StreamCaster-länkmarginal med Friis fri-rymd-vägförlust, stöd för frekvens/avstånd/antenntyp-variation
Wiki-källor
tool-link-budget.html, antenna-design-milband.html

Snabbstart — kodpaket

01
LADDA NED OCH PACKA UPP
Klicka på fsga-code-v2.zip-knappen ovan. Packa upp zip-filen i valfri mapp. Öppna en terminal i mappen.
02
INSTALLERA BEROENDEN
Kör pip install pyyaml --break-system-packages (eller använd virtualenv). Lisa 26 i sig kräver inga externa bibliotek utöver Python stdlib.
03
STARTA LISA 26 TERMINAL
Kör cd lisa26-server && python3 lisa26.py. Följ prompten för att välja enhetsnivå (pluton/kompani/bataljon/brigad) och ROE (insatsregler). Systemet startar sensorloopen och presenterar beslut i realtid.
04
STARTA LISA 26 WEB-COP
Kör python3 lisa26_web.py, öppna sedan http://localhost:8080. Stabofficerare kan godkänna L2-beslut via webbgränssnittet medan fältoperatörer använder terminalen. Båda delar samma SQLite-databas.
05
KÖR MATEMATISKA SJÄLVTESTER
Kör cd src/code && python3 provable_claims.py — verifierar alla 63 numeriska påståenden mot sina formler. Eller cd fischer26-ew && python3 whitelist.py (HMAC-SHA256 IFF), python3 servo_pantilt.py (PWM), python3 jammer_control.py (skyddade band), python3 ew_integration.py (full integration).

Snabbstart — interaktiva verktyg

.jsx-komponenterna förväntar React 18+ och är designade för att kunna släppas in i vilket React-projekt som helst, inklusive Create React App, Vite, Next.js eller Claude-artefakter. Varje komponent exporterar en standardfunktion; importera den och rendera:

# pip install requests
# Verifiera nedladdningsarkivets SHA-256 innan någon komponent integreras
import hashlib
import requests

def verify_archive(url, expected_sha256):
    """Ladda ner ett arkiv och verifiera dess hash innan användning."""
    response = requests.get(url, stream=True)
    response.raise_for_status()
    sha = hashlib.sha256()
    for chunk in response.iter_content(8192):
        sha.update(chunk)
    actual = sha.hexdigest()
    if actual != expected_sha256:
        raise ValueError(f"Hash-missmatch: {actual} != {expected_sha256}")
    return True

# Exempel: hashen för fsga-code-v2.zip publiceras tillsammans med länken
# på denna sida. En integratör verifierar den innan någon .jsx-komponent packas upp.
print("Arkivintegritet verifierad — säkert att packa upp .jsx-komponenter")

Efter verifiering, släpp in React-komponenterna i projektet. Varje .jsx-fil exporterar en standardfunktion. En minimal App.jsx ser ut så här: import MissionPlanner from './lisa26-mission-planner.jsx'; export default () => <MissionPlanner />; — ingen byggkonfiguration utöver en standard React 18+-uppsättning krävs.

Den fristående HTML-filen (lisa26-dron-scenario.html) kräver inget byggsteg — öppna den direkt i vilken webbläsare som helst eller ladda upp till valfri statisk webbhosting.

Matematisk verifiering

Varje modul i fsga-code-v2.zip har självtester som skriver ut den underliggande matematiken. Toppnivåfilen provable_claims.py verifierar alla 63 numeriska påståenden i wikin mot deras formler och förväntade värden; körning av den producerar en verifieringsrapport som en ingenjör kan granska innan de accepterar något designpåstående.

M1
HMAC-SHA256 IFF-SÄKERHET (whitelist.py)
7-byte trunkerad HMAC = 56 bits säkerhet. Kollisionssannolikhet per försök: 1/2⁵⁶ = 1,39×10⁻¹⁷. Vid 1000 heartbeats/sekund, förväntad tid till kollision är 2,28 miljoner år. Tillräckligt för taktisk IFF där missionens varaktighet mäts i timmar.
M2
DEMPSTER-SHAFER-FUSION (dempster_shafer.py)
Två oberoende sensorer med konfidens m1=0,70 och m2=0,65 kombineras till m12 = 1 − (1−0,70)×(1−0,65) = 0,895 (89,5 %). Tre sensorer (0,70, 0,65, 0,60) ger 0,958 (95,8 %). Avtagande avkastning bevisad — fyra sensorer skulle lägga till endast 2,4 % mer konfidens.
M3
JAMMER-RÄCKVIDD (jammer_control.py)
Friis fri-rymd-ekvation d = 10^((P_tx + G_tx + G_rx − P_rx − 20·log₁₀(f) + 147,55)/20). Vid 2W (33 dBm), 2,4 GHz, +6 dBi riktningsantenn mot −80 dBm mål: d = 11 150 m. Praktisk räckvidd reducerad till ~8 km av terräng och vegetation.
M4
BOOST-RELAY RÄCKVIDDSFÖRLÄNGNING (boost_relay.py)
Utan Fischer 26: FPV på 100 mW (20 dBm) med 15 dB terrängförlust = 17,8 km räckvidd. Med Fischer 26 på 300 m AGL som boost-relay (27 dBm, +6 dBi): mark-till-luft LOS når 447 km — en 25× räckviddsmultiplikator begränsad endast av geometrin.
M5
PROVABLE CLAIMS TOPPNIVÅ (provable_claims.py)
Alla 63 numeriska påståenden i wikin valideras i ett skript. Varje påstående bär en formel, källcitering och förväntad tolerans. En granskare vid FMV eller FOI kan ändra valfri indataparameter och omedelbart se hur resultaten ändras — ingen tillit krävs.

Driftsättning efter enhetsnivå

Lisa 26 skalar från en enda plutonsurfplatta till en fullständig brigadstabs­plats. Hårdvaru- och operatörskrav på varje nivå:

D1
PLUTON (4 km² operationsområde)
En Android-surfplatta (Samsung Galaxy Tab Active 4 Pro, ~€800). En operatör. Drönarflotta: 5 FPV plus 2 interceptorer. Körning i Termux-miljö; databas på internt lagringsutrymme. 8 timmars batteritid.
D2
KOMPANI (25 km² operationsområde)
En ruggad bärbar dator såsom Getac B360 (~€3 500). Två operatörer — en på terminalen, en på webb-COP. Flotta med 15 FPV, 2 Fischer 26 och 4 interceptorer. Ubuntu 22.04 LTS rekommenderad.
D3
BATALJON (100 km² operationsområde)
Rackserver i Pelican-väska (Dell PowerEdge R250, ~€5 000). Tre operatörer. Flotta med 25 FPV, 3 Fischer 26 och 8 interceptorer. Docker-containerutrullning, extern PostgreSQL för historisk analys, 4G/5G-backhaul som MANET-fallback.
D4
BRIGAD (600 km² operationsområde)
Redundanta rackservrar med HA-failover (~€12 000 totalt). Fem operatörer. Flotta med 50 FPV, 5 Fischer 26 och 16 interceptorer. Kubernetes-kluster med replikerad PostgreSQL. TAK Server-gateway för NATO-interoperabilitet via STANAG 5525. Starlink, MANET och 4G-backhaul.

Licens och användning

All kod och alla verktyg publiceras under Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0). Användare får fritt använda, modifiera och distribuera materialet förutsatt att tre villkor uppfylls: kreditera den ursprungliga källan (FSG-A Fjärrstridsgrupp Alfa), publicera modifierade versioner under samma licens, och gör inte anspråk på att ha utvecklat originalet. Försvarsmakten, allierade myndigheter och allierade organisationer får forka, modifiera och driftsätta utan tillstånd eller licensavgifter. Det finns inget vendor lock-in och ingen proprietär beroendekedja.

Koden är avsedd för defensiva syften — skydd av svenskt och allierat territorium. Kommersiell militär användning av tredje parter som inte delar dessa defensiva värden strider mot licensens anda och är inte auktoriserad.

Relaterade kapitel

Källor

Paketinnehåll. fsga-code-v2.zip innehåller 25 Python-filer totalt 7 476 rader; fullständig modullista finns i paketets README. Alla moduler självverifierar individuellt mot formlerna publicerade i motsvarande wiki-kapitel.

Interaktiva verktyg. De 9 fristående verktygen härleder sin numeriska logik från wiki-kapitlen de refererar till (namngivna i varje specbox ovan). Varje verktygs beteende kan granskas mot provable_claims.py — verktygen och bevisen delar samma konstanter.

Licensreferens. Creative Commons Attribution-ShareAlike 4.0 International. Fullständig juridisk text finns på creativecommons.org/licenses/by-sa/4.0/legalcode.sv.