Sunday, May 13, 2018

Some interesting FSK signals found on HF

The following FSK modulated signals were picked up recently using KiwiSDRs located at DF0KL and at Newport,OR using

All signals use a format similar, but not identical, to STANAG 5065 where frames are delimited by LFSR-generated pseudo-random sequences. These formats may also be related to the patent EP2220799A2.

KiwiSDR location Frequency* (kHz) Date UTC Shift (Hz) Baud Format
Newport 4905.0 4/2/18 08:49 850 50 (3)
Newport 4985.0 4/2/18 08:47 850 50 (1)
DF0KL 6376.3 4/2/18 08:32 850 50 (2)
DF0KL 13419.8 4/5/18 14:46 850 50 (2)
DF0KL 16123 4/2/18 10:35 850 50 (1)
Newport 7455.0 4/2/18 08:56 850 50 (1)
DF0KL 8518.8 4/2/18 08:35 850 50 (2)
*center frequency between mark and shift

The recorded IQ data streams were demodulated using a combination of octave and C++ code, see

For testing if a given bit sequence is generated by a LFSR, a simple method was used which is described, e.g., in this thesis. This method uses Gaussian elimination over GF(2) for finding the the generating polynomial (which is not guaranteed to be minimal, unlike the result of the Berlekamp–Massey algorithm).

All signals shown in the table above consist of 7- or 21-bit long frames which are marked by LFSR-generated pseudo-random sequences:

Format (1): 7-bit frame delimited by F1
X X X X X X F1
1 2 3 4 5 6 7

Format (2): 21-bit frame delimited by F2, F3
X X X X X X X X X X X X X F2 X X X X X 1 F3
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21

Format (3): 7-bit frame delimited by F4
X X X X X X F4
1 2 3 4 5 6 7

The pseudo-random sequences F1, F2, F3, F4 are generated the following polynomials:

sequence polynomial period recursion
F1 P1=1+x28+x31 231-1 F1(t) = F1(t-3)+F1(t-31) mod 2
F2 P2=1+x+x6 26-1 F2(t) = F2(t-5)+F2(t-6) mod 2
F3 P3=1+x+x7 27-1 F3(t) = F3(t-6)+F3(t-7) mod 2
F4=F1 P4=(1+x)P1 231-1 F4(t) = F4(t-1)+F4(t-3)+F4(t-4)+F4(t-31)+F4(t-32) mod 2

For format (2) the pseudo-random sequences could have been found by autocorrelation as they are short, whereas for the other formats the length of the pseudo-random sequence is 231-1, i.e., at 50/7 baud the sequences repeats after about 3480 days only.

Format (2) which can be easily identified as a peak at position 21 in the bit stream autocorrelation is also described, e.g., here and here.


  1. Hi Christoph, interesting signals and analysis indeed. I saw you linked my blog but link point to a "logs" post, maybe a typo? I would like to replicate your analysis, can you send me those wav files? I'm also interested in your TOA studies, you wrote excellent posts, but unfortunately I'm just moving first steps in octave.
    Best 73's
    i56578 Antonio (Tony)

  2. Hi Antonio,

    the link is meant to point to a log mentioning a data stream with 21 bit ACF. I have sent you the bit streams by private email. Your blog inspired me to look into the bit streams.

    By the way, I have found encrypted bit screams with LFSR frame markers also as payload in some STANAG 4285 signals.