On Sat, 6 Feb 2016, gareth wrote:
 "Brian Howie"  wrote in message
 ...
 In message , gareth
  writes
 Presumably those SDR rigs which do not work on the IF but
 directly from antennae must have, separately from the DSP processor,
 some semblance of a DDS generator (but without the final DAC) to
 act as the equivalent of the VFO, for I cannot perceive that a
 fractional-Hz
 tuning rate could be achieved with machine code running in the DSP
 processor?
 I'm not an expert ,but I think what you're asking is " how is the local
 oscillator generated" in a direct conversion SDR and "what determines its
 resolution"
 There is an example here,   :-
 http://www.radioelementi.it/public/saqrx.pdf
 The "c" source code is here,which I can just about understand ( My
 software background is FORTRAN and Matlab)  :-
 https://sites.google.com/site/sm6lkm/saqrx/
 Softies shouldn't have a problem with it although I was able to mess about
 with it and recompile it successfully
 In this case the spectrum is dc to 22050Hz in 512 steps. It's not the LO
 precision ( it's floating point in this one)  that limits it but the size
 of the FFT , the sample rate and thus the record length, that sets the
 minimum FFT bin width  .  This one tunes in lumps of about 43Hz
 Thank-you Brian, but what you have URLed is already at baseband, being VLF.
I thought that was the norm, not much doing A/D at signal frequency. 
Initially, it was too fast for the hardware to handle, but there are 
probably some good reasons still to downconvert.
   Michael
  
 When moving from FORTRAN to C, the major difference (apart from the
 nitty-gritty
 of statement syntax) is that in FORTRAN, variables are always passed by
 reference
 (at least in FORTRAN '66 which I did 47 years ago) and in C you have the
 choice of passing
 by value or by reference.