ISAC-Sim

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.networking

Experimental network protocols (AODV, CSMA/CA) and path loss models

Functions (7)

friisPathLoss

v1.0.0
(d: number, freq: number) => number

Calculate Friis free space path loss in dB.

extras.networking

twoRayPathLoss

v1.0.0
(d: number, txH: number, rxH: number, freq: number) => number

Calculate path loss using Two-Ray ground reflection model.

extras.networking

airToGroundPathLoss

v1.0.0
(d: number, uavH: number, gndH: number, freq: number, env: string) => number

Calculate Air-to-Ground path loss (3GPP style).

extras.networking

calculateRSSI

v1.0.0
(txPower: number, txGain: number, rxGain: number, pathLoss: number) => number

Calculate Received Signal Strength Indicator (dBm).

extras.networking

createRREQ

v1.0.0
(node: AodvNode, destId: string, pos: Point) => { packet: AodvPacket; newState: AodvNode }

Create an AODV Route Request packet.

extras.networking

processRREQ

v1.0.0
(node: AodvNode, packet: AodvPacket, pos: Point, neighbors: string[]) => AodvProcessResult

Process an incoming RREQ packet at a node.

extras.networking

updateMacState

v1.0.0
(node: MacNode, busy: boolean, dt: number, ack: boolean) => MacUpdateResult

Update CSMA/CA MAC state machine.

extras.networking

Types (2)

AodvNode

interface

State of an AODV routing node.

extras.networking

MacNode

interface

State of a CSMA/CA MAC node.

extras.networking

Advanced PHY

extras.phyCoding

Experimental channel coding (LDPC, Turbo placeholders)

Functions (1)

crcCalculate

v1.0.0
(data: number[], poly: number[]) => number[]

CRC Calculation (Re-exported from models.phy).

extras.phyCoding

Sandbox 2D

extras.sandbox2d

2D Simulation tools for educational purposes

Types (1)

SANDBOX2D_VERSION

type

Version constant.

const v = extras.sandbox2d.SANDBOX2D_VERSION;
extras.sandbox2d