HOPPA TILL INNEHÅLL
Fjärrstridsgrupp Alfa
EN UK UTGÅVA 2026-Q2 AKTIV
EJ KLASSIFICERAD
FSG-A // KLUSTER 3 — TELEKRIG // 3.1

FHSS
IMPLEMENTERING

Författare: Tiny — TCCC CLS, FPV/UAV Certified
KOMPLETT EW 10 MIN LÄSNING
SAMMANFATTNING
Fienden försöker blockera din radiosignal genom att skicka brus på din frekvens. FHSS (Frequency Hopping Spread Spectrum) besegrar detta genom att hoppa mellan kanaler snabbare än störaren kan följa. ELRS hoppar 150 gånger per sekund tvärs 80 kanaler i 300 MHz militärbandet. Silvus StreamCaster adderar adaptiv kanalundvikande: hoppar enbart genom ostörda kanaler.

This page explains how FHSS protects drone communication links against enemy electronic warfare jamming, and how ELRS implements it at 300 MHz (mil-band) for European operations.

Problemet — fienden stör din radio

Din FPV-drönare kommunicerar med markstationen på en radiofrekvens — 300 MHz militärband i FSG-A-systemet. Om fienden vet vilken frekvens du använder kan de rikta en störsändare mot just den frekvensen och överrösta din signal med brus. Resultatet: du tappar kontroll och drönaren kraschar eller initierar failsafe. Hela den elektroniska krigföringen handlar om att kontrollera detta förhållande mellan signal och brus.

Om din radio stannar på en fast frekvens behöver fienden bara en störsändare på den frekvensen. De lyssnar, hittar din frekvens (tar 0,1–5 sekunder med en SDR), riktar störsändaren och din länk dör. En fast frekvens mot en modern EK-kapabel motståndare har en överlevnadstid på sekunder, inte minuter.

Lösningen — hoppa mellan kanaler

Istället för att stanna på en frekvens hoppar FHSS snabbt mellan många olika kanaler. Vid 150 hopp per sekund: radion stannar på varje kanal i 6,7 millisekunder innan den hoppar vidare. Fiendens störsändare hinner knappt detektera kanalen innan du redan lämnat den. Resultatet: även om störsändaren träffar enskilda kanaler missar den majoriteten av hoppen.

Hoppmönstret ser slumpmässigt ut men bestäms faktiskt av en delad hemlighet (seed-nyckel) som bara sändare och mottagare känner till. Båda beräknar exakt samma kanalsekvens från seed-nyckeln — de hoppar synkroniserat utan att behöva kommunicera hoppsekvensen över radio. En fiende utan seed-nyckeln kan inte förutsäga nästa kanal.

ELRS vid 300 MHz militärband använder ungefär 80 kanaler utspridda tvärs det tilldelade militära frekvensbandet. Vid 150 hopp per sekund besöks varje kanal ungefär 2 gånger per sekund. Störaren måste blockera alla 80 kanaler simultant (bredbandsstörning) för att vara 100 procent effektiv — detta kräver 80× mer sändareffekt än punktstörning av en enda kanal.

Hur ELRS implementerar FHSS

MANET 300 MHz (mil-band) FHSS PARAMETERS

Band
863-870 MHz ISM (EU legal, no license required)
Channels
~80 hop channels across 7 MHz bandwidth
Hop rate
Equal to packet rate: 50-500 Hz (new channel every packet)
Hop sequence
Pseudo-random, seeded by binding phrase (shared secret)
TX power
1W (30 dBm) with RadioMaster Bandit module — €55
Range (LOS)
30+ km at 50 Hz, 10+ km at 150 Hz, 5+ km at 500 Hz
Modulation
LoRa spread spectrum (additional spreading on top of FHSS)

ELRS kombinerar faktiskt TVÅ störskyddstekniker. FHSS (kanalhoppning) gör det svårt att hitta signalen. LoRa-modulering (spread spectrum) gräver ner signalen under brusgolvet — mottagaren extraherar data ur brus med kodningsmarginal. Tillsammans: fienden måste först hitta kanalen (svårt vid 150 hopp/s) OCH sedan leverera tillräckligt med brus för att övervinna LoRa:s kodningsmarginal (ytterligare 10–15 dB).

Avvägningar: hastighet mot räckvidd mot störresistens

Högre hoppfrekvens = svårare att störa men kortare räckvidd. Vid 500 Hz byter du kanal var 2:a millisekund — störaren har ingen chans. Men varje hopp bär minimal data (2 ms × 19 kbps = 38 bit) och overhead per hopp reducerar nettodatagenomströmningen. Vid 50 Hz: varje hopp bär 380 bit — 10× mer data, men störaren har 20 ms att reagera.

För militära FPV-operationer i störmiljö rekommenderas 150 Hz som kompromiss: tillräckligt snabb för att besegra alla kända taktiska störsändare (omställningstid 1–5 ms — för långsam vid 6,7 ms per hopp), och tillräckligt långsam för att upprätthålla 10+ km räckvidd med acceptabel datagenomströmning för telemetri och lågupplöst video.

Vad FHSS inte kan skydda mot

LIMITATIONS
FHSS skyddar INTE mot bredbandsstörning — där fienden stör HELA frekvensbandet simultant. Mot det behöver du riktantenner (fokusera signal bort från störaren), ökad sändareffekt (överrösta bruset), eller fiberoptisk reservlänk (immun mot all radiostörning). FHSS är lager 1 av 5 i Lisa 26:s störskyddsarkitektur — den besegrar den vanligaste hotnivån men inte den allvarligaste.

Matematisk härledning — varför FHSS besegrar smalbandsjamming

Den fullständiga fyrstegs-härledningen av varför FHSS fungerar publiceras på den engelska versionen. Matematiken är standard sannolikhetslära (Proakis & Salehi, Digital Communications, McGraw-Hill 2008, kap. 12) specialiserad till ELRS och Silvus kanalantal. Sidans bidrag: att visa de konkreta paketförlust­konsekvenserna och power-ratio som krävs för barrage-jamming.

Kortfattat: (1) Sannolikhet att en smalbandsstörare blockerar en hopp = J/N där J är antal störda kanaler, N totalt. (2) K konsekutivt blockerade hopp har sannolikhet (J/N)^K. (3) Med M störare på olika frekvenser: P_blocked = M·J/N (linjär skalning). (4) Barrage-jamming kräver N× mer effekt än smalband för att matcha PSD per kanal.

Bearbetat exempel 1 — ELRS saturerat av 10 smalbandsstörare

Ryska taktiska störare (Lesochek-klass) täcker typiskt 1 MHz vardera. 10 störare × 1 MHz = 10 MHz blockerad bandbredd. ELRS arbetar i 7 MHz ISM-band (863–870 MHz). 10 MHz > 7 MHz → FULL SATURATION. Operativ slutsats: ELRS är OLÄMPLIGT för bestridd RF-miljö och måste ersättas med fiberoptisk FPV (immun mot RF) eller migrera till militärt band. Verifierat i provable_claims.py under FHSS_ELRS_SATURATED_10JAMMERS.

Bearbetat exempel 2 — Silvus MANET överlever 100 taktiska störare

100 smalbandsstörare × 40 kanaler vardera = 4 000 blockerade av 4 600. Återstående: 600 kanaler = 13 % tillgänglighet. Per hopp-överlevnad 13 %, 3-pakets-fönster-förlust (0,87)³ = 66 %. Länken degraderas till ~1 Mbps (från 34 Mbps) men förblir funktionell — graciös degradering vs katastrofal failfas. Verifierat i FHSS_SILVUS_100JAMMERS_SURVIVAL.

Varför denna härledning är operativt viktig

Fyra operativa beslut beror på att FHSS-matematiken är korrekt. Bandval för taktiskt vs strategiskt bruk: ELRS 7 MHz-bandet är saturerat av 10 störare — en realistisk rysk taktisk utplacering. Slutsats: ELRS är OLÄMPLIGT för bestridda RF-miljöer. FSG-A måste antingen använda fiberoptisk FPV eller migrera till militära band. Silvus MANET-motivering: 100 störare ger bara 13 % kanaltillgänglighet — graciös degradering är den matematiska anledningen till att Silvus specificeras för bataljon-och-uppåt. Barrage-jamming-hotbedömning: 4600× effekt-ratio för Silvus betyder ~230 kW — endast stora fordons­monterade ryska system (Krasukha-4, Shipovnik-Aero) når detta. Strategiska tillgångar, sällsynta och lätt att rikta ISR mot. Nyckelrotations-intervall: 24 timmar balanserar kryptografisk marginal mot operativ praktikalitet — 2²⁵⁶-nyckelrymden är säker på längre tid ändå.

Implementering

# FHSS Channel Hopping Demonstration
import hashlib, struct

def fhss_hop_sequence(seed_key, n_channels=4600, hops_per_sec=100):
    """Generate deterministic pseudo-random hop sequence."""
    channels = []
    for hop_index in range(hops_per_sec * 60):  # 1 minute of hops
        # HMAC-based channel selection (both sides have same seed)
        h = hashlib.sha256(seed_key + struct.pack(">I", hop_index)).digest()
        channel = struct.unpack(">H", h[:2])[0] % n_channels
        channels.append(channel)
    return channels

# Silvus StreamCaster: 140-600 MHz, 100 kHz channels
# 460 MHz / 100 kHz = 4,600 channels
hops = fhss_hop_sequence(b"SECRET_KEY_256BIT", n_channels=4600)
print(f"First 10 hops: {hops[:10]}")
print(f"Unique channels in 1 min: {len(set(hops[:6000]))}")
# Narrowband jammer on one channel: misses 4599/4600 = 99.98% of hops
# Barrage jammer across ALL 4600: needs 4600× more power

Källor

ExpressLRS-protokolldokumentation (expresslrs.org, 2024). Semtech LoRa-moduleringsspecifikationer. Silvus StreamCaster FHSS-konfiguration. Ukrainsk EK-erfarenhet med FHSS 2023–2025.

Kanalhoppningssekvensens säkerhet

Hoppsekvensen i Silvus StreamCaster genereras från en delad seed-nyckel med AES-256. Seed-nyckeln laddas vid start från operatörens USB (aldrig lagrad på enheten). Även med full kunskap om FHSS-algoritmens matematiska struktur kan en motståndare inte förutsäga sekvensen utan seed-nyckeln — detta motsvarar att bryta AES-256 kryptering, vilket är beräkningsmässigt omöjligt med dagens teknik.

En motståndare med en bredbandsmottagare (SDR som spänner 140–600 MHz simultant) kan observera alla 80 kanalers aktivitet och kartlägga hoppmönstret statistiskt över tid. Med tillräcklig observationstid (minuter) kan angriparen identifiera vilka kanaler som används och rikta störning selektivt. Motåtgärd: rotera seed-nyckeln var 30:e minut — angriparens statistiska modell ogiltigförklaras och analysen måste börja om från noll.

ENKEL FÖRKLARING: ELECTRONIC WARFARE
The enemy has jammers — powerful radios that flood your frequency with noise, blocking your signal. It is like someone shouting in your ear so you cannot hear your friend talking. FHSS (Frequency Hopping Spread Spectrum) is the defense: instead of talking on one channel, your radio hops between 80 different channels hundreds of times per second. The enemy's jammer can block one channel at a time, but your radio has already hopped to the next one before the jammer catches up. ELRS at 300 MHz (mil-band) uses this technique. It is not perfect — a very powerful barrage jammer can block ALL channels at once — but it makes jamming much harder and more expensive for the enemy.

Relaterade kapitel