Noise floor

From MeshWiki
Jump to navigation Jump to search

Noise Floor

De noise floor is het achtergrondruisniveau dat de radio ontvangt wanneer er geen signaal aanwezig is. Dit wordt gemeten in dBm.

Wat is noise floor?

Elke radio-ontvanger heeft een bepaald niveau van achtergrondruis, veroorzaakt door:

  • Thermische ruis in de elektronica
  • Elektromagnetische interferentie uit de omgeving
  • Kosmische achtergrondstraling

De noise floor is het laagste signaalvermogen dat de radio kan detecteren. Signalen onder de noise floor verdwijnen in de ruis en zijn niet te ontvangen.

Waarom is het belangrijk?

Ontvangstgevoeligheid

Hoe lager de noise floor, hoe zwakkere signalen je kunt ontvangen:

  • Noise floor -120 dBm → kan signalen van -119 dBm en sterker ontvangen
  • Noise floor -100 dBm → kan alleen signalen van -99 dBm en sterker ontvangen

Interference detection

De Interference Threshold gebruikt de noise floor als referentiepunt:

kanaal_bezet = huidige_RSSI > (noise_floor + threshold)

Een accurate noise floor meting is essentieel voor correcte interferentiedetectie.

Hoe wordt het gemeten?

MeshCore meet de noise floor continu met een slimme methode:

  1. Verzamel 64 RSSI samples wanneer de radio in ontvangstmodus staat
  2. Negeer samples tijdens pakketontvangst (dat is signaal, geen ruis)
  3. Negeer samples die meer dan 14 dB boven de huidige floor liggen
  4. Bereken het gemiddelde van de 64 samples
  5. Herhaal elke 2 seconden

Minimum waarde: De noise floor wordt begrensd op -120 dBm om onrealistische waarden te voorkomen.

Typische waardes

Noise floor Betekenis
-120 dBm Uitstekend - zeer rustige RF-omgeving
-110 dBm Goed - landelijke omgeving
-100 dBm Redelijk - stedelijke omgeving
-90 dBm Slecht - veel RF-interferentie
-80 dBm of hoger Problematisch - sterke stoorbronnen aanwezig

Noise floor bekijken

Commando Omschrijving
stats-radio Toont noise_floor in dBm (alleen via seriële verbinding)

Voorbeeld output:

{"noise_floor":-115,"last_rssi":-98,"last_snr":8.25,"tx_air_secs":42,"rx_air_secs":156}

AGC Reset

De Automatic Gain Control (AGC) past automatisch de versterkingsfactor van de ontvanger aan. Soms kan de AGC "vastlopen" in een suboptimale staat.

Symptomen van vastgelopen AGC

  • Noise floor blijft hangen op -120 dBm (minimum)
  • Verminderde ontvangstgevoeligheid
  • Pakketten die eerder wel aankwamen worden gemist

AGC Reset configureren

Commando Omschrijving
get agc.reset.interval Toon huidige reset interval
set agc.reset.interval {sec} Stel interval in (in seconden, afgerond op 4)

Standaard: 0 (uitgeschakeld)

Bij een AGC reset:

  1. Radio gaat kort in slaapstand (warm sleep)
  2. Analoge frontend wordt gereset
  3. Noise floor meting herstart vanaf nul
  4. Ontvangst wordt hervat

Relatie met andere instellingen

Instelling Relatie
Interference Threshold Noise floor + threshold bepaalt wanneer kanaal "bezet" is
RSSI Signaalsterkte wordt vergeleken met noise floor voor SNR
SNR SNR = RSSI - noise floor (in dB)

Problemen oplossen

Noise floor te hoog

Mogelijke oorzaken:

  • Stoorbronnen in de buurt (LED-drivers, schakelende voedingen, computers)
  • Slechte antenne of antenneaansluiting
  • Defecte radio-frontend

Oplossingen:

  • Verplaats de node weg van stoorbronnen
  • Controleer antenneverbinding
  • Gebruik een extern filter als stoorbron bekend is

Noise floor blijft op -120 dBm

Dit kan wijzen op:

  • AGC vastgelopen → probeer set agc.reset.interval 60
  • Radio niet correct geïnitialiseerd → herstart de node
  • Antenne niet aangesloten (ontvanger ziet alleen interne ruis)

Noise floor fluctueert sterk

  • Intermitterende stoorbronnen (bijv. apparaten die aan/uit schakelen)
  • Mobiele stoorbronnen (bijv. voertuigen, drones)
  • Overweeg een hogere int.thresh waarde

Technische details

Parameter Waarde
Aantal samples 64
Sample threshold 14 dB boven huidige floor
Calibratie interval 2000 ms
Minimum waarde -120 dBm
Opslag int16_t (signed 16-bit)

Zie ook