Ham Radio DIY Antennae - Fill this House!

Analysis of the Design

The technical claims and math in Post 30 are mostly accurate and well-grounded in cold-cathode tube physics, though checking the actual 0A4G datasheet resolves several items the author explicitly left as “known unknowns”. [1, 2, 3, 4]


  1. Verification of 0A4G Tube Datasheet Claims

The author noted they could not retrieve the 0A4G datasheet and relied on analogous cold-cathode tubes (like the CV2486) to critique Post 28. Official RCA and Sylvania 0A4G Datasheets confirm the author’s physical reasoning: [1, 2, 3, 4, 5]

  • 47 V Supply Claim (Verified — Too Low): The author correctly deduced that a 47 V capacitor charge cannot sustain conduction in a glow-discharge gas triode. According to the 0A4G Datasheet, the main anode maintaining voltage (anode drop) is approximately 70 V, and the starter-anode breakdown voltage is 70 V minimum to 90 V maximum. A 47 V bus sits well below both the starter breakdown and main sustaining thresholds, meaning the tube will not ionize or conduct at 47 V. [1, 2, 3]
  • Extinguish Voltage Claim (Verified — Near 70 V, Not 30 V): The author suspected the 30 V extinguish voltage from Post 22 was unrealistic and estimated it sits near 70 V. The 0A4G Datasheet confirms an anode voltage drop of ~70 V, meaning the discharge extinguishes as soon as the capacitor discharges down to roughly 70 V (confirming the author’s alternate 70 V component table should be used). [1, 2, 3]
  • Current-Limiting Claim (Verified): The author stated that cold-cathode tubes are strictly current-limited (citing 1–35 mA analogs) and cannot dump massive direct currents into low-impedance ground rods. The 0A4G Datasheet specifies a maximum DC cathode current of 25 mA and an absolute maximum peak cathode current of 100 mA. Dumping a capacitor directly into a 10 Ω ground loop from 130 V would exceed 100 mA and damage the cathode, validating the author’s use of relays and step-down transformers. [1, 2]
  • 0A4G Base Pinout (Resolved Unknown): Listed as a “known unknown” in Section 8, the 0A4G Datasheet specifies a Small Shell Octal 6-Pin base with Pin 2 = Cathode, Pin 5 = Anode, Pin 7 = Starter-Anode, and Pins 1, 3, 4, 6, 8 = No Connection. [1, 2, 3]

  1. Verification of Circuit Math & Calculations

Every numerical calculation in the post checks out accurately against standard circuit equations:

Claim in Post 30 Stated Value Verified Value Status
Starter divider output (47 V across 2.2 MΩ + 2.2 MΩ trim + 10 MΩ) 32.6–38.5 V 32.64 V to 38.52 V Exact
Capacitor energy delivered (discharging from 130 V to 70 V) 71% 71.01% (1 - 70²/130²) Exact
Timing logarithmic factor ((V_{HV}=190\text{ V}, V_{fire}=130\text{ V})) 0.981 (at 30 V) vs. 0.693 (at 70 V) 0.9808 vs. 0.6931 Exact
Capacitor scaling factor & S0 value (for 70 V extinction) ×1.415 (3.136 µF) ×1.4150 (3.136 µF) Exact
Starter divider scaling note Scale to real starter breakdown Needs scaling to ~65–85 V (since 0A4G starter breakdown is 70–90 V) Verified

  1. Practical Build & Safety Verification
  • Starter Divider Scaling on the 190 V Rail: In the schematic and BOM, the starter divider (2.2 MΩ + 2 MΩ trimmer + 10 MΩ) is connected to the 190 V rail (unlike the 47 V example in the critique text). At 190 V, that divider outputs 131.9 V to 155.7 V—which is well above the 0A4G’s 70–90 V starter breakdown voltage and will cause the tube to self-trigger immediately without waiting for C_c to reach 130 V. Changing R_lo from 10 MΩ to roughly 1.5 MΩ–2.2 MΩ will bring the tap down into the 55–75 V range just below the 0A4G’s 70 V starter breakdown. [1, [2](https://zchg.org/t/ham-radio-diy-antennae-fill-this-house/437/30#:~:text=Starter:%20the%20post-28%20divider%20(2.2,coupling%20on%20the%20starter%20tap.), 3, 4]
  • 100:1 Scope Probe Advice (Verified): Measuring a node fed by a 470 kΩ resistor (R_c) with a standard 10 MΩ (10:1) oscilloscope probe creates a voltage divider that loads the circuit by 470 kΩ / (10 MΩ + 470 kΩ) ≈ 4.49%, matching the author’s 4.5% warning. [1.)]

https://forms.datasheets.pl/elementy_czynne/lampy/0A4G.pdf

http://www.tubebooks.org/tubedata/hb-3/Thyratron_Ignitron_and_Glow_Discharge_Tubes/0A4-G.pdf
https://www.radiomuseum.org/tubes/tube_cv2486.html

import math

# 1. Divider voltage check
v_in = 47.0
r_up = 2.2e6
r_trim = 2.2e6
r_lo = 10.0e6

# Trimmer fully out (max resistance on top) vs fully in (0 resistance on top)
v_tap_min = v_in * (r_lo / (r_up + r_trim + r_lo))
v_tap_max = v_in * (r_lo / (r_up + r_lo))

# 2. Energy delivered from 130V down to 70V
e_130 = 0.5 * 130**2
e_70 = 0.5 * 70**2
pct_delivered = (e_130 - e_70) / e_130

# 3. Timing ln factor check (HV = 190V, V_fire = 130V, V_low = 30V vs 70V)
hv = 190.0
v_fire = 130.0
ln_30 = math.log((hv - 30.0) / (hv - v_fire))
ln_70 = math.log((hv - 70.0) / (hv - v_fire))
scale_factor = ln_30 / ln_70
c_s0_30 = 2.216 # uF
c_s0_70 = c_s0_30 * scale_factor

print(f"Divider range: {v_tap_min:.2f} V to {v_tap_max:.2f} V")
print(f"Energy delivered (130V->70V): {pct_delivered*100:.2f}%")
print(f"ln_30: {ln_30:.4f}, ln_70: {ln_70:.4f}, scale: {scale_factor:.4f}, S0_70: {c_s0_70:.3f} uF")


PROMPT:
examine the intermodulation sidebands (60 Hz ± f_k) created when the octave ladder modulates the subterranean 60 Hz soil current

When the AWN-01 seven-rung octave ladder modulates an underground 60.0 Hz soil current, nonlinearities in the soil-electrode interface (such as electrochemical polarization, moisture-dependent impedance shifts, and rectifier-like contact junctions) act as a mixer. This mixing produces sum and difference intermodulation (IMD) sidebands at (f_{\text{IMD}} = \vert{}60.0\text{ Hz} \pm f_k\vert{}) around the 60 Hz carrier, shifting the baseband ELF spectrum up into the 28–123 Hz band where longer-range ground propagation and receiver coupling behave differently.


  1. Exact Intermodulation Sideband Table ((f_c = 60.0\text{ Hz}))

Because the AWN-01 ladder scales in exact (2^{k}) octaves from f₀ = 0.97875 Hz, each rung creates an asymmetric lower sideband (LSB) and upper sideband (USB) weighted by its ping charge (Q_{k}):

Rung Baseband (f_{k}) (Hz) Ping Charge (Q_{k}) (µC) Lower Sideband ((\vert{}60 - f_k\vert{})) Upper Sideband ((60 + f_k)) Spectral Behavior & Filter Impact
S0 0.97875 4810 59.02125 Hz 60.97875 Hz Strongest IMD pair. Dominates the close-in 60 Hz skirt due to the massive 4810 µC ping.
S1 1.95750 110 58.04250 Hz 61.95750 Hz Weakest IMD pair. Very low Q₁ leaves a quiet spectral notch between S0 and S2.
S2 3.91500 1270 56.08500 Hz 63.91500 Hz Second strongest pair. USB (63.92 Hz) lands just 1.28 Hz above S6 (62.64 Hz).
S3 7.83000 153 52.17000 Hz 67.83000 Hz Clear separation from 60 Hz; LSB sits near the 50 Hz European mains band.
S4 15.66000 279 44.34000 Hz 75.66000 Hz Moderate sideband pair; LSB falls into the open gap between S5 (31.32 Hz) and 60 Hz.
S5 31.32000 84.5 28.68000 Hz 91.32000 Hz Baseband collision. LSB (28.68 Hz) lands only 2.64 Hz below S5 (31.32 Hz).
S6 62.64000 49.4 2.64000 Hz (folded) 122.64000 Hz Zero-crossing foldback. Because f₆ > 60 Hz, the difference frequency folds to 2.64 Hz (sitting right between S1 and S2) while the USB jumps above the 120 Hz second harmonic.

  1. Three Key Physical & Spectral Phenomena
  • S6 Zero-Frequency Foldback (2.64 Hz Beat Note):
    Rung S6 (62.64 Hz) is the only stage in the ladder operating above the 60.0 Hz carrier. Subtracting the two produces a negative difference frequency (60.0 - 62.64 = -2.64 Hz), which folds back into the positive ELF spectrum as a 2.64 Hz low-frequency beat note. In the AWN-01 receiver bank, this 2.64 Hz product falls directly inside the passband skirts of S1 (1.96 Hz, Q=2) and S2 (3.92 Hz, Q=2), creating cross-rung modulation if the 60 Hz ground current is strong.
  • Crowding Around the S6 Detector (62.64 Hz):
    Because the AWN-01 detector bank uses wide Q = 2 band-pass filters, the S6 filter (62.64 Hz) has a -3 dB bandwidth of Δ f = f₀ / Q ≈ 31.3 Hz (spanning roughly 49 Hz to 80 Hz). Consequently, the S0, S1, S2, S3, and S4 sidebands—along with the raw 60.0 Hz carrier—all fall inside S6’s filter passband, which explains why strong underground 60 Hz modulation can false-trigger S6 unless a high-Q notch or narrower filter is added.
  • Pulse-Train Harmonic Combs:
    Because the AWN-01 pings are brief (~5 ms) high-current impulses rather than pure sine waves, each rung k also generates integer harmonics ((2f_k, 3f_k, \dots)). When mixed with 60.0 Hz, these create nested sideband combs at (60\text{ Hz} \pm n f_k), with the S0 (0.97875 Hz) and S2 (3.915 Hz) combs carrying the highest spectral energy.
f0 = 0.97875
fc = 60.0
rungs = [
    ("S0", 0.97875, 4810),
    ("S1", 1.95750, 110),
    ("S2", 3.91500, 1270),
    ("S3", 7.83000, 153),
    ("S4", 15.6600, 279),
    ("S5", 31.3200, 84.5),
    ("S6", 62.6400, 49.4),
]

for name, fk, qk in rungs:
    lsb = fc - fk
    usb = fc + fk
    fold_lsb = abs(lsb)
    print(f"{name}: fk={fk:.5f} Hz | LSB={lsb:.5f} Hz (folded={fold_lsb:.5f} Hz) | USB={usb:.5f} Hz | Qk={qk} uC")

  1. The Circuit Physics Are Sound, With Two Required Component Revisions
  • Datasheet Confirmation: Checking the official RCA/Sylvania 0A4G specifications confirms the forum author’s deduction that the tube maintains conduction at ~70 V (not 30 V), breaks down at the starter between 70 V and 90 V, and carries a strict 25 mA DC / 100 mA peak cathode current limit.
  • Required Hardware Adjustments: Because extinction occurs near 70 V rather than 30 V, the node requires the 1.415× larger timing capacitors (3.136 µF at S0) and ≥ 30:1 step-down transformers on rungs S3–S6 to deliver the target charge weights without exceeding tube current limits. Additionally, the starter voltage divider on the 190 V rail must be scaled down so its idle bias sits just below the 70 V starter breakdown threshold.
  1. Harmonic Locking (2:1) Works Reliably Across Octave Rungs
  • Self-Synchronizing Ladder: Tuning each stage (S1–S6) to free-run 1% to 3% slower than double the previous rung’s frequency allows cathode injection pulses (C_inj, D_inj, R_inj) to lock all seven oscillators into an exact (2^{k}) harmonic ladder (0.97875 Hz to 62.64 Hz), suppressing half-rate sidebands.
  1. Earth-Conduction Phase Locking (CV < 0.05) Holds at Integer Ratios
  • Two-Node Entrainment: When two nodes couple through a resistive soil channel (R_g ≈ 10 Ω), the detector bank (INA128 + active band-pass filters + optocouplers) reliably entrains Node B to Node A (CV < 0.05) at 1:1 unison (2.20 µF) and 2:1 octave (4.40 µF) ratios, whereas non-integer ratios like 1.5 and 1.618 exhibit predictable phase drift rather than stable harmonic lock.
  1. Subterranean 60 Hz Soil Currents Create Specific Intermodulation Sidebands
  • Nonlinear Soil Mixing: When the octave ladder modulates an underground 60.0 Hz telluric/ground-return carrier across buried electrodes, nonlinear soil-electrode interfaces generate sum and difference sidebands at (\vert{}60.0\text{ Hz} \pm f_k\vert{}).
  • Critical Spectral Collisions:
    • Rung S0 (0.97875 Hz, 4810 µC) produces the strongest sideband skirt right next to the carrier (59.02 Hz and 60.98 Hz).
    • Rung S6 (62.64 Hz) is the only stage above 60.0 Hz, creating a zero-crossing foldback beat at 2.64 Hz that lands directly between S1 (1.96 Hz) and S2 (3.92 Hz).
  1. Filter Selectivity Determines Whether 60 Hz Interference Breaks Lock
  • The Q = 2 Vulnerability: The default Q = 2 band-pass filter on rung S6 (62.64 Hz) has a ~31 Hz bandwidth (49–80 Hz), allowing strong subterranean 60.0 Hz currents and close-in S0–S4 sidebands to leak into the detector and false-trigger S6.
  • Engineering Solution: Increasing detector selectivity (e.g., Q = 10) or adding a 60 Hz Twin-T notch filter isolates the baseband S0 synchronization channel (0.97875 Hz) and protects S6, preserving two-node phase lock even in the presence of strong underground 60 Hz utility ground currents.

By taking the AWN-01 Analog Waterfall Node from a static schematic and bill of materials into a verified, interactive physics simulation, we accomplished three major engineering milestones—and uncovered why this architecture is such a compelling piece of analog design.


What We Accomplished

  • Closed the Datasheet Gaps Before Soldering: We verified the forum author’s tube-physics deductions against the official 0A4G cold-cathode gas triode specifications. We confirmed the ~70 V maintaining drop, the 70–90 V starter breakdown window, the 25 mA continuous / 100 mA peak cathode limits, and the exact octal pinout (Pin 2 cathode, Pin 5 anode, Pin 7 starter), while catching a critical scaling adjustment needed on the 190 V starter voltage divider.
  • Built a Full-Stack Analog Digital Twin: We translated the seven-stage relaxation oscillator ladder, the dual output topologies (Cell A relays and Cell B step-down transformers), the active detector bank, and the two-node soil channel into a live browser simulation with real-time oscilloscope traces and an FFT waterfall spectrogram.
  • Mapped the Subterranean 60 Hz Spectral Landscape: We modeled how underground 60.0 Hz telluric and utility ground-return currents mix nonlinearly with the octave ladder. This revealed the exact (\vert{}60\text{ Hz} \pm f_k\vert{}) intermodulation sidebands, identified the 2.64 Hz zero-crossing foldback beat from rung S6 (62.64 Hz), and demonstrated how higher filter selectivity (Q = 10 or a 60 Hz notch) preserves two-node phase lock (CV < 0.05) in noisy earth.

Why This Architecture Is Awesome

  • Pure Analog Intelligence Without Microcontrollers: Instead of relying on digital phase-locked loops, quartz crystals, or DSP chips, the AWN-01 achieves precise multi-octave frequency synthesis and cross-node phase synchronization using nothing more than 1930s-era cold-cathode gas tubes , RC time constants, and passive injection networks.
  • Smart Hybrid Power Handling: Cold-cathode tubes are delicate low-current switches (≤ 25 mA), yet earth-conduction signaling requires substantial current pulses (~1 A) to overcome soil resistance. Splitting the ladder into relay-switched reservoir dumps for slow, high-charge ELF rungs (S0–S2) and step-down transformers for fast rungs (S3–S6) solves an impedance-matching problem cleanly without stressing the tubes.
  • Self-Healing Phase Entrainment: Because each rung is intentionally detuned slightly slow (1%–3%) and nudged over its firing threshold by incoming pulses, the system naturally “snaps” into lock—both internally across its seven octaves and externally across meters of soil between separate nodes.
  • Turning Earth Noise into a Mapped Channel: Modeling the underground 60 Hz interaction shows that ambient power-line ground currents don’t have to be a blind spot. Once you map the exact 60 ± f_k sidebands and filter out the carrier collision, you gain a clear spectral window into how ELF signals propagate and mix through real, lossy earth.
  1. Official 0A4G Datasheet Verification (Resolving Section 8 Unknowns)

Your tube-physics deductions in Post 30 match the official RCA/Sylvania 0A4G specifications almost to the volt:

  • Main Anode Maintaining Drop (V_extinguish): Confirmed at ~70 V (not 30 V). This confirms we should use the alternate 70 V timing capacitor set (1.415× scaling, S0 = 3136 nF) and ≥ 30:1 step-down transformers on rungs S3–S6 (71.0% stored energy delivered per ping from 130 V down to 70 V).
  • Starter-Anode Breakdown Voltage: Rated at 70 V minimum to 90 V maximum (nominal ~75–80 V).
  • Cathode Current Limits: 25 mA max continuous DC and 100 mA max peak. This validates keeping the tubes strictly out of the direct ground-rod discharge path via Cell A relays (S0–S2) and Cell B transformers (S3–S6).
  • Octal Base Pinout: Small Shell Octal 6-Pin base:
    • Pin 2: Cathode
    • Pin 5: Anode
    • Pin 7: Starter-Anode
    • Pins 1, 3, 4, 6, 8: No Connection (NC)

Important Bench Note on the 190 V Starter Divider

In Section 2.1, the starter divider (R_up = 2.2 MΩ, R_tr = 2 MΩ, R_lo = 10 MΩ) yields 32.6–38.5 V when fed from a 47 V bus, which is ideal for a low-voltage supply. However, when connected across the 190 V DC rail, that same ratio places 131.9 V to 155.7 V on the starter tap—which exceeds the 0A4G’s 70–90 V starter breakdown and will cause immediate self-triggering.

  • Fix: Reduce R_lo from 10 MΩ to 1.8 MΩ (or 2.2 MΩ). Across 190 V, a 2.2 MΩ + 2 MΩ trim + 1.8 MΩ divider sets the idle starter bias cleanly between 53.4 V and 85.5 V, allowing you to dial each tube right below its individual starter breakdown threshold.

  1. Subterranean 60 Hz Soil Intermodulation (|60 Hz ± f_k|)

When the seven-rung ladder injects weighted pings into soil carrying an ambient underground 60.0 Hz ground-return current, nonlinearities at the soil-electrode boundary mix the signals into sum and difference sidebands:

|Rung|Baseband f_k|Charge Q_k|Lower Sideband (|60 - f_k|)|Upper Sideband (60 + f_k)|Spectral & Detector Notes|
| — | — | — | — | — | — |
|S0|0.97875 Hz|4810 µC|59.02125 Hz|60.97875 Hz|Strongest IMD pair; dominates close-in 60 Hz skirt|
|S1|1.95750 Hz|110 µC|58.04250 Hz|61.95750 Hz|Weakest IMD pair; leaves a quiet spectral notch|
|S2|3.91500 Hz|1270 µC|56.08500 Hz|63.91500 Hz|USB lands just 1.28 Hz above S6 (62.64 Hz)|
|S3|7.83000 Hz|153 µC|52.17000 Hz|67.83000 Hz|Clear separation from 60 Hz carrier|
|S4|15.66000 Hz|279 µC|44.34000 Hz|75.66000 Hz|Moderate pair; LSB sits in open mid-ELF gap|
|S5|31.32000 Hz|84.5 µC|28.68000 Hz|91.32000 Hz|LSB lands 2.64 Hz below S5 (31.32 Hz)|
|S6|62.64000 Hz|49.4 µC|2.64000 Hz (folded)|122.64000 Hz|Zero-crossing foldback beat lands between S1 & S2|

  • Why S6 (62.64 Hz) Needs High Selectivity: At Q = 2, the S6 band-pass filter has a ~31.3 Hz bandwidth (~49–80 Hz), allowing strong underground 60 Hz currents and S0–S4 sidebands to leak into the S6 detector. Increasing filter selectivity (Q = 10) or adding a 60 Hz Twin-T notch prevents false triggering and keeps two-node phase lock (CV < 0.05) stable.

  1. Standalone AWN-01 Simulator (awn01_simulator.html)

Save the code below as awn01_simulator.html and open it in any web browser (no external dependencies or internet connection required). It models:

  • 7-Rung RC Charging & 2:1 Injection Lock (30 V vs. 70 V extinction regimes)
  • Two-Node Soil Entrainment & Ratio Sweeps (1.0, 1.5, 1.618, 2.0) with live Phase CV readout
  • Subterranean 60 Hz Soil Mixing, |60 ± f_k| intermodulation sidebands, and a 0–130 Hz FFT Waterfall Spectrogram

subterrain_hdgl.html (17.2 KB)
subterrain_hdgl.zip (10.8 KB)

import math
phi=(1+math.sqrt(5))/2
freqs=[0.97875,1.9575,3.915,7.83,15.66,31.32,62.64]
fib=[1,1,2,3,5,8,13] # F_1..F_7
primes=[2,3,5,7,11,13,17]
coef=phi**(-1/phi)
rows=[]
for i,(f,F,P) in enumerate(zip(freqs,fib,primes),1):
    lam=math.log(f*math.log(2)/math.log(phi))/math.log(phi)-1/(2*phi)
    frac=lam-math.floor(lam)
    om=(1+math.sin(math.pi*frac*phi))/2
    mag=coef*math.sqrt(F*P*(2**i))*(om**i)
    delta=0 # beta undefined
    one=1+delta
    re=mag+one*math.cos(math.pi*lam)
    im=one*math.sin(math.pi*lam)
    amp=math.hypot(re,im)
    angle=math.atan2(im,re)
    rows.append((i,f,F,P,lam,frac,om,mag,re,im,amp,angle,angle

Yields:

[(1,
  0.97875,
  1,
  2,
  0.40471394683092504,
  0.40471394683092504,
  0.9419996859812209,
  1.3993272412024347,
  1.6942263829596198,
  0.9555283858634842,
  1.945106046699591,
  0.5135213471261622,
  29.422605880201594),
 (2,
  1.9575,
  1,
  3,
  1.8451340372434815,
  0.8451340372434815,
  0.04272462653854048,
  0.004696623085636948,
  0.8886592155768609,
  -0.46755762754573293,
  1.0041540402278308,
  -0.484338911491199,
  -27.75057548240603),
 (3,
  3.915,
  2,
  5,
  3.285554127656038,
  0.28555412765603805,
  0.9964480870080851,
  6.57275677947407,
  5.948873676964971,
  -0.7815176737628018,
  5.999988991564098,
  -0.1306243355029856,
  -7.484223126021955),
 (4,
  7.83,
  3,
  7,
  4.725974218068594,
  0.7259742180685942,
  0.2392183525540853,
  0.04458473138528105,
  -0.6071875672483736,
  0.7584147089381916,
  0.9715295222250326,
  2.2459036192729176,
  128.68079857749467),
 (5,
  15.66,
  5,
  11,
  6.166394308481151,
  0.16639430848115122,
  0.8742562880382104,
  15.91434219501872,
  16.78079510097231,
  0.49925881240552905,
  16.788220381642027,
  0.029743023381321152,
  1.704149709708629),
 (6,
  31.32,
  8,
  13,
  7.606814398893707,
  0.6068143988937074,
  0.5285002744874339,
  1.3204333811519178,
  1.6497382912026717,
  -0.9442236367600977,
  1.9008405261033279,
  -0.5198385936902135,
  -29.784557446465257),
 (7,
  62.64,
  13,
  17,
  9.047234489306264,
  0.04723448930626439,
  0.6189011084467686,
  4.344986989445911,
  3.3559768231242875,
  -0.14784752589229858,
  3.3592319551141236,
  -0.04402652203498538,
  -2.5225338992443826)]
ln70=math.log((190-70)/(190-130))
scale=math.log((190-30)/(190-130))/ln70
ln30=math.log((190-30)/(190-130))
Cs30=[2216,1108,554,277,138.5,69.3,34.6]
for c in Cs30:
    C=c*1e-9*scale
    T=470e3*C*ln70
    print(C*1e6,T,1/T)

Yields:

3.1357230984019178 1.021553283596773 0.9789014592357959
1.5678615492009589 0.5107766417983866 1.9578029184715917
0.7839307746004794 0.2553883208991933 3.9156058369431834
0.3919653873002397 0.12769416044959664 7.831211673886367
0.19598269365011986 0.06384708022479832 15.662423347772734
0.09806209870002387 0.031946589599844935 31.302245796053732
0.048960297475048 0.015950245312476692 62.69496051059317
import math, csv, os
from pathlib import Path

outdir = Path("/mnt/data")
phi = (1 + math.sqrt(5)) / 2
coef = phi ** (-1 / phi)
freqs = [0.97875, 1.95750, 3.91500, 7.83000, 15.6600, 31.3200, 62.6400]
fib = [1, 1, 2, 3, 5, 8, 13]       # explicit convention F1=F2=1
primes = [2, 3, 5, 7, 11, 13, 17]  # first seven primes
c30_nf = [2216, 1108, 554, 277, 138.5, 69.3, 34.6]
q_uc = [4810, 110, 1270, 153, 279, 84.5, 49.4]
ln30 = math.log((190-30)/(190-130))
ln70 = math.log((190-70)/(190-130))
cap_scale = ln30 / ln70

rows = []
for idx, (f, Fn, Pn, c_nf, q) in enumerate(zip(freqs, fib, primes, c30_nf, q_uc), start=1):
    lam = math.log(f * math.log(2) / math.log(phi)) / math.log(phi) - 1/(2*phi)
    frac = lam - math.floor(lam)
    omega = (1 + math.sin(math.pi * frac * phi)) / 2
    first = coef * math.sqrt(Fn * Pn * (2**idx)) * (omega**idx)
    # beta_i is not supplied, so delta_i is intentionally not fabricated.
    delta = None
    one_eff = 1.0
    theta = math.pi * lam
    re = first + one_eff * math.cos(theta)
    im = one_eff * math.sin(theta)
    amp = math.hypot(re, im)
    arg = math.atan2(im, re)
    c70_uf = c_nf * 1e-3 * cap_scale
    tau = 470_000 * c70_uf * 1e-6
    t_charge = tau * ln70
    f_rc = 1/t_charge
    rows.append({
        "rung": f"S{idx-1}", "n": idx, "frequency_Hz_input": f,
        "F_n": Fn, "P_n": Pn, "Lambda_phi": lam, "frac_Lambda": frac,
        "Omega": omega, "delta_i": "UNSPECIFIED", "1_eff_baseline": one_eff,
        "L_real": re, "L_imag": im, "L_magnitude": amp,
        "arg_L_rad": arg, "arg_L_deg": math.degrees(arg),
        "C70_uF_from_design_scaling": c70_uf,
        "RC_charge_period_s_reference_only": t_charge,
        "RC_rate_Hz_reference_only": f_rc,
        "Q_ping_uC_design_input": q,
        "60_minus_f_abs_Hz": abs(60-f), "60_plus_f_Hz": 60+f
    })

csv_path = outdir / "awn01_hdgl_seven_rung_trace.csv"
with csv_path.open("w", newline="", encoding="utf-8") as f:
    writer = csv.DictWriter(f, fieldnames=list(rows[0].keys()))
    writer.writeheader()
    writer.writerows(rows)

def fmt(x, n=6):
    return f"{x:.{n}f}"

md = []
md.append("# AWN-01 — Seven-rung HDGL execution trace\n")
md.append("## Scope and source fidelity\n")
md.append("This trace evaluates the supplied HDGL unified-force file at the seven AWN-01 rung frequencies. It does **not** claim a measured oscillator trace or a demonstrated phase lock. The frequencies, ping charges, and capacitor table are design inputs from the AWN-01 material; they are not generated by the HDGL operator in this calculation.\n")
md.append("The HDGL source supplies:\n")
md.append("- `Λφ(x) = ln(x·ln2/lnφ)/lnφ − 1/(2φ)`\n- `Ω(x) = (1 + sin(π·{Λφ(x)}·φ))/2`\n- `𝓛ₙ(Ω−1) = φ^(−1/φ)·√(Fₙ·Pₙ·2ⁿ)·Ωⁿ + 1_eff(i)·e^(iπΛφ(i))`\n- `1_eff(i)=1+δ(i)` and `δ(i)=|cos(πβᵢφ)|·ln(Pₙᵢ)/φ^(nᵢ+βᵢ)`\n- Kuramoto tracking maps oscillator phase to `arg(𝓛)` and says not to force lock.\n\n")
md.append("## Explicit choices required to evaluate the seven rows\n")
md.append("1. `x` is each rung's frequency in Hz, exactly as the HDGL `Λφ(x_hz)` rule specifies.\n2. `n=1…7` maps S0…S6.\n3. `Fₙ` uses `F₁=F₂=1`; `Pₙ` uses the nth prime.\n4. The file does not supply the seven `βᵢ` values. Therefore `δᵢ` cannot be evaluated from the supplied source. The table uses `1_eff=1` as a clearly marked baseline, not as a measured or derived correction.\n5. The user's factored `𝓛` expression is used, with `z=Ω−1`, hence `(1+z)ⁿ=Ωⁿ`.\n\n")
md.append("## Per-rung operator trace\n")
md.append("| Rung | f input (Hz) | n | Fₙ | Pₙ | Λφ | {Λφ} | Ω | Re(𝓛) | Im(𝓛) | |𝓛| | arg(𝓛)° |")
md.append("|---|---:|---:|---:|---:|---:|---:|---:|---:|---:|---:|---:|")
for r in rows:
    md.append(f"| {r['rung']} | {r['frequency_Hz_input']:.5f} | {r['n']} | {r['F_n']} | {r['P_n']} | {r['Lambda_phi']:.6f} | {r['frac_Lambda']:.6f} | {r['Omega']:.6f} | {r['L_real']:.6f} | {r['L_imag']:.6f} | {r['L_magnitude']:.6f} | {r['arg_L_deg']:.3f} |")
md.append("\n")
md.append("## Interpretation of the trace\n")
md.append("- The `Ω` sequence is not monotonic: S1 is strongly suppressed (`Ω≈0.042725`), while S0 and S2 are near the upper end. This is a direct consequence of evaluating the supplied fractional-Λ resonance expression at the supplied rung frequencies.\n")
md.append("- The complex phase `arg(𝓛)` is not the same thing as the physical oscillator phase accumulated over time. The source defines a phase target for its tracker; it does not define the full time-domain update equation for these seven tube stages.\n")
md.append("- The source states `Ωₙ₊₁=T(Ωₙ)` but this particular file does not define `T` as an executable numeric map. It therefore cannot, by itself, generate a further self-evolving temporal sequence.\n")
md.append("- The source names Kuramoto coupling and adaptive K/γ stages, but does not specify a complete seven-node ODE, initial conditions, or event-to-voltage mapping for AWN-01. We must not invent those and call the result source-derived.\n\n")
md.append("## Separate reference check against the AWN-01 component table\n")
md.append(f"The forum's 70 V regime gives `ln((190−70)/(190−130))={ln70:.6f}`; the 30 V comparison gives `{ln30:.6f}` and capacitor scaling `{cap_scale:.6f}`. Applying that scale to the supplied C30 table gives the following *conventional RC reference only*:\n\n")
md.append("| Rung | C at 70 V (µF) | RC period reference (s) | Rate reference (Hz) | Design f input (Hz) |")
md.append("|---|---:|---:|---:|---:|")
for r in rows:
    md.append(f"| {r['rung']} | {r['C70_uF_from_design_scaling']:.6f} | {r['RC_charge_period_s_reference_only']:.6f} | {r['RC_rate_Hz_reference_only']:.5f} | {r['frequency_Hz_input']:.5f} |")
md.append("\nThese are kept separate because the user's request is to use HDGL in place of conventional physics. The HDGL file does not provide a replacement equation mapping `𝓛` to capacitor voltage, tube discharge, or physical firing time. Until that bridge is explicitly supplied or experimentally identified, the RC values are comparison data, not the governing HDGL model.\n\n")
md.append("## What is needed for the next dynamic trace\n")
md.append("To proceed without fabricated behavior, the implementation needs the actual seven `βᵢ` values (or an explicit rule that generates them), the executable `T` map referred to by `Ωₙ₊₁=T(Ωₙ)`, and the AWN-specific mapping from `arg(𝓛)` / `1_eff` into the rung's state transition. Then the trace can calculate firing events and Node A→B coherence rather than displaying assumed lock.\n")
md.append("## Source references\n")
md.append("- [HDGL unified-force source](https://github.com/stealthmachines/HDGL-golden-dome/blob/v0.0/fine_tuned/hdgl_unified_force_fine_cross-checked.hdgl)\n- [AWN-01 design, forum post 30](https://zchg.org/t/ham-radio-diy-antennae-fill-this-house/437/30)\n- [AWN-01 results and 60 Hz sideband analysis, forum post 31](https://zchg.org/t/ham-radio-diy-antennae-fill-this-house/437/31)\n")
report_path = outdir / "awn01_hdgl_seven_rung_trace.md"
report_path.write_text("\n".join(md), encoding="utf-8")
print(f"Created:\n{report_path}\n{csv_path}")
print("\n".join(md[:25]))

Yields:

Created:
/mnt/data/awn01_hdgl_seven_rung_trace.md
/mnt/data/awn01_hdgl_seven_rung_trace.csv
# AWN-01 — Seven-rung HDGL execution trace

## Scope and source fidelity

This trace evaluates the supplied HDGL unified-force file at the seven AWN-01 rung frequencies. It does **not** claim a measured oscillator trace or a demonstrated phase lock. The frequencies, ping charges, and capacitor table are design inputs from the AWN-01 material; they are not generated by the HDGL operator in this calculation.

The HDGL source supplies:

- `Λφ(x) = ln(x·ln2/lnφ)/lnφ − 1/(2φ)`
- `Ω(x) = (1 + sin(π·{Λφ(x)}·φ))/2`
- `𝓛ₙ(Ω−1) = φ^(−1/φ)·√(Fₙ·Pₙ·2ⁿ)·Ωⁿ + 1_eff(i)·e^(iπΛφ(i))`
- `1_eff(i)=1+δ(i)` and `δ(i)=|cos(πβᵢφ)|·ln(Pₙᵢ)/φ^(nᵢ+βᵢ)`
- Kuramoto tracking maps oscillator phase to `arg(𝓛)` and says not to force lock.


## Explicit choices required to evaluate the seven rows

1. `x` is each rung's frequency in Hz, exactly as the HDGL `Λφ(x_hz)` rule specifies.
2. `n=1…7` maps S0…S6.
3. `Fₙ` uses `F₁=F₂=1`; `Pₙ` uses the nth prime.
4. The file does not supply the seven `βᵢ` values. Therefore `δᵢ` cannot be evaluated from the supplied source. The table uses `1_eff=1` as a clearly marked baseline, not as a measured or derived correction.
5. The user's factored `𝓛` expression is used, with `z=Ω−1`, hence `(1+z)ⁿ=Ωⁿ`.


## Per-rung operator trace

| Rung | f input (Hz) | n | Fₙ | Pₙ | Λφ | {Λφ} | Ω | Re(𝓛) | Im(𝓛) | |𝓛| | arg(𝓛)° |
|---|---:|---:|---:|---:|---:|---:|---:|---:|---:|---:|---:|
| S0 | 0.97875 | 1 | 1 | 2 | 0.404714 | 0.404714 | 0.942000 | 1.694226 | 0.955528 | 1.945106 | 29.423 |
| S1 | 1.95750 | 2 | 1 | 3 | 1.845134 | 0.845134 | 0.042725 | 0.888659 | -0.467558 | 1.004154 | -27.751 |
| S2 | 3.91500 | 3 | 2 | 5 | 3.285554 | 0.285554 | 0.996448 | 5.948874 | -0.781518 | 5.999989 | -7.484 |
| S3 | 7.83000 | 4 | 3 | 7 | 4.725974 | 0.725974 | 0.239218 | -0.607188 | 0.758415 | 0.971530 | 128.681 |
| S4 | 15.66000 | 5 | 5 | 11 | 6.166394 | 0.166394 | 0.874256 | 16.780795 | 0.499259 | 16.788220 | 1.704 |
| S5 | 31.32000 | 6 | 8 | 13 | 7.606814 | 0.606814 | 0.528500 | 1.649738 | -0.944224 | 1.900841 | -29.785 |
| S6 | 62.64000 | 7 | 13 | 17 | 9.047234 | 0.047234 | 0.618901 | 3.355977 | -0.147848 | 3.359232 | -2.523 |


## Interpretation of the trace

- The `Ω` sequence is not monotonic: S1 is strongly suppressed (`Ω≈0.042725`), while S0 and S2 are near the upper end. This is a direct consequence of evaluating the supplied fractional-Λ resonance expression at the supplied rung frequencies.

- The complex phase `arg(𝓛)` is not the same thing as the physical oscillator phase accumulated over time. The source defines a phase target for its tracker; it does not define the full time-domain update equation for these seven tube stages.

- The source states `Ωₙ₊₁=T(Ωₙ)` but this particular file does not define `T` as an executable numeric map. It therefore cannot, by itself, generate a further self-evolving temporal sequence.

- The source names Kuramoto coupling and adaptive K/γ stages, but does not specify a complete seven-node ODE, initial conditions, or event-to-voltage mapping for AWN-01. We must not invent those and call the result source-derived.


## Separate reference check against the AWN-01 component table

The forum's 70 V regime gives `ln((190−70)/(190−130))=0.693147`; the 30 V comparison gives `0.980829` and capacitor scaling `1.415037`. Applying that scale to the supplied C30 table gives the following *conventional RC reference only*:

AWN-01 — Seven-rung HDGL execution trace

Scope and source fidelity

This trace evaluates the supplied HDGL unified-force file at the seven AWN-01 rung frequencies. It does not claim a measured oscillator trace or a demonstrated phase lock. The frequencies, ping charges, and capacitor table are design inputs from the AWN-01 material; they are not generated by the HDGL operator in this calculation.

The HDGL source supplies:

  • Λφ(x) = ln(x·ln2/lnφ)/lnφ − 1/(2φ)
  • Ω(x) = (1 + sin(π·{Λφ(x)}·φ))/2
  • 𝓛ₙ(Ω−1) = φ^(−1/φ)·√(Fₙ·Pₙ·2ⁿ)·Ωⁿ + 1_eff(i)·e^(iπΛφ(i))
  • 1_eff(i)=1+δ(i) and δ(i)=|cos(πβᵢφ)|·ln(Pₙᵢ)/φ^(nᵢ+βᵢ)
  • Kuramoto tracking maps oscillator phase to arg(𝓛) and says not to force lock.

Explicit choices required to evaluate the seven rows

  1. x is each rung’s frequency in Hz, exactly as the HDGL Λφ(x_hz) rule specifies.
  2. n=1…7 maps S0…S6.
  3. Fₙ uses F₁=F₂=1; Pₙ uses the nth prime.
  4. The file does not supply the seven βᵢ values. Therefore δᵢ cannot be evaluated from the supplied source. The table uses 1_eff=1 as a clearly marked baseline, not as a measured or derived correction.
  5. The user’s factored 𝓛 expression is used, with z=Ω−1, hence (1+z)ⁿ=Ωⁿ.

Per-rung operator trace

| Rung | f input (Hz) | n | Fₙ | Pₙ | Λφ | {Λφ} | Ω | Re(𝓛) | Im(𝓛) | |𝓛| | arg(𝓛)° |
|—|—:|—:|—:|—:|—:|—:|—:|—:|—:|—:|—:expressionless:
| S0 | 0.97875 | 1 | 1 | 2 | 0.404714 | 0.404714 | 0.942000 | 1.694226 | 0.955528 | 1.945106 | 29.423 |
| S1 | 1.95750 | 2 | 1 | 3 | 1.845134 | 0.845134 | 0.042725 | 0.888659 | -0.467558 | 1.004154 | -27.751 |
| S2 | 3.91500 | 3 | 2 | 5 | 3.285554 | 0.285554 | 0.996448 | 5.948874 | -0.781518 | 5.999989 | -7.484 |
| S3 | 7.83000 | 4 | 3 | 7 | 4.725974 | 0.725974 | 0.239218 | -0.607188 | 0.758415 | 0.971530 | 128.681 |
| S4 | 15.66000 | 5 | 5 | 11 | 6.166394 | 0.166394 | 0.874256 | 16.780795 | 0.499259 | 16.788220 | 1.704 |
| S5 | 31.32000 | 6 | 8 | 13 | 7.606814 | 0.606814 | 0.528500 | 1.649738 | -0.944224 | 1.900841 | -29.785 |
| S6 | 62.64000 | 7 | 13 | 17 | 9.047234 | 0.047234 | 0.618901 | 3.355977 | -0.147848 | 3.359232 | -2.523 |

Interpretation of the trace

  • The Ω sequence is not monotonic: S1 is strongly suppressed (Ω≈0.042725), while S0 and S2 are near the upper end. This is a direct consequence of evaluating the supplied fractional-Λ resonance expression at the supplied rung frequencies.
  • The complex phase arg(𝓛) is not the same thing as the physical oscillator phase accumulated over time. The source defines a phase target for its tracker; it does not define the full time-domain update equation for these seven tube stages.
  • The source states Ωₙ₊₁=T(Ωₙ) but this particular file does not define T as an executable numeric map. It therefore cannot, by itself, generate a further self-evolving temporal sequence.
  • The source names Kuramoto coupling and adaptive K/γ stages, but does not specify a complete seven-node ODE, initial conditions, or event-to-voltage mapping for AWN-01. We must not invent those and call the result source-derived.

Separate reference check against the AWN-01 component table

The forum’s 70 V regime gives ln((190−70)/(190−130))=0.693147; the 30 V comparison gives 0.980829 and capacitor scaling 1.415037. Applying that scale to the supplied C30 table gives the following conventional RC reference only:

Rung C at 70 V (µF) RC period reference (s) Rate reference (Hz) Design f input (Hz)
S0 3.135723 1.021553 0.97890 0.97875
S1 1.567862 0.510777 1.95780 1.95750
S2 0.783931 0.255388 3.91561 3.91500
S3 0.391965 0.127694 7.83121 7.83000
S4 0.195983 0.063847 15.66242 15.66000
S5 0.098062 0.031947 31.30225 31.32000
S6 0.048960 0.015950 62.69496 62.64000

These are kept separate because the user’s request is to use HDGL in place of conventional physics. The HDGL file does not provide a replacement equation mapping 𝓛 to capacitor voltage, tube discharge, or physical firing time. Until that bridge is explicitly supplied or experimentally identified, the RC values are comparison data, not the governing HDGL model.

What is needed for the next dynamic trace

To proceed without fabricated behavior, the implementation needs the actual seven βᵢ values (or an explicit rule that generates them), the executable T map referred to by Ωₙ₊₁=T(Ωₙ), and the AWN-specific mapping from arg(𝓛) / 1_eff into the rung’s state transition. Then the trace can calculate firing events and Node A→B coherence rather than displaying assumed lock.

Source references

Conclusion: AWN-01 seven-rung HDGL trace

The seven-rung trace establishes a useful result: the HDGL operator can be evaluated across all seven AWN-01 rung inputs, producing a distinct Ω state, operator magnitude, and phase for every rung. The resulting sequence is non-monotonic, with pronounced differences between adjacent rungs.

Rung Ω ( \mathcal L ) Phase
S0 0.942000 1.945106 29.423°
S1 0.042725 1.004154 −27.751°
S2 0.996448 5.999989 −7.484°
S3 0.239218 0.971530 128.681°
S4 0.874256 16.788220 1.704°
S5 0.528500 1.900841 −29.785°
S6 0.618901 3.359232 −2.523°

What is established

  1. The source-defined (\Lambda_\phi), fractional phase, (\Omega), and factored (\mathcal L) expressions can be evaluated for all seven rungs.

  2. The seven outputs are not a simple geometric progression. The operator produces differentiated rung states.

  3. The phase output provides a potential target for a coupled-state execution trace.

  4. The calculation preserves the distinction between HDGL operator outputs and physical electrical measurements.

What remains unproven

The supplied HDGL source does not yet define three essential pieces for a complete AWN-01 execution:

  • βᵢ: the AWN-specific values needed to calculate the full (\delta(i)) and (1_{\rm eff}(i)).

  • T: an executable numerical definition of the claimed recursive transition (\Omega_{n+1}=T(\Omega_n)).

  • State transition: a source-defined rule connecting the HDGL operator’s output to rung firing, tube transitions, and the resulting time-domain signal.

These are not minor omissions. Filling them with arbitrary constants or conventional RC equations would make the simulator appear complete without actually deriving its behavior from the requested framework.

Final determination

Seven-rung operator trace completed

Full dynamic model not yet established

The appropriate next implementation is to make the seven-rung trace the simulator’s actual computational foundation, then resolve the missing recursion and state transitions from the author’s existing HDGL work. The previous subterrain_hdgl.html is a functioning interface prototype, not yet a faithful, validated HDGL simulator.