Sunday, December 20, 2020

HF Over-the-horizon radar processing using GNSS timestamped KiwiSDR IQ samples

OTHR parameters: 
  • Chirp repetition time Δt=20 msec
  • frequency slope=1 MHz/sec.
Its bandwidth is 20 kHz which fits nicely into the 20.25 kHz bandwidth of KiwiSDRs in 3-ch mode. 
Instantaneous frequency vs. mod(gpssec, 20 msec)


In the following we use GNSS-timestamped IQ samples for performing bi-static radar processing:
  • Dechirping and framing into 20 msec long GPS-time-aligned frames
  • interpolation in each frame (512 samples/frame)
  • compute the 1st FFT along rows -> relative range
  • compute the 2nd FFT  along columns on the result from the previous steps -> relative Doppler shift
Shown below are maps with relative Doppler frequency vs. relative range for 30 1-minute long periods, i.e., averaged over 1500 chirps each:
  • the main signal comes at two different Doppler shifts and two different ranges, corresponding to two different ionospheric propagation paths.
  • The pattern for the main signal can be found in several other places as well: this should correspond to reflections off some targets where the reflected signal then propagates with similar paths than the main component.
  • It is interesting that besides the main component there are several instances of another pattern present, having two different Doppler shifts and ranges.
  • It might also be that the secondary peaks are artifacts created by the signal processing.
Animation showing relative Doppler frequency vs. relative range.

Wednesday, June 24, 2020

AM modulation index

This is not the most exciting topic, but on the KiwiSDR forum there were repeated questions on how to measure the AM modulation index.

The best reference which I have found for that is an report from the ITUR-REP-BS.2433-2018-PDF-E, where the "RMS modulation depth", i.e., the RMS ratio of side-bands and the carrier is being used as a proxy for the modulation index.


GNURadio flowgraph for measuring AM RMS modulation depth 

First, synchronous AM demodulation is performed using a PLL which locks onto the carrier. Then the RMS power in the carrier and in the side-bands is computed and their ratio is formed. Smoothed versions of this variable are shown a number and as a histogram. Note that the "RMS AM modulation depth" block consists of just a few lines of python.

The grayed out, i.e., disabled portions of this flowgraph were used to verify that the normalization is correct.

For the BBC transmitter on 198 kHz, the RMS modulation depth was found to be about 12% at the time of measurement which is consistent with the value quoted in the ITU report mentioned above. However, this number can vary by a factor of 1.5 or more (9-18%) depending on whether the program consists of speech or of music at the time of measurement. Furthermore,  the measured modulation depth indicates that dynamic carrier suppression is being used, see again the ITU report for details.


AM RMS modulation depth for BBC on 198 kHz

Wednesday, April 15, 2020

HF TDoA multilateration (2)

This is an update to the last blog post where propagation delays from VOACAP are used in addition to great-circle-derived propagation delays.

As VOACAP provides a number of propagation modes (MODE=25) the mode which is most close to the measured time difference is used.

Note that the findings in the plots below might accidentally: when there are enough closely-spaced delays available it is quite likely to match the data.

Nevertheless it can be seen that large deviation from the hypothesis of ground-wave propagation along great-circle paths are due to different reflection heights, i.e.,  1E-1F2, 2F1-1F2, etc: at a given time, a number of different propagation paths are available, and for different combinations of receivers, different propagation modes are in fact observed.



Comparison of measured time delay differences with differences based on ground-wave propagation along great-circle paths and differences based on VOACAP predictions.

Comparison of measured time delay differences with differences based on ground-wave propagation along great-circle paths and differences based on VOACAP predictions.

Friday, April 10, 2020

HF TDoA multilateration (1)

This blog post contains an analysis of TDoA multilateration applied to signal on 13413.4 kHz using a number of KiwiSDRs located in Europe.

For now the assumption used for making the KiwiSDR TDoA maps is that signals propagate with speed of light along the ground. Here we compare the measured delay differences with the ones obtained from this assumption.

All plots shown in this blog post are generated using octave/matlab .mat files available when using the updated KiwiSDR TDoA algorithm.

The cross-correlations for all combinations of used KiwiSDRs, normalized to have their maximum at unity, are shown below.

cross-correlations

Differences between the measured values and the ones obtained from great-circle-derived time delay differences are due to ionospheric propagation. As expected, the ionospheric effects tend to cancel for pairs of KiwiSDRs which are at about the same distance to the transmitter:

Comparison of  measured with great-circle time differences

The following scatter plot shows the effect of ionospheric propagation w.r.t. great-circle propagation. It will be very interesting to re-do this analysis using propagation delays e.g. from VOACAP instead of assuming propagation along great-circles at ground level.

Scatter plot for time differences

Slightly earlier the plots looked like this:

cross-correlations

Comparison of  measured with great-circle time differences

Scatter plot for time differences


Monday, January 6, 2020

Some HF radar signals

7500 kHz


A number of similar HF radar signals have recently been observed on KiwiSDRs located in Europe on different frequencies.

The pulse repetition rate is 40 Hz (25 ms/pulse).

abs(IQ)

Each pulse consists of a linear chirp and of a pause.

FM demodulation

KiwiSDR TDoA multilateration indicates that these signals come from somewhere in Russia.

KiwiSDR TDoA multilateration

Bursts of what seem to be linear FM chirps have been observed on different frequencies around 8050±~50 kHz.

6390 kHz

Like the signal on 7500 kHz the pulse repetition rate is 40 Hz. However the duty cycle is smaller.

abs(IQ)

FM demodulation


8050 kHz


For this signal, the pulse repetition rate is 96 Hz.

abs(IQ)
Each pulse consists likely of a linear chirp. The spikes in the instantaneous frequency seen below are probably cause by HF propagation effects. Note that these radar-like signals are narrow-band (±1kHz variation in instantaneous frequency, only)

FM demodulation
KiwiSDR TDoA multilateration indicates a position somewhere in the Atlantic Ocean (compatible with the Azores).

KiwiSDR TDoA multilateration

Sunday, October 27, 2019

DGPS TDoA

Recently, some people have observed a DPGS signal on 318 kHz. Existing software displays its location as Shepelevskiy (Leningrad Oblast) ; however KiwiSDR TDoA shows a different likely location.
318 kHz DGPS

Sunday, September 8, 2019

Chirp sounder measurements with KiwiSDRs (2)

Using the recent work on KiwiSDR waterfall recording (see kiwiclient/kiwiwfrecorder.py) it becomes possible to search for chirp sounder signals in KiwiSDR waterfall data, continuing the topic from this post.

kiwiwfrecorder.py connects both to the 'SND' and the 'W/F' websocket streams. The 'W/F' stream contains sequence numbers for each waterfall line which are used to synchronize the waterfall to the audio data. These sequence numbers can also be used to attach to each waterfall line a corresponding GNSS time tag obtained from the 'SND' stream. As the waterfall data can arrive before or after the audio data, both are combined in a third thread using python Queues for thread-safe communication.

About half an hour of waterfall data was recorded on the AB1LD KiwiSDR using the highest KiwiSDR waterfall speed which turns out to provide waterfall data about for each SND frame, i.e, each 512/12000 seconds. Thanks to the owner for setting up this KiwiSDR and allowing unrestricted access!.

Then the recorded waterfall data (saved in a .npy formatted file) was rebinned in time to 1024/12000 second bins and exported as a .png file. Switching from python to octave, a search for chirp sounders was performed for chirp rates from 80  kHz/s to 130 kHz/sec in steps of 1 kHz/sec: for each chirp rate and for each start time the content of the waterfall bins was summed up along the corresponding line (Hough transform).

Two chirp sounders were found, each having a repetition rate of 720 seconds (12 minutes) with chirp rates of 82 kHz/sec and 100 kHz/sec, respectively. It might be interesting that this list of chirp sounders contains entries for three chirps sounders with 720 second periods located in Norfolk, VA, Kingsville, TX, and in Puerto Rico.

The plots below show zoomed waterfall diagrams around the chirps and on the bottom panel the result of the chirp search, i.e, the sums of waterfall bins along lines with a given slope.


1st chirp sounder detected using the AB1LD KiwiSDR

2nd chirp sounder detected using the AB1LD KiwiSDD