An analysis of ZEVS messages during the russian invasion in Ukraine in 2022

In the last article i’ve written about a method of automatically finding ZEVS trasmissions, and an analysis of it’s messages: Analysis of ZEVS messages

Luckiny i have data from 25 August 2021 until now. Using it i can check if anything has changed during the Russian invasion of Ukraine in 2022.

These are encrypted military messages. So there is no reason to analyze them, right? 🙂

Continue reading “An analysis of ZEVS messages during the russian invasion in Ukraine in 2022”

Analysis of ZEVS messages

Russia uses radiocommunications in the ELF band to send messages to it’s  nuclear submarine fleet. This transmitter it called ZEVS, the frequency is 82Hz (yes: hertz, not kilohertz, not megahertz). For more info see here: http://www.vlf.it/zevs/zevs.htm

I’ve installed a grabber on the KLUBNL.PL page showing the spectrum around 82Hz. It is available here: https://klubnl.pl/wpr/index.php/klubnl-pl-grabbers/grabber-zevs-82hz/

This grabber calculates the spectrum in 80-84Hz every 60 seconds, and makes spectrograms out of it. The files with the spectrum information are not deleted, so out out of coincidence i have a history of data from 25 August 2021 until now (around 10 June 2022).

And since i have this data, it would be nice to do an analysis how the messages to the submarine fleet look like, and how often are they transmitted.

Example ZEVS transmission
The spectrum of an example ZEVS transmisson. The signal around 83.3-83.5Hz is some local interference.

Continue reading “Analysis of ZEVS messages”

ULF 2970.1 reception record

Stefan DK7FC transmitted at 6 aptil 2019 20:25 UTC at 2970.1Hz. The TX power was 487W into a 1130m ground dipole antenna. The ebnaut transmission parameters were:

f = 2970.1 Hz
Start time: 06.APR.2019 20:25:00.3 UTC
Symbol period: 6 s
Characters: 7
CRC bits: 16
Coding 16K21A
Antenna current: 2.4 A
Duration: 02:04:48 [hh:mm:ss]

The signal was received by Jacek / SQ5BPF in Warsaw/ Poland KO02md, at a distance of 976km!

After the filtering and noise blanking was optimised, the signal could be decoded:

sq5bpf@jitter:/stuff2/sq5bpf/vlf_stefan2$ vtcat -p < stefan_2970_1 | vtfilter -a th=4 -h bp,f=2970,w=2200 > ../vlf_stefan2/pliktmp6


sq5bpf@jitter:/stuff2/sq5bpf/vlf_stefan2$ vtblank -v -d0.0007 -a20 -t 50 < pliktmp6 | vtmult -f 2970.1 | vtresample -r 240 | vtresample -r 10 |vtraw -oa | ebnaut -dp16K21A -r10 -c2 -v -k16 -S6 -N7 -PS -L 50000


vtblank: selected channel: 1 = -:1
vtblank: channels: 1, sample_rate: 48000
vtblank: hfactor: 0.000e+00
vtblank: afactor: 20.000
initial reference phase -89.4 amplitude 7.496e-04
phase 0 0 0 0 0
vtblank: end of input
vtblank: dropsum 0 64750004, nfp 359999999
vtblank: dropfactor 0 1.799e-01
found rank 14143 ber 4.2548e-01 Eb/N0 -2.5 M -2.143712342e-02 ph 0 0,0,0,0 [DK7FC/P]
carrier phase: -10.6 deg
carrier Eb/N0: -0.4 dB
carrier Es/N0: -15.33 dB
carrier S/N: 15.63 dB in 133.5 uHz, -23.11 dB in 1Hz, -57.09 dB in 2.5kHz
elapsed 92

The message was: DK7FC/P

Link to Stefan’s email:

https://klubnl.pl/rsgb_lf_group-archives/html/rsgb_lf_group/2019-04/msg00042.html