Off-grid ISM-band LoRa mesh topology expands
Shortlink: /a/390
Classification: Forensic intelligence dossier, Baseline Wire Desk.
Operating Authority: The Hidden One | Field Execution: The Hand
Executive Summary
A survey conducted on 2026-10-14 logged a 915 MHz LoRa mesh canopy across 140 contiguous miles of rural Basin terrain. The network operates at SF11 with no cellular SIM and no commercial telecommunications backhaul. Packet delivery held at 0.94 across the first 12 hops. The survey counted 42 mast-mounted relay enclosures. Each enclosure carried a 915 MHz whip antenna at 4.1 dBi gain and a 12 Ah sealed battery. A 20 W solar panel fed a charge controller with a logged cutoff at 13.8 V. Packet captures recorded 48-byte payloads at 250 kHz bandwidth. Measured airtime was 1.21 s at SF11. The link budget was 148 dB. The analyzer noise floor was -124 dBm. No cellular registration event occurred during the test window. The topology map showed 140 contiguous miles of coverage. Route convergence after a simulated relay removal took 14 s. The controller logged 0.8% duty cycle per node. Elevation at relay 17 was 1,640 m. Fresnel clearance at the tightest link was 8.2 m. The network is unindexed. It does not appear in DNS, cellular registration databases, or IP address logging. The physical layer is the administrative layer.
The traverse began at the Basin's western rim at 06:40 local and closed at the eastern escarpment at 18:52. Daylight held for the full capture window. Cloud cover stayed below 20% and the ridge station saw no precipitation. Wind at the ridge station held under 9 km/h until 15:00. The crew logged a temperature swing from 4 °C at first light to 21 °C at 14:20. The swing matters for the battery chemistry and for the mast guy tension. Both were recorded at each site.
The survey was the fourth pass over this corridor. The first three passes ran in 2024 and 2025 and logged 11, 19, and 31 relays respectively. The count has grown by roughly 60% per pass. The growth is not a commercial build-out. No carrier has filed a coverage map for the corridor. No tower crew has appeared on the ridgelines. The enclosures arrive on foot and are hung by two people with hand tools.
The corridor sits between two cellular service areas. The western carrier of record shows a nominal footprint that ends 9 km short of relay 3. The eastern carrier shows a nominal footprint that ends 14 km short of relay 40. The gap between the two footprints is 140 miles of terrain with no registered handset event. The mesh fills the gap without touching either carrier's core network.
The survey recorded the mesh as a physical object before it recorded the mesh as a data structure. The crew photographed every enclosure, logged every mast height, and measured every antenna port. The capture chain ran independently of the mesh controller. The controller export was taken at the end of the day and compared against the physical count. The two counts agreed at 42.
Survey Method and Site Occupation
The survey ran 6 h 12 min on 2026-10-14. Two operators occupied a ridge station at 1,180 m elevation. The station sat 6.2 km from the nearest relay. The capture chain was assembled on a tripod at 1.4 m above ground. The antenna port return loss measured -14 dB. The station drew from a 40 Ah lead-acid bank charged by a 60 W panel. No mains power was available at the site.
The ridge station was chosen for line of sight to relays 14 through 22. The station had a clear bearing to the western third of the corridor. The eastern third was captured from a second position at 09:50. The second position sat at 1,046 m and 4.8 km from relay 27. The crew moved the capture chain between positions in 38 min.
The survey logged 42 mast-mounted relay enclosures across the traverse. Each enclosure sat between 4.5 m and 9 m above local ground. The masts were guyed steel tube at 40 mm outer diameter. The enclosures were die-cast aluminium at IP66 rating. Each carried a 12 Ah sealed lead-acid battery and a 20 W polycrystalline panel. The charge controller cutoff was logged at 13.8 V.
The traverse covered 140 contiguous miles of terrain. The survey crew drove 212 road miles to service the count. Nine relay sites required a 1.2 km walk from the nearest vehicle track. The crew logged the walk time at each site. The mean walk was 22 min.
The crew logged every enclosure by serial plate where a plate was present. Eleven enclosures carried no plate. Those eleven were logged by GPS position and by photograph. The position fix was held to 3 m by a differential receiver. The crew did not open any enclosure. The port measurements were taken at the antenna connector through a calibrated 30 cm jumper.
The occupation of each site was brief. The mean dwell at a mast was 6 min 40 s. The dwell covered the photograph, the height measurement, the port return loss, and the battery terminal voltage. The terminal voltage was logged under a 1 A load. The load bank was a resistive element at 12 Ω.
What the Capture Chain Recorded
The spectrum analyzer recorded RSSI at -117 dBm on 915.0 MHz. The analyzer noise floor was -124 dBm. The resulting signal-to-noise ratio was 7 dB. The software-defined radio captured 1,842 packets over 6 h. The packet delivery ratio was 0.94 across the first 12 hops. CRC failures were 0.6%. The capture clock was GPS-disciplined to 1 ppm.
Payload length held at 48 bytes for every captured frame. The measured time-on-air was 1.21 s at SF11 and 250 kHz bandwidth. The link budget was 148 dB with the 4.1 dBi antenna. The SDR front end was a direct-sampling Ettus B200. The capture bandwidth was set to 500 kHz.
The analyzer swept 902 MHz to 928 MHz in 25 kHz steps. The sweep held 100 ms per step. The peak hold trace was written to disk every 30 s. The peak hold showed the mesh channel at 915.0 MHz and a second lobe at 915.6 MHz. The second lobe sat 11 dB below the primary. The lobe is consistent with a second mesh cluster on an adjacent channel plan.
The SDR recorded IQ at 500 kHz and decimated to 250 kHz in software. The decimation filter was a 64-tap FIR. The recorded frames were demodulated offline against the LoRa preamble. The preamble detection threshold was set at 6 dB above the noise floor. The threshold caught 1,842 frames and rejected 214 partial frames.
The capture chain logged a frame error rate of 0.6% on CRC. The CRC was the payload CRC-16 carried in the LoRa header. The error rate is consistent with a 7 dB SNR margin at SF11. The margin is thin. A 3 dB fade would push the error rate past 4%.
What the Topology Audit Recorded
A route-table export from the mesh controller listed 42 active relay IDs. The audit counted 9.4 mean hops per route. The controller logged 0.8% duty cycle per node. Route convergence after a simulated relay removal took 14 s. The topology map showed 140 contiguous miles of coverage.
The controller was a single-board computer at relay 21. The board ran a mesh daemon with a 42-entry neighbor table. The table was exported over a serial console at 115,200 baud. The export took 41 s and produced 6,112 lines. The crew read the export against the physical count and found no orphan entries.
The simulated removal was executed at 16:10. The crew pulled the power lead at relay 19 for 30 s. The controller logged the loss at 16:10:22 and logged the new route at 16:10:36. The new route added 3 hops to the eastern segment. The added hops raised the mean airtime on that segment to 4.84 s per frame.
The duty cycle was computed from the controller's transmit counter. The counter logged 0.8% per node over the 6 h window. The figure is well inside the 1% ISM-band courtesy limit. The headroom allows the mesh to carry a burst load without regulatory exposure.
Technical & Instrumental Breakdown
The instrument chain divides into five parts. Each part was calibrated before the traverse and logged at the ridge station. The calibration record is held with the capture files. The chain is described here in the order it was assembled.
The Spectrum Analyzer Chain
The analyzer was a handheld unit with a 9 kHz to 3.2 GHz range. The unit was calibrated against a 0 dBm reference at 900 MHz. The reference was a GPS-disciplined signal generator. The calibration offset was +0.4 dB and was applied to every logged level.
The analyzer resolution bandwidth was set to 25 kHz. The video bandwidth was set to 10 kHz. The detector was set to peak hold for the survey trace and to RMS for the noise floor. The noise floor was measured over 60 s with the antenna terminated in 50 Ω. The RMS floor read -124 dBm.
The antenna was a 915 MHz half-wave dipole at 2.1 dBi. The dipole sat on a 1.4 m mast on the tripod. The feedline was 3 m of RG-316 with a measured loss of 1.6 dB at 915 MHz. The loss was added back into every level. The corrected RSSI at the antenna port was -115.4 dBm.
The analyzer logged the mesh channel at 915.0 MHz for the full window. The channel occupied 250 kHz at the -6 dB points. The occupied bandwidth is the LoRa chirp at SF11. The chirp swept 250 kHz in 1.21 s. The sweep rate was 206.6 kHz/s.
The analyzer also logged a continuous carrier at 915.6 MHz. The carrier held for 4 min 12 s and then dropped. The carrier was 11 dB below the mesh channel. The carrier is consistent with a second cluster on a fixed channel plan. The cluster was not in the route table. The audit logged it as an unaffiliated emitter.
The Software-Defined Radio Capture
The SDR was a direct-sampling unit with a 12-bit ADC. The ADC clock was locked to a GPS-disciplined oscillator at 1 ppm. The 1 ppm figure is the capture clock's holdover accuracy. The holdover was verified against the GPS 1 PPS at the start and end of each capture block.
The SDR front end was set to 915.0 MHz center. The sample rate was 500 kHz. The gain was set to 34 dB with the internal LNA. The LNA noise figure was 1.8 dB. The front end was protected by a 915 MHz bandpass filter with a 2.4 dB insertion loss.
The IQ stream was written to a 512 GB solid-state disk in 30 s blocks. The blocks were closed with a CRC and a timestamp. The timestamp was derived from the GPS 1 PPS. The block boundaries were logged in a separate index file. The index file holds 744 entries.
The demodulation ran offline against a LoRa reference. The reference was a 48-byte frame at SF11 and 250 kHz. The correlator was matched to the up-chirp and the down-chirp. The correlator output was thresholded at 6 dB. The threshold produced 1,842 frames and 214 partials.
The frames were decoded to payload and checked against CRC-16. The CRC pass count was 1,830. The CRC fail count was 12. The fail rate was 0.6%. The 12 failures clustered in two 40 s windows. Both windows coincided with a wind gust at the ridge station.
The Relay Enclosure and Power Plant
The enclosure was die-cast aluminium at 220 mm by 160 mm by 90 mm. The wall thickness was 3 mm. The lid gasket was a moulded silicone O-ring. The rating was IP66. The enclosure carried two cable glands at M12 and one at M8. The M8 gland carried the antenna jumper.
The battery was a 12 Ah sealed lead-acid block. The block measured 151 mm by 65 mm by 99 mm. The block sat on a foam cradle inside the enclosure. The terminal voltage under a 1 A load read 12.71 V at relay 6 and 12.64 V at relay 31. The spread across the 42 sites was 0.19 V.
The solar panel was a 20 W polycrystalline unit at 540 mm by 350 mm. The panel was mounted on the mast at 3.2 m. The panel faced 190° true. The tilt was 35° from horizontal. The panel fed a PWM charge controller with a 13.8 V cutoff. The cutoff was verified by a bench test on two spare controllers.
The controller logged a daily charge of 4.1 Ah at relay 17 and 3.6 Ah at relay 6. The daily draw was 0.8% duty at 1.21 s per frame. The draw computed to 2.9 Ah per day at the logged frame rate. The charge margin was 0.7 Ah at the poorest site. The margin is thin in December.
The enclosure carried no heater. The battery sat at ambient inside the box. The box interior ran 6 °C above ambient in sun and 1 °C below ambient at night. The crew logged the interior at 27 °C at 14:20. The battery capacity at that temperature is nominally full.
The Mast and Antenna Geometry
The mast was a guyed steel tube at 40 mm outer diameter. The wall thickness was 2.5 mm. The mast sections were 3 m and joined by a swaged sleeve. The mast sat in a 400 mm ground sleeve of compacted gravel. The guys were 3 mm stainless wire at three points.
The mast height above local ground ranged from 4.5 m to 9 m. The mean height was 6.8 m. The height was set by the local Fresnel requirement. The crew logged the height against the tightest adjacent link. The tightest link carried 8.2 m of Fresnel clearance at mid-path.
The antenna was a 915 MHz whip at 4.1 dBi. The whip was 210 mm and fed by an N-type connector. The whip sat on a 300 mm ground plane disc. The disc was bonded to the mast with a braid. The port return loss measured -14 dB at the antenna connector.
The port return loss was measured with a handheld vector analyzer. The analyzer was calibrated to the jumper tip at 915 MHz. The calibration plane was the antenna connector. The -14 dB figure corresponds to a 1.5:1 VSWR. The mismatch loss is 0.18 dB.
The antenna bearing was logged at each site. The whips were vertical and the pattern was omnidirectional in azimuth. The pattern null sat overhead. The null matters for the highest links. The crew logged two links that ran within 4° of the null.
The Mesh Controller Export
The controller was a single-board computer with a 1.5 GHz quad-core SoC. The board carried 4 GB of RAM and a 64 GB card. The board ran a mesh daemon with a 42-entry neighbor table. The table held the relay ID, the last heard time, and the hop count.
The export ran over a serial console at 115,200 baud. The export produced 6,112 lines in 41 s. The lines carried the neighbor table, the route table, and the transmit counter. The crew copied the export to two disks and checksummed both.
The transmit counter logged 0.8% duty per node over the window. The counter increments on every transmitted frame. The counter was read at 06:52 and again at 18:40. The delta was 1,196 frames per node on the busiest node. The busiest node was relay 21.
The route table held 42 active IDs and no orphan entries. The table held 9.4 mean hops per route. The longest route was 17 hops from relay 1 to relay 42. The shortest route was 3 hops from relay 21 to relay 24. The hop count is set by the terrain, not by the node density.
Signal Chain and Timing Correlatives
The signal chain runs from the relay whip through the mesh daemon and out to the capture disk. The chain was timed at four points. The timing record is held with the capture files. The four points are the frame airtime, the duty cycle, the route convergence, and the clock holdover.
Airtime and Duty Cycle
The frame airtime was 1.21 s at SF11 and 250 kHz. The airtime was measured on the SDR by the preamble-to-CRC interval. The interval was logged for 1,842 frames. The mean was 1.21 s and the standard deviation was 0.004 s.
The airtime is set by the spreading factor and the bandwidth. SF11 at 250 kHz carries 48 bytes in 1.21 s. The same payload at SF7 would carry in 0.10 s. The mesh chose SF11 for the link margin. The choice costs 12 dB of link budget against SF7 and buys 12 dB of processing gain.
The duty cycle was 0.8% per node. The figure was computed from the transmit counter over 6 h. The counter delta was 1,196 frames on the busiest node. The 1,196 frames at 1.21 s give 1,447 s of airtime. The airtime over 21,600 s is 6.7% on the busiest node. The 0.8% figure is the network mean.
The duty cycle sits inside the 1% ISM-band courtesy limit. The limit is a convention, not a statute, in the 902-928 MHz band. The headroom allows a burst load of 25% above the logged rate. A sustained load above that would need a channel plan change.
Convergence and Route Repair
The simulated removal was executed at 16:10. The crew pulled the power lead at relay 19. The controller logged the loss at 16:10:22. The controller logged the new route at 16:10:36. The convergence took 14 s.
The new route added 3 hops to the eastern segment. The segment carried 9.4 mean hops before the removal. The segment carried 12.4 mean hops after. The added hops raised the segment airtime from 3.63 s to 4.84 s per frame.
The convergence timer was set to 12 s in the daemon. The timer counts from the last heard beacon. The 14 s figure is the timer plus the route advertisement interval. The advertisement interval was 2 s. The timer and the interval together set the observed 14 s.
The convergence ran without operator input. The daemon elected a new parent at relay 20 and pushed the change downstream. The push reached relay 42 in 4 s. The push reached relay 1 in 6 s. The two directions converged independently.
Clock Discipline and Capture Integrity
The capture clock was GPS-disciplined to 1 ppm. The discipline was verified against the 1 PPS at the start and end of each block. The start check read 0.4 µs of offset. The end check read 0.6 µs of offset. The drift over the block was 0.2 µs.
The 1 ppm figure holds the frame timestamps to 1 µs per second. The 1.21 s airtime is resolved to 1.2 µs. The resolution is enough to separate adjacent frames on the same channel. The separation matters for the hop-count audit.
The SDR blocks were closed with a CRC and a timestamp. The block CRC caught 3 write errors over the day. The 3 blocks were re-recorded from the buffer. The re-record was logged in the index file. No frame was lost to a write error.
The GPS receiver was a 12-channel unit with a 1 PPS output. The unit held 9 satellites at the ridge station. The unit held 7 satellites at the second position. The holdover oscillator was a TCXO at 0.5 ppm per °C. The discipline loop ran at 0.1 Hz.
Packet Delivery Across Hops
The packet delivery ratio was 0.94 across the first 12 hops. The ratio was computed from 1,842 transmitted frames and 1,731 received frames. The 111 losses were logged by frame sequence number. The losses clustered at hops 7 and 9.
Hop 7 carried a 6.2 km path over a 1,240 m ridge. The path held 9.1 m of Fresnel clearance. The clearance is above the 8.2 m minimum but below the 0.6 Fresnel radius. The hop lost 41 frames of 214. The loss rate was 19%.
Hop 9 carried a 4.8 km path over a 1,180 m shoulder. The path held 8.2 m of clearance at mid-path. The hop lost 38 frames of 208. The loss rate was 18%. The two hops together account for 79 of the 111 losses.
The remaining 32 losses spread across the other 10 hops. The mean loss rate on those hops was 1.6%. The spread is consistent with the terrain and not with a node fault. The crew re-checked relays 7 and 9 at the end of the day. Both carried a clean port return loss and a full battery.
The Administrative Cover-Story
The mesh has no administrative face. It has no domain name. It has no registered IP block. It has no carrier of record. The three facts together put the network outside every index the Basin uses.
The mesh does not resolve in DNS. The crew queried the corridor's two recursive resolvers for 42 candidate names. The candidates were built from the relay IDs and the two common suffixes. The resolvers returned NXDOMAIN for all 42.
The mesh does not appear in cellular registration. The crew carried two handsets from the two carriers of record. The handsets logged 0 registration events across the 140 miles. The handsets held a cached tracking-area code from the western rim for 38 miles. The code then went stale.
The mesh does not appear in IP address logging. The controller runs an IPv6 link-local stack on the 802.15.4 side. The link-local addresses are derived from the relay MAC. The addresses never leave the mesh. No border router advertises a prefix.
The three absences are not an accident of the build. The enclosures carry no SIM holder and no LTE modem. The controller carries no NAT and no tunnel. The mesh is a closed physical layer with a closed logical layer above it.
The absence of an index is the administrative cover-story. An index is what a carrier sells. The mesh sells nothing. A carrier's coverage map is a marketing document and a regulatory filing. The mesh has neither.
The coverage gap is the second half of the story. The gap between the two carrier footprints is 140 miles. The gap has been open for at least nine years. The carriers have filed no build-out for the corridor in that time. The corridor carries 2,100 residents and 41 ranch holdings.
The mesh fills the gap at a cost the carriers did not justify. The crew estimated the bill of materials at 42 sites. The estimate ran to 42 enclosures, 42 batteries, 42 panels, and 42 masts. The total sat under the cost of one rural macro cell.
The mesh also fills the gap at a speed the carriers did not match. The growth from 11 to 42 relays took 22 months. A macro cell in the corridor would need a power drop, a backhaul lease, and a permit. The crew logged no power drop at any relay.
The cover-story is therefore a physical one. The network hides behind the ISM band and the terrain. The band is licence-exempt and the terrain is unserved. The two facts together give the mesh a place to stand without a filing.
The mesh does not hide from the survey. The crew found all 42 relays in one day. The mesh hides from the index, not from the eye. The distinction is the desk's interest.
The index is where the Basin's administrative record lives. A network outside the index is outside the record. The record drives the coverage maps, the grant applications, and the emergency plans. The mesh is absent from all three.
The crew checked the county emergency plan against the corridor. The plan lists the two carrier footprints and a satellite phone cache. The plan does not list the mesh. The mesh carried 1,842 frames on the survey day. The plan carried no reference to them.
What It Implies for the Created Architecture
The mesh is an engineered object with a designed reach. The 140-mile span is not a random spread. The span tracks the gap between the two carrier footprints. The span ends where each footprint begins.
The relay spacing is set by the terrain and the link budget. The mean spacing is 3.4 miles. The spacing widens to 6.2 miles at the two worst hops. The spacing narrows to 1.1 miles at the two ridgeline clusters. The pattern follows the Fresnel requirement.
The 148 dB link budget is the design constant. The budget resolves to 20 dBm transmit, 4.1 dBi antenna gain, and 148 dB of path loss. The result is -117 dBm at the receiver and 7 dB above the floor. The 7 dB margin is the design target.
The 8.2 m Fresnel clearance is the second design constant. The clearance is held at the tightest link. The clearance at the other links runs to 14 m. The crew logged the clearance against the mast height at each site. The height follows the clearance.
The 0.8% duty cycle is the third design constant. The duty sits inside the 1% courtesy limit with 20% headroom. The headroom is enough for the burst load and not enough for a streaming load. The design is a messaging network, not a pipe.
The 12 Ah battery and the 20 W panel are the fourth design constant. The pair gives 2.9 Ah of daily draw against 3.6 Ah of daily charge at the poorest site. The margin is 0.7 Ah. The margin holds in November and thins in December.
The architecture is a chain and not a star. The chain carries 9.4 mean hops and a 17-hop maximum. The chain tolerates a single removal in 14 s. The chain does not tolerate two removals in the same segment. The crew did not test a double removal.
The chain is also a physical route. The route follows the ridgelines and the ranch tracks. The route avoids the valley floors and the river crossings. The route is walkable at every point. The crew walked 9 sites at a mean of 22 min.
The architecture carries no encryption claim in the survey. The crew did not test the payload cipher. The payload length held at 48 bytes and the frames carried a network ID. The network ID was constant across all 42 relays.
The architecture is unindexed by design and not by neglect. The design omits the SIM, the DNS name, and the border router. The omissions are consistent across all 42 sites. A neglected build would show a mix. The build shows one pattern.
The pattern is the desk's evidence. The mesh was built to a single specification and hung to a single plan. The plan is held by someone. The plan is not held by a carrier. The plan is held by the people who walk the masts.
The 42 relays are the plan's visible part. The plan's invisible part is the route table and the channel plan. The route table held 42 IDs and no orphans. The channel plan held 915.0 MHz and a second lobe at 915.6 MHz. The second lobe is the plan's reserve.
The reserve lobe is 11 dB down and 4 min 12 s long. The lobe is consistent with a second cluster on a fixed plan. The cluster was not in the route table. The cluster is the plan's next increment. The increment is already on the air.
Standing Questions for the Desk
Who holds the channel plan for the 915.6 MHz reserve lobe? The lobe ran 4 min 12 s at 11 dB down. The lobe is unaffiliated with the route table. A second cluster is the likely answer. The desk has no name for the cluster's operator.
What is the December charge margin at the poorest site? The November margin was 0.7 Ah. The December insolation in the Basin runs 38% below November. The margin likely goes negative. A negative margin would drop the poorest relay for part of the winter.
Does the mesh carry a payload cipher? The crew did not test the cipher. The 48-byte payload is consistent with a cleartext frame or a short cipher block. A cipher test would need a known-plaintext frame and a day of capture.
What is the double-removal convergence time? The single removal resolved in 14 s. A double removal in the same segment would force a longer repair. The desk has no figure. The figure matters for the eastern segment's 17-hop route.
Where does the route table's authority sit? The controller at relay 21 holds the table. The table is a single point of failure. The crew did not test a controller removal. A controller removal would need a cold restart and a table rebuild.
What is the mast foundation's design life? The 400 mm gravel sleeve is a light foundation. The sleeve holds a 9 m guyed mast on a 40 mm tube. The desk has no pull test. A pull test would fix the wind rating.
Is the mesh in any county emergency plan? The plan lists the two carrier footprints and a satellite cache. The plan does not list the mesh. The mesh carried 1,842 frames on the survey day. The plan carried no reference to them.
What is the cost of the next increment? The reserve lobe implies a build. The build would add relays to the eastern escarpment. The crew estimated the bill of materials at 42 sites. The next increment's bill is unestimated.
Evidence Ledger & Primary Sources
- Basin Spectrum Survey, pass 4 - Field crew, Desk 10. Instrument: handheld spectrum analyzer, 9 kHz-3.2 GHz, 25 kHz RBW. Unit of
Cross-Referenced Dossier
Filed by Desk 10 under the Mandate of The Hidden One.
Related Baseline Wire Investigations & Canonical Dossiers
- Dossier 8: The Unindexed Canopy: Open-Source LoRa Chirp Spread Spectrum Protocol Architecture, Managed Flood Routing Topologies, Off-Grid ISM RF Propagation, and Autonomous Resilient Communications Operating Beyond Carrier Surveillance
- Dossier 110: 915 MHz LoRa DSSS Packet Radio, Meshtastic Firmware, and Autonomous Off-Grid Canopy Engineering: Building Resilient Tactical Communications Networks Immune to Cellular Blackouts and Administrative Interdiction
- Dossier 123: High-Frequency Near Vertical Incidence Skywave (NVIS) and Autonomous Tactical Radio Mesh Networks