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? |
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 |
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. |
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. |
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. |
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 |
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 |
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 ================== |
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 |
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 |
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? |
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? |
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.) |
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!!!!! |
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! |
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 |
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 |
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 |
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? |
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! |
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 |
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 |
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 |
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 ================== |
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 |
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 ================== |
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. |
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 |
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 ================== |
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 |
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. |
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 |
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. |
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 |
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 |
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 ================== |
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