Duty cycle

From MeshWiki
Jump to navigation Jump to search

Duty Cycle

De duty cycle is het percentage van de tijd dat een node mag zenden. Dit is belangrijk voor eerlijk netwerkgebruik en wettelijke naleving.

Wat is duty cycle?

Duty cycle wordt uitgedrukt als een percentage:

duty_cycle = (zendtijd / totale tijd) × 100%

Voorbeeld:

  • Een node zendt 6 seconden per minuut
  • Duty cycle = 6/60 × 100% = 10%

Waarom is het belangrijk?

Regelgeving

In veel landen gelden wettelijke limieten voor hoeveel tijd je op bepaalde frequenties mag zenden. Dit voorkomt dat één apparaat de hele band bezet houdt.

Eerlijk netwerkgebruik

In een mesh-netwerk moeten alle nodes de kans krijgen om te zenden. Zonder duty cycle beperking kunnen "luidruchtige" nodes andere nodes overstemmen.

Betrouwbaarheid

Lagere duty cycles betekenen minder collisions en betere pakketaflevering.

Wettelijke limieten per regio

Europa (868 MHz)

Subband Frequentie Duty cycle limiet
g 868.0 - 868.6 MHz 1%
g1 868.7 - 869.2 MHz 0.1%
g2 869.4 - 869.65 MHz 10%
g3 869.7 - 870.0 MHz 1%

Let op: De meeste LoRa netwerken gebruiken de g2 subband (869.525 MHz) vanwege de 10% limiet.

Verenigde Staten (915 MHz)

De FCC hanteert geen strikte duty cycle limiet voor de 915 MHz ISM-band. In plaats daarvan gelden:

  • Maximaal zendvermogen (1W EIRP)
  • Frequency hopping of spread spectrum vereisten

Andere regio's

Regio Band Opmerkingen
Australië/Nieuw-Zeeland 915 MHz Vergelijkbaar met VS
Japan 920 MHz LBT verplicht
Wereldwijd 433 MHz Vaak striktere limieten

Duty cycle in MeshCore

MeshCore implementeert duty cycle via de airtime factor:

effectieve_duty_cycle = 1 / (1 + airtime_factor) × 100%

Airtime factor Duty cycle Voldoet aan
0 100% Geen limiet
1 50% -
2 33% Standaard
9 10% EU g2 subband
99 1% EU g/g3 subband

Configuratie: set af 9 voor 10% duty cycle (EU-compliant)

Hoe wordt het afgedwongen?

Na elke transmissie berekent de firmware een verplichte wachttijd:

wachttijd = zendtijd × airtime_factor

Voorbeeld met af=9:

  1. Pakket zenden duurt 100ms
  2. Wachttijd = 100ms × 9 = 900ms
  3. Totale cyclus = 100ms + 900ms = 1000ms
  4. Duty cycle = 100/1000 = 10%

De firmware weigert te zenden totdat de wachttijd verstreken is.

Relatie met andere mechanismen

Mechanisme Functie
Airtime factor Bepaalt de wachttijd na transmissie
Interference Threshold Wacht extra als kanaal bezet is (LBT)
txdelay Voegt willekeurige vertraging toe aan flood verkeer

Deze mechanismen werken samen maar stapelen niet op dezelfde manier:

  • Airtime factor is de minimale wachttijd
  • Interference threshold kan extra wachttijd toevoegen
  • txdelay voegt willekeurige vertraging toe voor anti-collision

Duty cycle meten

Gebruik stats-radio om je werkelijke zendtijd te zien:

tx_air_secs toont de totale zendtijd sinds opstarten.

Om je gemiddelde duty cycle te berekenen: duty_cycle = tx_air_secs / uptime_secs × 100%

Veelgemaakte fouten

Te lage airtime factor

Met af=0 of af=1 kun je in Europa de wettelijke limieten overschrijden, vooral bij veel netwerkactiviteit.

Alleen vertrouwen op airtime factor

De airtime factor garandeert alleen de maximale duty cycle. Bij weinig verkeer zul je ver onder de limiet blijven. Bij constant verkeer bereik je het maximum.

Verkeerde frequentie voor regio

Controleer dat je op de juiste frequentie zit voor je regio:

  • EU: 869.525 MHz (g2 subband, 10% limiet)
  • VS: 910.525 MHz of 915 MHz band

Best practices

  • EU gebruikers: Gebruik minimaal af=9 voor 10% duty cycle
  • VS gebruikers: Lagere waarden zijn wettelijk toegestaan, maar hogere waarden verbeteren netwerkprestaties
  • Drukke netwerken: Overweeg hogere airtime factor om collisions te verminderen
  • Monitor regelmatig: Check stats-radio om je werkelijke gebruik te zien

Zie ook