Files
lora_route_py/sim/config.py
2026-02-24 16:21:30 +08:00

56 lines
2.5 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
"""
Configuration system for LoRa route simulation.
All parameters must be defined here - no hardcoded values allowed.
"""
# =============================================================================
# Network Topology
# =============================================================================
NODE_COUNT = 12 # Number of nodes in the network
AREA_SIZE = 800 # Deployment area size (meters)
SINK_NODE_ID = 0 # Sink node ID (root of the routing tree)
# =============================================================================
# Timing Parameters
# =============================================================================
HELLO_PERIOD = 8.0 # HELLO packet broadcast period (seconds)
DATA_PERIOD = 30.0 # Data packet generation period (seconds)
SIM_TIME = 1000.0 # Total simulation time (seconds)
# =============================================================================
# Radio Parameters
# =============================================================================
TX_POWER = 14 # Transmit power (dBm)
RSSI_THRESHOLD = -105 # Reception sensitivity threshold (dBm)
NOISE_SIGMA = 3 # Gaussian noise standard deviation (dB)
PATH_LOSS_EXPONENT = 2.7 # Path loss exponent (n)
# =============================================================================
# MAC Layer Parameters
# =============================================================================
ACK_TIMEOUT_FACTOR = 2.5 # ACK timeout = airtime × this factor
MAX_RETRY = 3 # Maximum transmission retries
BACKOFF_MIN = 0.0 # Minimum backoff time (seconds)
BACKOFF_MAX = 2.0 # Maximum backoff time (seconds)
# =============================================================================
# LoRa Physical Parameters
# =============================================================================
SF = 9 # Spreading Factor (7-12)
BW = 125000 # Bandwidth (Hz)
CR = 5 # Coding Rate (5-8, represents 4/5 to 4/8)
PREAMBLE = 8 # Preamble length (symbols)
# =============================================================================
# Routing Parameters
# =============================================================================
LINK_PENALTY_SCALE = 8.0 # Scale factor for link penalty calculation
ROUTE_UPDATE_THRESHOLD = 1.0 # Cost threshold for route update
# =============================================================================
# Logging
# =============================================================================
LOG_LEVEL = "INFO" # DEBUG, INFO, WARNING, ERROR
LOG_FORMAT = "[{time:.1f}][NODE{nid:>3}][{event}] {message}"