Current VLF Monitoring All Channels:
2 Hours
6 Hours
12 Hours
3 days (4223 x 3207 image)
3 day's (4223 x 3207 image) white background
Last Day's VLF Monitoring (All Channels)
Animation of Daily Monitoring
Left: A potpourri of current VLF observations in rotation (animated GIF)
Signal strengths are normalized.
Green: NLK 24.8 Jim Creek WA 170 sm
Blue: NPM 21.4 Oahu HI 2600 sm
Yellow: NWC 19.8 Exmouth AU 9200 sm
Rose: NAA 24.0 Cutler ME 2310 sm
Lavender NML 25.2 LaMoure, ND 1026 sm
Pink JJI 22.2 Japan
Orange NAU 40.7 Puerto Rico
Brown ISM?? 20.27
Histrograph (green enclosed in lavender): Amplitude distribution of the last minute's raw data samples from NLK 24.8 kHz
Receiving Location N 45 35.689 W 122 52.420 319'
Left: Solar flares recorded Jan 19 2010.
Colors as above.
The signal from NLK (green trace)
170 miles north is interesting
suggesting phase cancellation on one of the solar flares.
Antennas for VLF monitoring can be monopole E-field, dipole E-field, and H-field (loop). For best reception, the antenna should be far away from anything electrical. But even with a 700 foot lead-in under the Multnomah Channel, excessive noise was transmitted on the coax shield from the receiving installation to a monopole E-field antenna where it was amplified by its preamp and returned to the receiver. A dipole E-field antenna or H-field antenna suppresses noise carried to the antenna on the coax shield.
For casual experimenting, just throw some wire around and you should be able to pick up a nearby signal or two.
In my current installation, two loops are strung between convenient pairs of trees a dozen or so feet apart. The larger the loop and the more turns the better. The loops are some 20 feet from the house. The farther away the better.
One loop favors NLK in Jim Creek, Washington, only 170 miles away. That may be too close for good SID monitoring.
The larger loop favors NWC in Australia and is used for the other six signals. A two conductor shielded cable is used for lead-in. One end of each loop is connected to the shield. The loop's low impedance tends to short out local noise impressed on the shield. However, an exercise treadmill puts out enough hash to obliterate all signals including local AM radio stations.
No preamp is used. A simple circuit consisting of a series 1k resistor and back to back diodes parallel to the input protects the motherboard from moderate voltage spikes.
The signals are processed by Gnuradio (grc) running under Fedora Linux. Xlinrad may be used to scan the spectrum for signals when data is not being taken.
The GRC audio source (Audio.py) is modified to run at a 96 kHz sample rate by adding 96 and 192 entries to the sample rate choices. The "audio source" is connected to bandpass filters with a decimation of 100. The decimation reduces the CPU load. The filters' outputs are connected to an RMS converter, then to a low pass filter with a further decimation of 10, and finally a file sink.
The input signal is also connected to a graphical FFT sink.
GRC won't execute if the FFT sink is removed. The FFT size and frequency can be increased but doing so will dramatically increase CPU utilization.
This application appears to take about 5 per cent of a mid-level
modern CPU (Core Duo E6550)
according to the Linux top(1) display.
The minimum requirement for this application is an audio line input with a sampling frequency of 96 kHz. A 192 kHz a/d seems better yet, even if the top speed is unused. A good choice seems to be the Asus Xonar sound board. I am using the cheapest $86 PCI/e 1x version.
Excellent results have also been achieved with motherboards using an IDT 92HD202 codec. A motherboard with a Realtek ALC888 gave disappointing results, apparently due to intermodulation. A Gigabyte motherboard with ALC889a codec requires a preamp to overcome excessive noise on its line input.
Gnuradio uses a 8192 byte buffer for file output. This requires a higher than desired data rate to keep latency reasonable.
Each of the file outputs feeds to a named pipe. Each pipe is drained by a program (vlf6) that reads 5000 samples, sorts them, averages the middle half of the values, and outputs a timestamp and average value about once every 25 seconds. This processing is designed to reject noise impulses.
The display programs allow the timebase to be adjusted. The horizontal and vertical axes are adjusted to fit the screen.
XML source code for grc(1)
for older GRC .
and
for newer GRC .