RadioBanter

RadioBanter (https://www.radiobanter.com/)
-   Equipment (https://www.radiobanter.com/equipment/)
-   -   An SDR or DDS question? (https://www.radiobanter.com/equipment/223622-sdr-dds-question.html)

gareth February 6th 16 02:10 PM

An SDR or DDS question?
 
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?




Brian Howie February 6th 16 03:27 PM

An SDR or DDS question?
 
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

HTH Brian


--
Brian Howie

gareth February 6th 16 06:07 PM

An SDR or DDS question?
 
"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.




Michael Black[_2_] February 6th 16 06:14 PM

An SDR or DDS question?
 
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.





gareth February 6th 16 06:17 PM

An SDR or DDS question?
 
"Brian Morrison" wrote in message
...
On Sat, 6 Feb 2016 14:10:10 -0000
"gareth" wrote:
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?

If you have a look here http://sdrplay.com/windows.html Gareth you will
find some links to 4 or 5 pdf documents covering various aspects of the
SDRplay RSP which is based on the Mirics MSI3101 chipset (comprising the
MSI001 and MSI2500 chips). It provides a maximum down-conversion
bandwidth of 8MHz at RF frequencies of up to 2GHz and can interface
with various DSP demodulator back ends such as HDSDR or SDR-Console
together with the necesssary device drivers to configure the chips and
set up the data paths.
That ought to help you see the topology of the receiver and you can
work out some of the various clock and VCO frequencies used for the
different RF bands covered by the switched front-end RF filters.


OK, by following onto ... http://www.mirics.com/Mirics_MSi001_002.pdf
I see fractional divide-by-N and a PLL combination integrated onto the chip,
which is along the
lines that I suspected, ie, a somewhat conventional approach outside of the
DSP.




Brian Howie February 6th 16 07:51 PM

An SDR or DDS question?
 
In message , gareth
writes
"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.


Well not quite. Base-band in this case is the audio pass -band which is
down-converted from the RF ( if you can call it that) at up to 20KHz by
the software local oscillator.

You can do it mechanically as well.

Http://www.wireless.org.uk/mechrx.htm

Brian
--
Brian Howie

Brian Howie February 6th 16 07:55 PM

An SDR or DDS question?
 
In message ple.org,
Michael Black writes
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


Correct , but Gareth asked about the software equivalent of a DDS
frequency synthesiser or VFO.

Brian

--
Brian Howie

Jerry Stuckle February 6th 16 08:43 PM

An SDR or DDS question?
 
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).

--
==================
Remove the "x" from my email address
Jerry, AI0K

==================

[email protected] February 6th 16 09:07 PM

An SDR or DDS question?
 
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 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.



--
Jim Pennino

Michael Black[_2_] February 6th 16 09:49 PM

An SDR or DDS question?
 
On Sat, 6 Feb 2016, Brian Howie wrote:

In message ple.org,
Michael Black writes
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


Correct , but Gareth asked about the software equivalent of a DDS frequency
synthesiser or VFO.

The "directly from antenna" in his post threw me. If there's a
heterodyne conversion, which is what he was asking I see now, then there
has to some sort of local oscillator. The way I read it was that he was
asking how to tune something that directly converted to digital. Sorry.

Michael


gareth February 7th 16 12:40 PM

An SDR or DDS question?
 
"gareth" wrote in message
...
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?


Thanks to all who responded, even he whose post was riddled throughout
with gratuitous rudeness, and it seems that I was almost correct, but with
the
exception of Brian Morrison's URL where the heterodyning was done
with a PLL and fractional-N synthesizer.

I wonder if Mr.Gratuitously Rude actually read through his URL reference
for therein is a clear reference to the phase accumulator, a necessary
part of the DDS process?





Bernie[_4_] February 7th 16 01:06 PM

An SDR or DDS question?
 
On Sun, 7 Feb 2016 12:40:57 -0000
"gareth" wrote:


I wonder if Mr.Gratuitously Rude actually read through his URL
reference for therein is a clear reference to the phase accumulator,
a necessary part of the DDS process?


When did you drop the "I never follow URLs" rule, Gareth?




Jerry Stuckle February 7th 16 02:54 PM

An SDR or DDS question?
 
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.

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.

Once again you argue from a position of ignorance.

--
==================
Remove the "x" from my email address
Jerry, AI0K

==================

gareth February 7th 16 04:26 PM

An SDR or DDS question?
 
"gareth" wrote in message
...
"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.


Multitudinous apologies, Brian, I tell a lie, so thank-you.

I've downloaded all (and even run the prog although nothing is attached to
the
input of the sound card) and will proceed to study the code, although,
obviously in this
case, at a max freq of 22kHz, creating a VFO is quite within the
capabilities of
PC-based machine code.

Also, a study of the code should answer a previous question of mine about
how to use
the sound card in applications such as this.

As I indicated elsewhere, the nub of my question was correct, there is a
VFO-equivalent
in the front end of wide-range DSP SDR rigs, that is separate from the
DSprocessor
(except in those cases where a DFFT is applied to the whole input range)

Thanks again for your effort.

Otherwise, for light relief and to ease the aggressive tensions that my
innocent enquiry
seems to have fomented, I append an article that I wrote nearly 20 years ago
....

-----ooooo-----

Alimentary Fourier Anal-ysis
----------------------------
(C) Copyright 1997 Gareth Alun Evans G4SDW

The Fourier Transform is rather like the Human Alimentary canal....

The Alimentary Canal takes food, and then transforms it into
something that is a function of the rear end, and hence may
be referred to as, "The Food-Rear Transform".

The Fourier Transform causes integration over a one second
period, and results in an infinite series of sines.
The Food-Rear Transform causes disintegration over a 12-hour
period, and results in an infinite series of signs...."Gents",
"Ladies", "Rest Room", etc. etc.

The Fourier Transform (Tukey's reasoning?) takes Time and
transforms it to a frequency spectrum.
The Food-Rear Transform takes Parsley, Sage and Thyme (Turkey's
seasoning?) and transforms it to a frequently active rectum.

"Laplace", literally, "The Place", is how you deal with
the transform.
"Walsh" is something you do to your hands afterwards.
"JPeg" is what you hang your jacket on to. It is a form of
compression such that you take up less space and spend less time
there (although the output may be more granular).

The Fast Fourier Transform must be done through an appropriate
window, otherwise an effect known as the "Picket Fence" problem,
also known as "Spectral Leakage", can occur.
Diarrhoea is known as the FAST Food-Rear Transform, and if done
through the wrong window can result in a problem (also known
as Rectal Leakage) all over the Picket Fence.

The Picket Fence problem is also known as, "Scalloping",
something which is normally done to pie crusts. In the old
days, pies used to be made with "Four And Twenty Blackbirds";
but nowadays, members of the Jay family are used. When you go to
someone's house for tea, you politely eat everything that is
put in front of you, but your reaction might be,
"Eat the Jay (Oh my God!) Tea???".
Similarly, the Fourier Transform is a great consumer
of e^(jwT)... "E to the j, omega, t".

The Fast Fourier Transform is famous for its Butterflies.
The Fast Food-Rear Transform is famous for its
Butterflies-in-the-stomach.

Dirichlet's are the Fourier Transform's conditions, without which
the result is divergent.
Diarrhoea ****s are the Food-Rear's conditions, with which the
result is VERY divergent.

Having experienced the Fast Fourier Transform, you are then faced
with the Inverse, which can be very daunting. It is a paper
exercise but it can be quite messy.
Having experienced the Fast Food-Rear Transform, you are then
faced with the "In Verde", literally "In The Grass", which can be
very daunting indeed. (The paper exercise can be quite messy.)






gareth February 7th 16 04:51 PM

An SDR or DDS question?
 
"gareth" wrote in message
...
"Brian Howie" wrote in message
...
http://www.radioelementi.it/public/saqrx.pdf
https://sites.google.com/site/sm6lkm/saqrx/


Wow! Wow! Wow!

Dev-C++ a free C++ compiler for Windows thrown in, and much
smaller than MicroBloat's products!

Watch this space!!!!!



gareth February 7th 16 07:02 PM

An SDR or DDS question?
 
"gareth" wrote in message
...
"gareth" wrote in message
...
"Brian Howie" wrote in message
...
http://www.radioelementi.it/public/saqrx.pdf
https://sites.google.com/site/sm6lkm/saqrx/


Wow! Wow! Wow!

Dev-C++ a free C++ compiler for Windows thrown in, and much
smaller than MicroBloat's products!


Having now had time to persuse the C code, I have the answers to
all my questions!

I'd like to recommend to ALL readers of these NGs that they download
the source code and the free C compiler whilst they are available, even
if not immediately using them.

Within the AudioCallBack routine is where it all happens, including the
phase accumulation making the DDS for the local VFO, and the FFT.

It's some years aince I've seen a Windows program done at the knife-and-fork
level and so that takes me back before the times of Visual Basic, and TCL.

As Brian said, it is easy to recompile and build the program again, thus
giving
the opportunity to dabble with the code by trying out minor edits, even if
limited to the colours (colors for the yanks) of the Windows.

The program clearly relies on the speed of a PC, for example, the DDS
calculates
sin and cos on the fly from the phase accumulator rather than using a
look-up table, and
I'm afraid the dinosaur in me keeps harking back to my days of assembler
programming
on a PDP11/20 where the slowest instruction (save for RESET at 50 mSecs) was

BICB @(R1)+, @(R2)+, taking about 17 uSecs.


All-in-all, this revelation by Brian is to be recommended to those who
wish to see an example of DSP programming to run on a PC.

Well done, Brian, and many thanks!





Stephen Thomas Cole[_3_] February 8th 16 12:26 AM

An SDR or DDS question?
 
Bernie wrote:
On Sun, 7 Feb 2016 12:40:57 -0000
"gareth" wrote:


I wonder if Mr.Gratuitously Rude actually read through his URL
reference for therein is a clear reference to the phase accumulator,
a necessary part of the DDS process?


When did you drop the "I never follow URLs" rule, Gareth?


Principles have always been fluid for our Gareth.

--
STC // M0TEY // twitter.com/ukradioamateur

FranK Turner-Smith G3VKI February 8th 16 01:10 AM

An SDR or DDS question?
 
"Stephen Thomas Cole" wrote in message
...
Bernie wrote:
On Sun, 7 Feb 2016 12:40:57 -0000
"gareth" wrote:
I wonder if Mr.Gratuitously Rude actually read through his URL
reference for therein is a clear reference to the phase accumulator,
a necessary part of the DDS process?


When did you drop the "I never follow URLs" rule, Gareth?


Principles have always been fluid for our Gareth.


Eh? I thought he was teetotal.
--
;-)
..
73 de Frank Turner-Smith G3VKI - mine's a pint.
..
http://turner-smith.uk


Brian Howie February 8th 16 09:02 AM

An SDR or DDS question?
 
In message , gareth
writes
All-in-all, this revelation by Brian is to be recommended to those who
wish to see an example of DSP programming to run on a PC.

Well done, Brian, and many thanks!


Yw

Someone has modified the code to use increased sound card sample rates ,
and add other features .

https://sites.google.com/site/swljo30tb/home

I can receive MSF amongst other stations on 60KHz with the 192KHz
version on an untuned 5ft loop antenna I use on MF.


Brian




--
Brian Howie

gareth February 8th 16 11:01 AM

An SDR or DDS question?
 
"Brian Howie" wrote in message
...
In message , gareth
writes
All-in-all, this revelation by Brian is to be recommended to those who
wish to see an example of DSP programming to run on a PC.
Well done, Brian, and many thanks!

Yw
Someone has modified the code to use increased sound card sample rates ,
and add other features .
https://sites.google.com/site/swljo30tb/home
I can receive MSF amongst other stations on 60KHz with the 192KHz version
on an untuned 5ft loop antenna I use on MF.


The accompanying PPT is in foreign, presumably Swedish, but there
is an interesting page showing the VLF antenna, and the interest to me comes
from numerous tappings along the antenna with a coil down to ground.

An early form of loop antenna, perhaps?

Is there scope here for experiments on similar such tappings to bring
a Top Band antenna down to a size to fit a suburban garden?




gareth February 8th 16 12:09 PM

An SDR or DDS question?
 
"Brian Howie" wrote in message
...

Someone has modified the code to use increased sound card sample rates ,
and add other features .

https://sites.google.com/site/swljo30tb/home

I can receive MSF amongst other stations on 60KHz with the 192KHz version
on an untuned 5ft loop antenna I use on MF.


OK, thanks, I've grabbed that too.

Enough code browsing to keep me off Usenet for a few days :-)


Cue: You know what!



rickman February 8th 16 07:19 PM

An SDR or DDS question?
 
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

--

Rick

Brian Howie February 8th 16 07:52 PM

An SDR or DDS question?
 
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

Brian

--
Brian Howie

rickman February 8th 16 08:10 PM

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

Jerry Stuckle February 8th 16 09:26 PM

An SDR or DDS question?
 
On 2/8/2016 2:19 PM, rickman wrote:
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



And you can find sites on the internet which say the Earth is flat.

It isn't by most C experts. Pass by reference means being able to use
the variable without having to dereference it.

http://www.learncpp.com/cpp-tutorial...-by-reference/

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.


Yea, right. You took FORTRAN in a chemistry class? That's a great one!

Go crawl back into your electronics technology course. You know even
less about programming than you do electronics.

--
==================
Remove the "x" from my email address
Jerry Stuckle

==================

rickman February 9th 16 06:26 AM

An SDR or DDS question?
 
On 2/9/2016 12:52 AM, Brian Reay wrote:
Jerry Stuckle wrote:
On 2/8/2016 2:19 PM, rickman wrote:
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



And you can find sites on the internet which say the Earth is flat.

It isn't by most C experts. Pass by reference means being able to use
the variable without having to dereference it.

http://www.learncpp.com/cpp-tutorial...-by-reference/

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.


Yea, right. You took FORTRAN in a chemistry class? That's a great one!

Go crawl back into your electronics technology course. You know even
less about programming than you do electronics.


Perfectly normal, at least in the UK, for students studying various courses
(certainly the sciences) to study a programming language (in my Uni days
Fortran). My wife certainly did, we were married while at Uni (still are of
course) and we often spent lunch times preparing 'punch cards' which were
the entry method for the Uni Fortran machines.


Jerry is actually quite funny. He's as good as any stand up comedian I
know. I especially am amused when he feels he has to hurl insults.
That's how you know he doesn't understand what is going on.

I actually learned FORTRAN programming on teletypes in the chemistry
building. I was truly amazed by this magical language. Unfortunately
most of my professors didn't really understand computers very well. I
recall one thought you had to press both the Control and the 'C' key
truly simultaneously to make it work. So he would try to smash both
keys at once not always getting the desired result. lol

Then I got more into computers in a job and learned assembly language at
the same time I was taking EE and CS courses and was actually a bit
disillusioned to find out how dry and detail oriented programming really
was. It's funny how the mind can see amazing possibilities until you
learn about the little man behind the curtain. Now I know a lot more
about the subjects and see new possibilities in many areas, so the
thrill came back.

--

Rick

Jerry Stuckle February 9th 16 01:36 PM

An SDR or DDS question?
 
On 2/9/2016 12:52 AM, Brian Reay wrote:
Jerry Stuckle wrote:
On 2/8/2016 2:19 PM, rickman wrote:
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



And you can find sites on the internet which say the Earth is flat.

It isn't by most C experts. Pass by reference means being able to use
the variable without having to dereference it.

http://www.learncpp.com/cpp-tutorial...-by-reference/

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.


Yea, right. You took FORTRAN in a chemistry class? That's a great one!

Go crawl back into your electronics technology course. You know even
less about programming than you do electronics.


Perfectly normal, at least in the UK, for students studying various courses
(certainly the sciences) to study a programming language (in my Uni days
Fortran). My wife certainly did, we were married while at Uni (still are of
course) and we often spent lunch times preparing 'punch cards' which were
the entry method for the Uni Fortran machines.




And I suppose you learned about exothermic reactions in a World History
class.

In the United States, computer languages are taught in Computer Science
courses, not Chemistry.

--
==================
Remove the "x" from my email address
Jerry, AI0K

==================

Brian Reay[_5_] February 9th 16 02:36 PM

An SDR or DDS question?
 
On 09/02/16 13:36, Jerry Stuckle wrote:
On 2/9/2016 12:52 AM, Brian Reay wrote:
Jerry Stuckle wrote:
On 2/8/2016 2:19 PM, rickman wrote:
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



And you can find sites on the internet which say the Earth is flat.

It isn't by most C experts. Pass by reference means being able to use
the variable without having to dereference it.

http://www.learncpp.com/cpp-tutorial...-by-reference/

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.


Yea, right. You took FORTRAN in a chemistry class? That's a great one!

Go crawl back into your electronics technology course. You know even
less about programming than you do electronics.


Perfectly normal, at least in the UK, for students studying various courses
(certainly the sciences) to study a programming language (in my Uni days
Fortran). My wife certainly did, we were married while at Uni (still are of
course) and we often spent lunch times preparing 'punch cards' which were
the entry method for the Uni Fortran machines.




And I suppose you learned about exothermic reactions in a World History
class.


No.

In the United States, computer languages are taught in Computer Science
courses, not Chemistry.


Well, it seems not in Rickman's Uni/College.

It certainly isn't the case here. You could be enrolled/registered as,
say, a Chemistry student and taught a course in, say, programming you
would require by the Computer Dept. Just as I was an Engineering Student
and, like all engineers, required to do some Maths courses taught by the
Maths dept. My youngest, completed a 4 year Masters in Chemistry
recently (she is now doing a PhD). She was required, at least in the
first year (and possibly more, I don't recall) to do some Maths courses,
they were taught by the Maths Dept. I helped her with a couple of things
and noticed the dept. name etc. on the material. Likewise, her twin is a
Medical Student. She had to do at least one Law module (or perhaps
more)- that is taught in by the Law dept.

My Eldest is a Law Graduate, she has an LLB and a Masters, studied in
France- the two degrees were linked. She was required to do some French
courses, they were taught in the Language dept in the UK. She was
'Called to the Bar' (not something you have in the US as I understand
it) some time ago.








rickman February 9th 16 02:53 PM

An SDR or DDS question?
 
On 2/9/2016 9:36 AM, Brian Reay wrote:
On 09/02/16 13:36, Jerry Stuckle wrote:

And I suppose you learned about exothermic reactions in a World History
class.


No.

In the United States, computer languages are taught in Computer Science
courses, not Chemistry.


Well, it seems not in Rickman's Uni/College.


lt wasn't a class in computer programming, it was a lab course with
multiple 2 week topics. Being an undergraduate class the idea was to
give you a taste of a variety of topics. So 2 weeks was just enough to
allow you to write terrible FORTRAN programs. Likewise the CS
department taught a lecture class which spent two weeks on each of
several languages. I recall struggling with Lisp until a few days
before the end of the two weeks when the light bulb finally lit and
programming became easy. In the chem lab I also took 2 weeks of metal
shop where I operated a lathe.

One of my best programming classes was in EE, "Structured Programming".
The ideas in that class have stuck with me ever since.


It certainly isn't the case here. You could be enrolled/registered as,
say, a Chemistry student and taught a course in, say, programming you
would require by the Computer Dept. Just as I was an Engineering Student
and, like all engineers, required to do some Maths courses taught by the
Maths dept. My youngest, completed a 4 year Masters in Chemistry
recently (she is now doing a PhD). She was required, at least in the
first year (and possibly more, I don't recall) to do some Maths courses,
they were taught by the Maths Dept. I helped her with a couple of things
and noticed the dept. name etc. on the material. Likewise, her twin is a
Medical Student. She had to do at least one Law module (or perhaps
more)- that is taught in by the Law dept.


At Univ of MD the Physics department had three different series of
undergraduate physics classes. Two semesters for the Chem majors, three
semesters for the Engineering majors and four semesters for the Physics
majors. I took the Engineering sequence "just in case".


My Eldest is a Law Graduate, she has an LLB and a Masters, studied in
France- the two degrees were linked. She was required to do some French
courses, they were taught in the Language dept in the UK. She was
'Called to the Bar' (not something you have in the US as I understand
it) some time ago.


What the "Bar"? Yes, we call it that as well.

--

Rick

Jerry Stuckle February 9th 16 04:40 PM

An SDR or DDS question?
 
On 2/9/2016 9:36 AM, Brian Reay wrote:
On 09/02/16 13:36, Jerry Stuckle wrote:
On 2/9/2016 12:52 AM, Brian Reay wrote:
Jerry Stuckle wrote:
On 2/8/2016 2:19 PM, rickman wrote:
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



And you can find sites on the internet which say the Earth is flat.

It isn't by most C experts. Pass by reference means being able to use
the variable without having to dereference it.

http://www.learncpp.com/cpp-tutorial...-by-reference/

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.


Yea, right. You took FORTRAN in a chemistry class? That's a great one!

Go crawl back into your electronics technology course. You know even
less about programming than you do electronics.


Perfectly normal, at least in the UK, for students studying various
courses
(certainly the sciences) to study a programming language (in my Uni days
Fortran). My wife certainly did, we were married while at Uni (still
are of
course) and we often spent lunch times preparing 'punch cards' which
were
the entry method for the Uni Fortran machines.




And I suppose you learned about exothermic reactions in a World History
class.


No.

In the United States, computer languages are taught in Computer Science
courses, not Chemistry.


Well, it seems not in Rickman's Uni/College.

It certainly isn't the case here. You could be enrolled/registered as,
say, a Chemistry student and taught a course in, say, programming you
would require by the Computer Dept. Just as I was an Engineering Student
and, like all engineers, required to do some Maths courses taught by the
Maths dept. My youngest, completed a 4 year Masters in Chemistry
recently (she is now doing a PhD). She was required, at least in the
first year (and possibly more, I don't recall) to do some Maths courses,
they were taught by the Maths Dept. I helped her with a couple of things
and noticed the dept. name etc. on the material. Likewise, her twin is a
Medical Student. She had to do at least one Law module (or perhaps
more)- that is taught in by the Law dept.

My Eldest is a Law Graduate, she has an LLB and a Masters, studied in
France- the two degrees were linked. She was required to do some French
courses, they were taught in the Language dept in the UK. She was
'Called to the Bar' (not something you have in the US as I understand
it) some time ago.


Yes, I have to agree with you. Rickman's College of Electronics and
Transcendental Meditation probably did teach FORTRAN in a Chemistry class.

My university also taught FORTRAN and other languages in Computer
Science My courses, calculus by the Math department and every thing else
you said. I don't know of a single major university that does it
otherwise. Or even a small university.

--
==================
Remove the "x" from my email address
Jerry, AI0K

==================

Roger Hayter February 9th 16 05:04 PM

An SDR or DDS question?
 
Jerry Stuckle wrote:

On 2/9/2016 12:52 AM, Brian Reay wrote:



Perfectly normal, at least in the UK, for students studying various courses
(certainly the sciences) to study a programming language (in my Uni days
Fortran). My wife certainly did, we were married while at Uni (still are of
course) and we often spent lunch times preparing 'punch cards' which were
the entry method for the Uni Fortran machines.




And I suppose you learned about exothermic reactions in a World History
class.

In the United States, computer languages are taught in Computer Science
courses, not Chemistry.


Well that's yet another difference. Until the great dumbing-down of
university courses in the UK in recent years,[1] first degrees tended
not to be modular, and the department of the primary subject arranged
lecturers in necessary ancillary subjects as part of the main course.

[1] which doesn't apply to all universities.
--

Roger Hayter

Brian Reay[_5_] February 9th 16 05:41 PM

An SDR or DDS question?
 
Roger Hayter wrote:
Jerry Stuckle wrote:

On 2/9/2016 12:52 AM, Brian Reay wrote:



Perfectly normal, at least in the UK, for students studying various courses
(certainly the sciences) to study a programming language (in my Uni days
Fortran). My wife certainly did, we were married while at Uni (still are of
course) and we often spent lunch times preparing 'punch cards' which were
the entry method for the Uni Fortran machines.




And I suppose you learned about exothermic reactions in a World History
class.

In the United States, computer languages are taught in Computer Science
courses, not Chemistry.


Well that's yet another difference. Until the great dumbing-down of
university courses in the UK in recent years,[1] first degrees tended
not to be modular, and the department of the primary subject arranged
lecturers in necessary ancillary subjects as part of the main course.

[1] which doesn't apply to all universities.


A stunningly inaccurate statement. It was possible to take different
modules in top rated Universities (from a selected list) to get a degree 40
years ago. Including Oxbridge.

It still is.

True, you couldn't mix, say, engineering and tourism but different modules
in engineering (for example) were perfectly normal.

Typically, the first year was fixed but after that you could specialise in,
say, digital electronics and computing or electrical engineering and
electronics.




Roger Hayter February 9th 16 08:46 PM

An SDR or DDS question?
 
Brian Reay wrote:

Roger Hayter wrote:

snip

Well that's yet another difference. Until the great dumbing-down of
university courses in the UK in recent years,[1] first degrees tended
not to be modular, and the department of the primary subject arranged
lecturers in necessary ancillary subjects as part of the main course.

[1] which doesn't apply to all universities.


A stunningly inaccurate statement. It was possible to take different
modules in top rated Universities (from a selected list) to get a degree 40
years ago. Including Oxbridge.


Things like PPE, or PPP you mean? Whatever the theory, in practice you
couldn't dream up your own combination, there were some established ones



It still is.

True, you couldn't mix, say, engineering and tourism


That of course is what I meant. You couldn't do a Keele style degree of
knitting, Serbo-Croat, media studies and physics. I wasn't trying to
imply that their was no choice of modules in a subject. The point I
was making, of course, that things like computer programming for
chemists, while taught by the subject experts, was part of the Chemistry
degree, not a separately credited module.





but different modules
in engineering (for example) were perfectly normal.

Typically, the first year was fixed but after that you could specialise in,
say, digital electronics and computing or electrical engineering and
electronics.



--

Roger Hayter

Brian Reay[_5_] February 9th 16 08:57 PM

An SDR or DDS question?
 
On 09/02/16 20:46, Roger Hayter wrote:
Brian Reay wrote:

Roger Hayter wrote:

snip

Well that's yet another difference. Until the great dumbing-down of
university courses in the UK in recent years,[1] first degrees tended
not to be modular, and the department of the primary subject arranged
lecturers in necessary ancillary subjects as part of the main course.

[1] which doesn't apply to all universities.


A stunningly inaccurate statement. It was possible to take different
modules in top rated Universities (from a selected list) to get a degree 40
years ago. Including Oxbridge.


Things like PPE, or PPP you mean? Whatever the theory, in practice you
couldn't dream up your own combination, there were some established ones



It still is.

True, you couldn't mix, say, engineering and tourism


That of course is what I meant. You couldn't do a Keele style degree of
knitting, Serbo-Croat, media studies and physics. I wasn't trying to
imply that their was no choice of modules in a subject. The point I
was making, of course, that things like computer programming for
chemists, while taught by the subject experts, was part of the Chemistry
degree, not a separately credited module.


Roger, rather than trying to back pedal, just admit you were posting
nonsense. If they were not modules, what were they? Even if they were
called 'units', 'blocks', or whatever, it is irrelevant.

Even now, there are plenty of degrees which don't allow wild and
wonderful combinations of modules.

What happened, were you replaced by someone younger and better qualified
and it has made you bitter?








--
Now we've developed the technology to 'chip' and track every dog, why
not extend it to sex offenders.

Roger Hayter February 9th 16 09:52 PM

An SDR or DDS question?
 
Brian Reay wrote:




Roger, rather than trying to back pedal, just admit you were posting
nonsense. If they were not modules, what were they? Even if they were
called 'units', 'blocks', or whatever, it is irrelevant.

Even now, there are plenty of degrees which don't allow wild and
wonderful combinations of modules.

What happened, were you replaced by someone younger and better qualified
and it has made you bitter?


In your eagerness to make bizarre rude remarks about me you seem to
forget we were both on the same side in the originai discussion, which
was when someone expressed surprised about a Fortran course in a
Chemistry degree. You seem to have gone off at a tangent somewhere. I
must take more care about not replying to you, I suppose!


--

Roger Hayter

Stephen Thomas Cole[_3_] February 9th 16 10:33 PM

An SDR or DDS question?
 
Roger Hayter wrote:
. You couldn't do a Keele style degree of
knitting, Serbo-Croat, media studies and physics.


Damn shame, if you ask me. That degree would make for some really quite
interesting, and well-scarved, graduates.

--
STC // M0TEY // twitter.com/ukradioamateur

Jerry Stuckle February 10th 16 01:34 AM

An SDR or DDS question?
 
On 2/9/2016 4:52 PM, Roger Hayter wrote:
Brian Reay wrote:




Roger, rather than trying to back pedal, just admit you were posting
nonsense. If they were not modules, what were they? Even if they were
called 'units', 'blocks', or whatever, it is irrelevant.

Even now, there are plenty of degrees which don't allow wild and
wonderful combinations of modules.

What happened, were you replaced by someone younger and better qualified
and it has made you bitter?


In your eagerness to make bizarre rude remarks about me you seem to
forget we were both on the same side in the originai discussion, which
was when someone expressed surprised about a Fortran course in a
Chemistry degree. You seem to have gone off at a tangent somewhere. I
must take more care about not replying to you, I suppose!



The issue was not a FORTRAN course in a Chemistry degree. It was a
FORTRAN course provided by the Chemistry department - and that by
"professors" who didn't know FORTRAN.

But then trolls never learned to read. They just contradict things they
know nothing about.

--
==================
Remove the "x" from my email address
Jerry, AI0K

==================

rickman February 11th 16 06:56 AM

An SDR or DDS question?
 
On 2/6/2016 4:49 PM, Michael Black wrote:
On Sat, 6 Feb 2016, Brian Howie wrote:

In message ple.org,
Michael Black writes
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


Correct , but Gareth asked about the software equivalent of a DDS
frequency synthesiser or VFO.

The "directly from antenna" in his post threw me. If there's a
heterodyne conversion, which is what he was asking I see now, then there
has to some sort of local oscillator. The way I read it was that he was
asking how to tune something that directly converted to digital. Sorry.


I'm a bit confused by the many comments about the original post, but
there is such a thing as a direct down conversion receiver. As long as
the input is sampled fast enough for the signal frequency or at least
fast enough for the bandwidth when using sub-sampling and there are
adequate filters on the input, this can work. The trouble is the
filtering. I believe that is why IF frequencies have been used, to
filter the signal more easily.

--

Rick


All times are GMT +1. The time now is 07:02 AM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
RadioBanter.com