Return-Path: <owner-rsgb_lf_group@blacksheep.org>
X-Spam-DCC: paranoid 1233; Body=3 Fuz1=3 Fuz2=3
X-Spam-Checker-Version: SpamAssassin 3.1.3 (2006-06-01) on lipkowski.org
X-Spam-Level: 
X-Spam-Status: No, score=-0.2 required=5.0 tests=BAYES_00,DNS_FROM_AHBL_RHSBL,
	HTML_40_50,HTML_MESSAGE,RATWARE_GECKO_BUILD autolearn=no version=3.1.3
Received: from post.thorcom.com (post.thorcom.com [195.171.43.25])
	by paranoid.lipkowski.org (8.13.7/8.13.7) with ESMTP id t8SDCnEO003713
	for <sq5bpf@lipkowski.org>; Mon, 28 Sep 2015 15:12:49 +0200
Received: from majordom by post.thorcom.com with local (Exim 4.14)
	id 1ZgYBZ-0005KH-QA
	for rs_out_1@blacksheep.org; Mon, 28 Sep 2015 14:09:41 +0100
Received: from [195.171.43.32] (helo=relay1.thorcom.net)
	by post.thorcom.com with esmtp (Exim 4.14)
	id 1ZgYBZ-0005K8-2p
	for rsgb_lf_group@blacksheep.org; Mon, 28 Sep 2015 14:09:41 +0100
Received: from mailfe05.swip.net ([212.247.154.129] helo=swip.net)
	by relay1.thorcom.net with esmtp (Exim 4.86)
	(envelope-from <jhbodin@tele2.se>)
	id 1ZgYAU-0001st-Mk
	for rsgb_lf_group@blacksheep.org; Mon, 28 Sep 2015 14:09:39 +0100
X-T2-Spam-Status: No, hits=-1.8 required=5.0 tests=BAYES_00,
	HTML_MESSAGE
Received: from [81.227.25.191] (account cxu-dcw-tyr@tele2.se HELO [192.168.1.6])
  by mailfe05.swip.net (CommuniGate Pro SMTP 5.4.4)
  with ESMTPSA id 619985713 for rsgb_lf_group@blacksheep.org; Mon, 28 Sep 2015 15:08:13 +0200
To: rsgb_lf_group@blacksheep.org
References: <5601EC9F.2010607@gmail.com>
 <CAA8k23T1or-Rgck+UAGo12413LATN-dNNQTAAAiggcVmWvbxhw@mail.gmail.com>
 <56059B48.80606@freenet.de> <56069AD1.4040303@abelian.org>
 <CAA8k23Qmn7m9gZ3+BZMhW5G+qNwCrC=kzsK1pvKGvYuh4UmUnA@mail.gmail.com>
 <56091C59.5010205@tele2.se>
 <CAA8k23Sxv8tWRXByE5xLM5Metq6KU=u0CAJXra3-waKWuYZrrg@mail.gmail.com>
From: Johan Bodin <jhbodin@tele2.se>
Message-ID: <56093BBC.9090104@tele2.se>
Date: Mon, 28 Sep 2015 15:08:12 +0200
User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:38.0) Gecko/20100101
 Thunderbird/38.2.0
MIME-Version: 1.0
In-Reply-To: <CAA8k23Sxv8tWRXByE5xLM5Metq6KU=u0CAJXra3-waKWuYZrrg@mail.gmail.com>
X-HELO-Warning: Remote host 212.247.154.129 (mailfe05.swip.net) used invalid HELO/EHLO swip.net - verification failed
X-Scan-Signature: f272f529d93cf3b022625120e4e7d666
Subject: Re: LF: Coherent BPSK on LF using EbNaut
Content-Type: multipart/alternative;
 boundary="------------070309070503030701000908"
X-SA-Exim-Scanned: Yes
Sender: owner-rsgb_lf_group@blacksheep.org
Precedence: bulk
Reply-To: rsgb_lf_group@blacksheep.org
X-Listname: rsgb_lf_group
X-SA-Exim-Rcpt-To: rs_out_1@blacksheep.org
X-SA-Exim-Scanned: No; SAEximRunCond expanded to false
X-Scanned-By: MIMEDefang 2.56 on 10.1.3.10
Status: O
X-Status: 
X-Keywords:                  
X-UID: 4181

This is a multi-part message in MIME format.
--------------070309070503030701000908
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit

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.

73
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 <jhbodin@tele2.se 
> <mailto:jhbodin@tele2.se>> 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?
>
>     73
>     Johan SM6LKM
>
>     Andy Talbot wrote:
>>     Yessss...
>>     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.
>>     N
>>     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
>>     <vlf0403@abelian.org <mailto:vlf0403@abelian.org>> 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
>>
>>         http://abelian.org/ebnaut/
>>
>>         --
>>         Paul Nicholson
>>         --
>>
>>
>
>


--------------070309070503030701000908
Content-Type: text/html; charset=utf-8
Content-Transfer-Encoding: 8bit

<html>
  <head>
    <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    Aha... Thanks Andy.<br>
    <br>
    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.<br>
    <br>
    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...<br>
    <br>
    Interesting anyway.<br>
    <br>
    73<br>
    Johan SM6LKM<br>
    <br>
    <div class="moz-cite-prefix">Andy Talbot wrote:<br>
    </div>
    <blockquote
cite="mid:CAA8k23Sxv8tWRXByE5xLM5Metq6KU=u0CAJXra3-waKWuYZrrg@mail.gmail.com"
      type="cite">
      <div dir="ltr">
        <div>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</div>
        <div><br>
        </div>
        <div>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:</div>
        <div><br>
        </div>
        <div>Sample a signal centred on 1kHz at 4kHz sampling rate and
          number successive samples S1, S2, S3 and S4, repeating after
          the four.</div>
        <div><br>
        </div>
        <div>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.</div>
        <div><br>
        </div>
        <div>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.</div>
        <div><br>
        </div>
        <div>But if the baseband is externally limited to the range 750
          to 1250Hzit will prevent and aliasing.   </div>
        <div>Back then that was done by using a receiver in CW mode with
          its 300Hz filter to guarantee a bandpass filtered 1kHz tone.</div>
        <div><br>
        </div>
        <div>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.  </div>
        <div>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</div>
        <div><br>
        </div>
        <div>Andy  G4JNT</div>
        <div><br>
        </div>
      </div>
      <div class="gmail_extra"><br>
        <div class="gmail_quote">On 28 September 2015 at 11:54, Johan
          Bodin <span dir="ltr">&lt;<a moz-do-not-send="true"
              href="mailto:jhbodin@tele2.se" target="_blank">jhbodin@tele2.se</a>&gt;</span>
          wrote:<br>
          <blockquote class="gmail_quote" style="margin:0 0 0
            .8ex;border-left:1px #ccc solid;padding-left:1ex">
            <div text="#000000" bgcolor="#FFFFFF"> 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:<br>
              <br>
              for (;;)<br>
              {<br>
                i = adc_measure();<br>
                q = adc_measure();<br>
                i -= adc_measure();<br>
                q += adc_measure();<br>
               
              decimate_to_slightly_above_2x_baseband_BW_and_useTheSignal
              (i, q);<br>
              }<br>
              <br>
              The LO simply clocks the ADC instead of driving a mixer.
              No big deal for a modern ADC on LF and below
              (frequency-wise...).<br>
              <br>
              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.<br>
              <br>
              Will it work?<br>
              <br>
              73<br>
              Johan SM6LKM<br>
              <br>
              <div>Andy Talbot wrote:<br>
              </div>
              <blockquote type="cite">
                <div dir="ltr">Yessss...
                  <div>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 !</div>
                  <div><br>
                  </div>
                  <div>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 .</div>
                  <div><br>
                  </div>
                  <div>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 &amp; 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.</div>
                  <div>N</div>
                  <div>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.   </div>
                  <div>DDS or Fract-N synth LO, Quadrature mixer, simple
                    (just analogue perhaps) low pass filter, dual A/D ,
                    PIC, PC interface</div>
                  <div><br>
                  </div>
                  <div><br>
                  </div>
                  <div>Andy  G4JNT </div>
                  <div><br>
                  </div>
                  <div><br>
                    <div class="gmail_extra"><br>
                      <div class="gmail_quote">On 26 September 2015 at
                        14:17, Paul Nicholson <span dir="ltr">&lt;<a
                            moz-do-not-send="true"
                            href="mailto:vlf0403@abelian.org"
                            target="_blank"><a class="moz-txt-link-abbreviated" href="mailto:vlf0403@abelian.org">vlf0403@abelian.org</a></a>&gt;</span>
                        wrote:<br>
                        <blockquote class="gmail_quote"
                          style="margin:0px 0px 0px
0.8ex;padding-left:1ex;border-left-color:rgb(204,204,204);border-left-width:1px;border-left-style:solid"><br>
                          Very nice to see this working at LF with short
                          symbols.<br>
                          The phase was stable enough for the 20 or so
                          minutes of each<br>
                          transmission on this path of circa 1000km.<br>
                          <br>
                          S/N of IZ7SLZ at DF6NM suggests that a contact
                          would not have<br>
                          been possible (at this symbol rate and signal
                          strength) without<br>
                          using coherent detection - it would be a few
                          dB too weak.<br>
                          <br>
                          The phase looks pretty steady.  The ionosphere
                          and the local<br>
                          oscillators are both looking very good here. 
                          I wonder how<br>
                          long the phase can keep stable for - or in
                          other words, the<br>
                          max message duration?<br>
                          <br>
                          A fine achievement, well done to both.  It's
                          great to see a<br>
                          two-way contact using this mode and this
                          demonstration that<br>
                          it works at LF opens up some interesting
                          possibilities.<br>
                          <br>
                          Andy Talbot wrote:<br>
                          <br>
                          &gt; Unfortunately, I see it is not
                          standalone, and requires<br>
                          &gt; Spectrum lab to act as the audio "front
                          end" ...<br>
                          <br>
                          Spectrum Lab in fact does most of the work: 
                          Digitising<br>
                          the audio, frequency shifting and the delicate
                          business of<br>
                          resampling with reference to GPS pulses so
                          that each audio<br>
                          sample is UT synchronous and at a constant
                          sample rate.<br>
                          Then there is filtering and if necessary,
                          noise (sferic)<br>
                          blanking.  SL even handles the decoding of GPS
                          messages so<br>
                          that it can accurately time the reception. 
                          After all that,<br>
                          ebnaut is just a small 'back-end' decoder.<br>
                          <br>
                          This mode is not easy to use.  It requires
                          some technical<br>
                          skill to arrange atomic quality reference
                          oscillators at<br>
                          each end and to get the software set up
                          correctly.<br>
                          <br>
                          For those that can rise to the challenge, the
                          potential gain<br>
                          is several dB over any other mode on paths
                          where the phase<br>
                          is fairly stable for the duration of a
                          transmission.<br>
                          <br>
                          Coherent BPSK has been used for amateur
                          satellites and packet<br>
                          networks, for a long time.  These applications
                          extract a<br>
                          reference phase from the received signal
                          (using a Costas loop<br>
                          or equivalent).  EbNaut works even when the
                          signal is too weak<br>
                          to extract a reference phase.<br>
                          <br>
                          More info at<br>
                          <br>
                           <a moz-do-not-send="true"
                            href="http://abelian.org/ebnaut/"
                            target="_blank" rel="noreferrer">http://abelian.org/ebnaut/</a><span
                            class="HOEnZb"><font color="#888888"><br>
                              <br>
                              --<br>
                              Paul Nicholson<br>
                              --<br>
                              <br>
                            </font></span></blockquote>
                        <span class="HOEnZb"><font color="#888888"> </font></span></div>
                      <span class="HOEnZb"><font color="#888888"> <br>
                        </font></span></div>
                  </div>
                </div>
              </blockquote>
              <br>
            </div>
          </blockquote>
        </div>
        <br>
      </div>
    </blockquote>
    <br>
  </body>
</html>

--------------070309070503030701000908--