How to receive signals from the German Navy with a sound card, or study ultra-low frequency radio signals

Hello, Habr.



The topic of receiving and analyzing ultra-long waves is very interesting, but it is rarely mentioned on Habré. Let's try to fill the gap and see how it works.





VLF transmitter in Japan (c) en.wikipedia.org/wiki/Very_low_frequency



VLF



Ultra-low frequencies are considered to be frequencies of the radio range with a frequency of less than 30 KHz. Interest in them from the military appeared long ago, when it became clear that radio waves of such a long wavelength (wavelength up to 100 km!) Can penetrate water, and they can be used to communicate with submarines. It is difficult to say who came up with this method, but already in 1943, the Goliath transmitter was launched in Germany , transmitting data to submarines at frequencies of 15-25 kHz. After the war, the transmitter was disassembled, transported to the USSR and restarted, and according to Wikipedia, it still works.



The efficiency of any antenna depends on the wavelength, and for very long waves, the antenna efficiency is also ultra-low - at megawatts, the radiated power (EIRP) is only 30-50 kW. However, the possibility of covert transmission of signals to submarines is very attractive, so that did not stop anyone - such systems, of course, still work today. It is very difficult to transmit VLF signals, but anyone can receive them. You don't even need a radio receiver for this, frequencies of 20-30 KHz are quite available for a regular PC sound card. We'll have to take a longer cable, connect it to the input of the sound card and go with a laptop somewhere in the forest or in the field, where there is no industrial interference. Although modern technologies provide a much more convenient way of receiving - online using SDR.For example, you can see the panorama of the Dutch University receiverTwente :







All vertical lines are current systems. The result is amazing, the VLF spectrum is "jammed" no less than the evening broadcast on the FM broadcast band. Let's see what we can see here.



At frequencies of 12-15 KHz, we see tags related to the Russian radio navigation system Alpha (the full name is RSDN-20 - Radio Technical System of Long-Range Navigation). According to Wikipedia, Alpha transmitters operate at 11.9, 12.6 and 14.8 kHz, and the system provides positioning accuracy of up to 1.5 km. However, in the panorama no impulses are visible, maybe they have an outputthe receiver in Twente is not sensitive enough for this signal, or the radio signals are transmitted according to some kind of schedule. The next to operate at 16.4 kHz is the Noviken transmitter located in Norway. It makes no sense to list the rest, the list can be viewed on Wikipedia .



Reception



How ultra-low frequency signals are received is no less interesting question. But for obvious reasons, there is practically no detailed information on communication equipment with submarines in open sources. The general idea can be understood from the picture:





Over-the-horizon signal propagation © IEEE Communications Magazine 1981



As you can see, a long wire is used as an antenna, which either simply stretches behind the boat, or is held at a certain depth by a special buoy. The antennas themselves, obviously, are not secret, pdf with a description is quite easily found by Google:







The cable length of 700 m is impressive, but fortunately for us, "on land" everything is much simpler, and such giant antennas are not required, you can receive VLF signals even on portable antenna MiniWhip located on the balcony.



Recording and analysis



Now let's see the structure of the transmitted radio signal. For example, I took a random DHO38 signal transmitted at 23.4 kHz from Germany. For recording, we select the frequency and modulation as shown in the figure, and click the Audio Recording button.







The resulting file can be opened in the free Signals Analyzer program . From the picture it is obvious that the signal uses frequency modulation (FSK):







Let's apply the FSK demodulator, we get a sequence of bits:







By the way, the transmission rate is 200 bits per second - to watch youtube, definitely not enough, but for a submarine at a depth of 30 m, even so and that's not bad. And as you might guess, VLF communication is one-way - the crew of the boat cannot answer from under the water.



Let's consider the signal in more detail. Let's save the file obtained after FSK decoder in WAV. Of course, we will not be able to receive the contents of the transmission - the signal is most likely encrypted. But you can see the structure of a bitstream by "expanding" it into a 2D image using Python. If the data contains any repeating fragments (for example, the stream is split into packets of a certain length), then this will be clearly visible on the image.



Source
from scipy.io import wavfile
import matplotlib.pyplot as plt
from PIL import Image

_, data = wavfile.read('websdr_recording_2020-11-06T15_00_00Z_23.4kHz_.wav')
print("WAV: %d samples" % data.shape[0])

for iw in range(400, 1024, 2):
    print("Saving: {} of {}...".format(iw, 1024))
    w, h = iw, 800
    image = Image.new('RGB', (w, h))

    px, py = 0, 0
    for p in range(data.shape[0]):
        image.putpixel((px, py), (0, data[p]//16, 0))
        px += 1
        if px >= w:
            px = 0
            py += 1
            if py >= h:
                break

    image.save("image-%d.png" % iw)


We don't know the parameters of the transfer, so we'll just go over all the output options. The result will be a set of files that looks something like this:







It is easy to see that some patterns are easily guessed at a certain image width. Bitstream enlarged:







Those interested can experiment with the width of the picture on their own, the principle, I hope, is clear. The slope of the lines is due to the fact that the frequencies of the transmitter and receiver do not match. Of course, to get a full-fledged bitstream, 20 lines of code is clearly not enough, and writing a digital demodulator with PLL is clearly beyond the scope of this article. And by and large, there is not so much sense in this - the signal is still encrypted, and even with bit data, we will not do anything else. Although those who wish can try to search for patterns on their own.



Conclusion



As you can see, the study of such communication systems is of not only technical, but also historical interest. And at ultra-low frequencies there are still many interesting signals, including those of natural origin, for example, Schumann resonances at frequencies of 10-20 Hertz.



As a bonus for those who have read this far: those wishing to see "live" how transmission and reception work on such frequencies can try to receive the German station Pinneberg , which broadcasts weather reports in open form at 147.3 kHz. You can decode the signal using different programs, for example MultiPSK. You can also consider decoding using Python, if you are interested, write in the comments.



As usual, good luck to everyone.



All Articles