[time-nuts] WWVB SDR discussion
d.schuecker at avm.de
d.schuecker at avm.de
Tue Aug 11 10:46:57 UTC 2020
Hi,
you do not necessarily need a variable ( physical ) oscillator. You mix
the signal down in the digital domain. A 'digital local oscilator' is a
mere complex value, which is rotated and the power is adjusted:
#define CMUL(_a,_b,_c) \
{ _c.re = _a.re*_b.re-_a.im*_b.im; \
_c.im = _a.re*_b.im+_a.im*_b.re; }
#define CROT(_a,_w)
{ fcomplex_t hh; \
CMUL(_a,_w,hh); \
_a.re=hh.re*hh.re+hh.im*hh.im; \
if(_a.re<1.0f){ \
hh.re *= (1.0f+1e-6); \
hh.im *= (1.0f+1e-6); \
} else { \
hh.re *= (1.0f-1e-6); \
hh.im *= (1.0f-1e-6); \
} \
_a.re=hh.re; \
_a.im=hh.im; \
}
The sample rate is not an integer multiple of the signal frequency, that
is not necessary.
> part, unfortunately. My tuned loop seems still too broadband, even
> after a couple more poles of op-amp filter. I have a bunch of 60-kHz
> tuning-fork crystals and wanted to try a crystal filter like the "pros"
Good point.
Firstly I tried a tuned resonant LC circuit with a BF245 preamplifier to
keep a high Q.
Secondly an accurate ADC is an option. With 24Bit you get more than 100dB
dynamic range, so you dont care about a 60dB stronger nearby interferer.
I want to phase track at least 2 time broadcasters eg Anthorn and DCF77
and try to do a hyperbolic navigation with the phase difference. The LC is
tuned by MOSFET switched capacitors. A STM32 should suffice for the thing.
See, how far ( or near, in terms of navigation ) I can get :).
Cheers
Detlef
DD4WV
Detlef Schücker
"time-nuts" <time-nuts-bounces at lists.febo.com> schrieb am 10.08.2020
23:18:29:
> Von: "Mark Haun" <mark at hau.nz>
> An: time-nuts at lists.febo.com
> Datum: 11.08.2020 00:29
> Betreff: Re: [time-nuts] WWVB SDR discussion
> Gesendet von: "time-nuts" <time-nuts-bounces at lists.febo.com>
>
> No more so than for a GPSDO using a microcontroller. In this case, the
> MCU would steer an external oscillator using an appropriately long time
> constant, based on a phase tracking loop. In my tentative block
> diagram, the oscillator is a cheap 26 MHz OCXO which supplies the MCU
> clock and (as a byproduct) the internal ADC sample rate. The basic plan
> for an STM32L4 was something like
>
> 26 MHz clock input from OCXO
> 78 MHz MCU clock (x3 via internal PLL)
> 3.12 MHz ADC sample rate (78 MHz / 25)
> 13x downsample to 240 kHz using DFSDM block (hardware CIC)
> sign flip and deinterleave into I and Q channels (I, Q, -I, -Q, ...)
> downsample again, to ~ 10 Hz or so; do SDR stuff at this rate
> carrier tracking loop runs back outside the MCU to the OCXO control
> input, via PWM DAC
>
> With care, the internal ADC gives you about 11 good bits at the high
> sampling rate. Assuming white noise (questionable I suppose), this
> yields something like 18 noise-free bits at the low rate where the phase
> tracking and decoding happens.
>
> Prerequisite is an analog input centered around 60 kHz with less than
> 3.6Vp-p amplitude. There are no particular bandwidth requirements
> (Nyquist is 1.5 MHz!) as long as it is narrow enough to avoid clipping
> from strong interfering signals. I am having a hard time with this
> part, unfortunately. My tuned loop seems still too broadband, even
> after a couple more poles of op-amp filter. I have a bunch of 60-kHz
> tuning-fork crystals and wanted to try a crystal filter like the "pros"
> do in cheap consumer clocks, but I can't figure out a circuit to do this
> (weak on analog). So if anyone wants to tackle that and send me a
> working design, I'm happy to do the easy stuff, i.e. the DSP/SDR parts
;)
>
> Mark
>
> On 10-Aug-20 11:45 AM, paul swed wrote:
> > Hello to the group.
> > Have been looking forward to seeing how the STM32 SDR project might be
> > going.
> > SDR is a weak spot for me. So been reading. And believe the answer is
that
> > a SDR solution may work for AM code and even BPSK code to an extent.
But
> > doesn't the sampling destroy the quality of the incoming signal for
> > establishing a locked reference?
> > Regards
> > Paul
> > WB8TSL
> > _______________________________________________
> > time-nuts mailing list -- time-nuts at lists.febo.com
> > To unsubscribe, go to http://lists.febo.com/mailman/listinfo/time-
> nuts_lists.febo.com
> > and follow the instructions there.
> >
>
> _______________________________________________
> time-nuts mailing list -- time-nuts at lists.febo.com
> To unsubscribe, go to http://lists.febo.com/mailman/listinfo/time-
> nuts_lists.febo.com
> and follow the instructions there.
More information about the Time-nuts_lists.febo.com
mailing list