Return to KLUBNL.PL main page

[Top] [All Lists]

Re: LF: Coherent BPSK on LF using EbNaut

To: [email protected]
Subject: Re: LF: Coherent BPSK on LF using EbNaut
From: Johan Bodin <[email protected]>
Date: Mon, 28 Sep 2015 15:08:12 +0200
In-reply-to: <[email protected]om>
References: <[email protected]> <[email protected]om> <[email protected]> <[email protected]> <[email protected]om> <[email protected]> <[email protected]om>
Reply-to: [email protected]
Sender: [email protected]
User-agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:38.0) Gecko/20100101 Thunderbird/38.2.0
Aha... Thanks Andy.

I assume that the second -S2 in your _expression_ of Q is a typo. If changed to -S3 it all makes sense and the mixing with a quadrature LO at Fs/4 becomes clear. It was something like this I had in mind. This is of course possible to do directly at RF but now I see that downconversion to a low IF before this process is a better idea since it doesn't require heavy decimation of a signal with ridiculous Fs / BW ratio and it stays away from 1/f noise in analog parts as well.

I was thinking along the lines of a QSD when I suggested the simple sampling sequence I, Q, -I -Q. There is no doubt that the hardware QSD *does* work although the samples are not instantaneous but rather averaged over a 1/4 LO cycle in the 4 LPFs of the QSD. Without thinking too much, I had the feeling that a narrow BPF ahead of the ADC would "smear" the signal in the time domain and produce a similar result in the ADC case...

Interesting anyway.

Johan SM6LKM

Andy Talbot wrote:
No, this doesn't work as the sampling of the I and Q information must be simultaneous.   Doing it your way, they are offset by a cycle of Fc

In fact, I had this very discussion with G3PLX back in 1997 as I was looking at doing it all in one of the early PICs around then (the old 16C71 device).    His suggestion was to do the following:

Sample a signal centred on 1kHz at 4kHz sampling rate and number successive samples S1, S2, S3 and S4, repeating after the four.

Construct the two values  I = S1 + S2 - S3 - S4   and  Q = S1 - S2 - S2 + S4.  This has the effect of multiplying the 4kHz sampled waveform by two 1000Hz SQUARE waves and mixes the signal to baseband  centred on 1000Hz input with a final sampling rate of 1kHz.

Forming this sum of four samples is a decimation of the base sampling rate from 4kHz to 1kHz .  Normally decimation requires the input to be pre-filtered to suit the output sampling rate, and this can't be done on the chip.

But if the baseband is externally limited to the range 750 to 1250Hzit will prevent and aliasing.  
Back then that was done by using a receiver in CW mode with its 300Hz filter to guarantee a bandpass filtered 1kHz tone.

It worked quite well, considering the rather average 8 bit A/D inside the early PIC devices, and allowed me to measure the phase of off air signals like MSF and others with remarkable success. 
The receiver was an RA1792 with external reference driven from a caesium standard.  I subsequently got rid of that Rx, and don't actually have any HF receiver that can be locked to a reference.  Hence the thoughts about doing  accustom LF one for low bandwidth signals.  I do still have the Cs standard, but to avoid wearing out the tube (which is still healthy) leave it in free-run mode with just its OCXO operational until needed.  It only takes about 1.5 - 2 hours to warm up to full operation.   The OCXO alone is almost as good as a rubidium standard, provided I adjust it slightly for summer / winter mean temperatures

Andy  G4JNT

On 28 September 2015 at 11:54, Johan Bodin <[email protected]> wrote:
Is it really necessary to mix down to baseband before doing the A/D conversion? Wouldn't direct sampling with fs =  four times the carrier frequency do the trick? I think that an I/Q signal at zero beat could be constructed by combining the A/D samples: Sample #1 = +I, Sample #2 = +Q, Sample #3 = -I, sample #4 = -Q and then the cycle repeats. Combined with bandpass preselection, it will work much like a Softrock style "QSD". Pseudocode:

for (;;)
  i = adc_measure();
  q = adc_measure();
  i -= adc_measure();
  q += adc_measure();
  decimate_to_slightly_above_2x_baseband_BW_and_useTheSignal (i, q);

The LO simply clocks the ADC instead of driving a mixer. No big deal for a modern ADC on LF and below (frequency-wise...).

A nice side effect is that the need for baseband amplification is removed and the problems with close-to-dc amplifier 1/f noise disappears.

Will it work?

Johan SM6LKM

Andy Talbot wrote:
Hadn't appreciated that was what it was doing until I read the description in more detail.   I suppose that if soundcards are going to be used as the interface some sort of locking will have to be used.   G3PLX used his clicklock technique for phase coherency, where the 1 PPS is bled into the receive path. You go one further and mix in the  NMEA stream audio as well for time stamping.   A neat solution to making use of what is really unsuitable hardware.  Soundcards really aren't precision measurement tools !

It may be time to revisit the LF receiver in that case.    Something like a direct I/Q downconversion from LF to baseband, low pass filtering  then I/Q sampling into an A/D at something like 1kHz (or even lower), sending the resulting samples to a PC using a basic USB (or even a COM ) port.  Then for backwards compatibility adding in the GPS timestamp information in the same way .

Getting a certain sense of Deja-vue here.    Back when LF was new, and soundcards were rarely used for radio and GPS receivers rare, I did start to build a custom LF Rx doing just this technique and managed to receive coherent carriers from such as MSF and the Swiss one and see how their phase shifted with the ionosphere. For freqeuncy reference I used my caesium standard.    But it never went anywhere long term on 73 & 137kHz because a) PC technology moved faster and everyone else was adopting soundcard ideas and b)  The PIC processors I was using  were still new than and had pretty basic functionality making everything hard work  and c) no one seemed bothered since QRSS has just become widely popular and they all used that mode.
ow, nearly 20 years later, the direct conversion LF receiver (Softrock type perhaps) and a new generation of processor chips make the job a lot easier.   
DDS or Fract-N synth LO, Quadrature mixer, simple (just analogue perhaps) low pass filter, dual A/D , PIC, PC interface

Andy  G4JNT 

On 26 September 2015 at 14:17, Paul Nicholson <[email protected]> wrote:

Very nice to see this working at LF with short symbols.
The phase was stable enough for the 20 or so minutes of each
transmission on this path of circa 1000km.

S/N of IZ7SLZ at DF6NM suggests that a contact would not have
been possible (at this symbol rate and signal strength) without
using coherent detection - it would be a few dB too weak.

The phase looks pretty steady.  The ionosphere and the local
oscillators are both looking very good here.  I wonder how
long the phase can keep stable for - or in other words, the
max message duration?

A fine achievement, well done to both.  It's great to see a
two-way contact using this mode and this demonstration that
it works at LF opens up some interesting possibilities.

Andy Talbot wrote:

> Unfortunately, I see it is not standalone, and requires
> Spectrum lab to act as the audio "front end" ...

Spectrum Lab in fact does most of the work:  Digitising
the audio, frequency shifting and the delicate business of
resampling with reference to GPS pulses so that each audio
sample is UT synchronous and at a constant sample rate.
Then there is filtering and if necessary, noise (sferic)
blanking.  SL even handles the decoding of GPS messages so
that it can accurately time the reception.  After all that,
ebnaut is just a small 'back-end' decoder.

This mode is not easy to use.  It requires some technical
skill to arrange atomic quality reference oscillators at
each end and to get the software set up correctly.

For those that can rise to the challenge, the potential gain
is several dB over any other mode on paths where the phase
is fairly stable for the duration of a transmission.

Coherent BPSK has been used for amateur satellites and packet
networks, for a long time.  These applications extract a
reference phase from the received signal (using a Costas loop
or equivalent).  EbNaut works even when the signal is too weak
to extract a reference phase.

More info at

Paul Nicholson

<Prev in Thread] Current Thread [Next in Thread>