View Single Post
  #24   Report Post  
Old February 8th 16, 08:10 PM posted to rec.radio.amateur.equipment,uk.radio.amateur
rickman rickman is offline
external usenet poster
 
First recorded activity by RadioBanter: Nov 2012
Posts: 989
Default An SDR or DDS question?

On 2/8/2016 2:52 PM, Brian Howie wrote:
In message , rickman writes
On 2/7/2016 9:54 AM, Jerry Stuckle wrote:
On 2/6/2016 4:07 PM, wrote:
In rec.radio.amateur.equipment Jerry Stuckle
wrote:
On 2/6/2016 1:07 PM, 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.


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.


Wrong on both counts. Fortran and C are both pass by value. Neither
defines pass by reference in their respective standards although some
recent Fortran compilers have an extension to pass by reference).

In C, if an arguement to a function is defined as a pointer, then the
local values are references to the storage locations of the original
arguments passed in and changes will change the original value. This
is called pass by reference.


In C, if the argument to a function is defined as a pointer, then a copy
of the pointer is passed. Of course, that copy still points at the same
place as the original, but it is still a copy.


And that is the definition of "pass by reference", passing a pointer
(a reference) to an object rather than its value. This "reference"
explains it to you in your own language.

http://courses.washington.edu/css342...32/passby.html


It is not called pass by reference. The pointer must still be
dereference to get to the value.

C++ does have a pass by reference, but not C.

In C, if an arguement to a function is not defined as a pointer,
then the local value is a copy of the original value which will not
be changed. This is called pass by value.


Both are pass by value. The only difference is if you are passing the
variable or a pointer by value.


And that is the whole difference between reference and value
parameters. Heck, I learned this in a chemistry class (FORTRAN) long
before I was in the EE department.

rude comment snipped


I never really thought about it in all of my 40 odd years of using
FORTRAN, uhm I just sort of wrote it .

However FORTRAN does have dummy variables and arguments and it says here
it passes usually by reference.

https://msdn.microsoft.com/en-us/lib...=vs.60%29.aspx


I think what it says is in FORTRAN the *default* is to pass by
reference, but the programmer can specify what they want. I haven't
used FORTRAN in nearly 40 years, so I don't recall the syntax for how
that was done then. I just remember the lecture where our professor was
"explaining" the difference when he was virtually yelling at us because
we weren't getting the concept. Somehow he felt using erasers as props
should have made it all perfectly clear. lol

--

Rick