Extras
Experimental utilities including networking simulation, advanced PHY coding schemes (Turbo, LDPC, Polar), and 2D visualization sandbox.
Note: This module contains experimental features that may change or be removed in future versions.
import { extras } from 'symbion'Sub-modules
Networking
extras.networkingExperimental network protocols (AODV, CSMA/CA) and path loss models
Functions (7)
friisPathLoss
v1.0.0(d: number, freq: number) => numberCalculate Friis free space path loss in dB.
extras.networkingtwoRayPathLoss
v1.0.0(d: number, txH: number, rxH: number, freq: number) => numberCalculate path loss using Two-Ray ground reflection model.
extras.networkingairToGroundPathLoss
v1.0.0(d: number, uavH: number, gndH: number, freq: number, env: string) => numberCalculate Air-to-Ground path loss (3GPP style).
extras.networkingcalculateRSSI
v1.0.0(txPower: number, txGain: number, rxGain: number, pathLoss: number) => numberCalculate Received Signal Strength Indicator (dBm).
extras.networkingcreateRREQ
v1.0.0(node: AodvNode, destId: string, pos: Point) => { packet: AodvPacket; newState: AodvNode }Create an AODV Route Request packet.
extras.networkingprocessRREQ
v1.0.0(node: AodvNode, packet: AodvPacket, pos: Point, neighbors: string[]) => AodvProcessResultProcess an incoming RREQ packet at a node.
extras.networkingupdateMacState
v1.0.0(node: MacNode, busy: boolean, dt: number, ack: boolean) => MacUpdateResultUpdate CSMA/CA MAC state machine.
extras.networkingTypes (2)
AodvNode
interfaceState of an AODV routing node.
extras.networkingMacNode
interfaceState of a CSMA/CA MAC node.
extras.networkingAdvanced PHY
extras.phyCodingExperimental channel coding (LDPC, Turbo placeholders)
Functions (1)
crcCalculate
v1.0.0(data: number[], poly: number[]) => number[]CRC Calculation (Re-exported from models.phy).
extras.phyCodingSandbox 2D
extras.sandbox2d2D Simulation tools for educational purposes
Types (1)
SANDBOX2D_VERSION
typeVersion constant.
const v = extras.sandbox2d.SANDBOX2D_VERSION;extras.sandbox2d