Friday, March 11, 2011

setiQuest Voyager

The baudline signal analyzer looked at the setiQuest Voyager data set that is part of the SonATA source code package. The NASA Voyager 1 probe is about 106 AU from the Sun which makes it the most distant object humans have ever sent into space. Voyager is very far away and it's telemetry signal is very weak.

This Voyager data set was collected from the multicast UDP packets output by one of SonATA's channelizers. The format is different from previous baudline/setiQuest analyses. It is 16-bit quadrature samples but more importantly it is packetized and contains two polarizations. A simple strip_header demux program was created for this analysis.

The following command line was used to stream the Voyager data file into baudline:

cat vger-2010-07-14-406.pktdata | strip_header | baudline -session voyager -stdin -format le16 -channels 2 -quadrature -samplerate 546133

8419.53 MHz
The Voyager signal is so weak that the spectrogram looks like noise. Accumulating spectral curves with the Average display (green Fourier below) to reduce the variance of the noise floor doesn't help. Enabling baudline's Auto Drift algorithm (purple below) changes the situation and the drifting signal pops out of the noise.

The standard Fourier transform found a flat featureless spectrum. Auto Drift found a strong signal near +11200 Hz about 10 sigma above the noise floor that has a -0.473 Hz/sec drift rate. Let us zoom in and inspect this signal is greater detail.

+11689 Hz
Decimation by 2048 and a 2048 point FFT for a 0.26 Hz/bin resolution gives a better view. Here is baudline's spectrogram display:

The Voyager telemetry signal is Doppler drifting at a very linear -65.4 Hz / 139 seconds = -0.471 Hz/second rate due to the Earth's rotation. This manual drift rate measurement matches the Auto Drift rate value to within an error ±0.002 Hz/sec.

Baudline's Auto Drift feature made finding the drifting Voyager signal extremely easy. After it was found in the Average display the spectrogram display was zoomed and scrolled into position. A -0.47 Hz/sec drift rate seems a bit high. Need to check with the SETI Institute if this is a reasonable value. Next step demodulation ...


Data licensed through SETI.
Software licensed through SigBlips.


Unknown said...

My numbers don't quite come together for this...

According to DSN at home and the datalink pdf :
High Gain Antenna transmits two channels.
- XBand at 8.4 gigahertz contains science and engineering data at as much as 7.2 kilobits per second
- S-band channel 2.3 gigahertz only engineering data on the health and state of the spacecraft at 40 bits per second not in use

and according to Wikipedia (should I look for a better source?)
As of March 9, 2011, Voyager 1 was about 116.406AU,
Voyager 1's current relative velocity is 17.062 km/s
about 10% faster than Voyager 2 puts that one at 15.36 km/s

Shouldn't that be about 478 KHz down? i.e not 11.2 Khz up?
Am I reading the entry wrong?

The drift rate - assuming I am reversing the Doppler eqn correctly comes out to an acceleration of about 1.67 cm/s^2
Since I think the Earth's centripetal acceleration at the equator 3.37 cm/s^2 your drift should be inside + or - that, which it seems to be...

Jon Richards said...


I think Martin's question is a great one. I don't pretend to understand the complexities of this, but what is your response? I'm interested to know.

baudline said...

Hello Martin,

After closer inspection of the drifting weak signal in this Voyager data file it doesn't look like a modulated signal at all. It looks more like an idle pilot tone. Unfortunately there is no information to demodulate. ):

I don't have a good answer as to why the signal is at the wrong frequency. It could be that the tuner frequency at the ATA was recorded incorrectly. It also could be that this signal is actually a sideband far from the main signal. I just don't know.

Gerry Harp left a wonderfully informative comment about the Doppler drift of this Voyager signal over in the setiQuest forum.

The source code for the strip_header program, how to compile it, and information on how to use it can be found here.