Scott Anthony Robson
Scientist · data · radio · forest · code
POSTS 26 TAGS 14
TAGS ALL Biology Radio Mushrooms Nature Science Shortwave Electronics Numbers Stations Hiking Randomness Curiosities Math Mathematics Probability
THEME

Analyzing the WWV/WWVH Time Signal on 15 MHz

The Magic of Radio Wave Propagation

Imagine a beam of light racing around Earth’s equator at 299,702,547 meters per second. In just 0.134 seconds, it would complete the journey and hit us in the back. This calculation is straightforward:

$T = \dfrac{40075000}{299702547} = 0.13371591399$ seconds

But here’s where things get interesting: while light travels in straight lines and disappears beyond the horizon due to Earth’s curvature, radio waves in the High Frequency (HF) band (3-30 MHz) have a special trick up their sleeve. They can bounce off the ionosphere—a layer of charged particles in Earth’s upper atmosphere—allowing them to travel far beyond the horizon.

This remarkable property of HF radio waves enables long-distance communication without the need for wires or satellites. But it gets even more fascinating: because these waves follow predictable paths through the atmosphere, we can actually calculate how far away a radio signal originated. All we need is a reference time to compare the signal against, and we can determine the source’s distance with surprising accuracy.

This ability to “bend” around Earth’s curvature makes HF radio waves not just a means of communication, but also a tool for measuring distances across the globe.

Loading Libraries

Reading in massive IQ file

Resizing Data

Plot some of the transform

Looking at accumulative trances around the start of every minute

Modeling the 800 msec Envelope

Fitting

(8, 200)
[18.66503136 19.01079225 19.67016744 19.33521841 20.01496352 19.60958308
 20.97870987 19.88572992]
[0.79124762 0.54791341 0.79155523 0.4705195  0.34865943 0.53787142
 0.70727115 0.63355319]
array(0.13082639)
array(0.02443936)
array([498.69768125, 498.82687994, 498.39402808, 499.02650424,
       499.18136159, 499.19634433, 498.36120488, 498.68941852])
array([517.36271261, 517.83767218, 518.06419551, 518.36172265,
       519.19632512, 518.80592742, 519.33991474, 518.57514844])
array([ 0.,  4.,  8., 12., 16., 20., 24., 28., 32., 36.])
numpy.ndarray