discuss-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Stop making unneeded improvements


From: Kevin McQuiggin
Subject: Re: Stop making unneeded improvements
Date: Thu, 7 Jan 2021 22:18:55 -0800

Hi Paul:

FYI, I was in largely the same position re DSP and SDR several years ago, that is, of a newbie with strong computing science and math background, and fairly good radio systems knowledge, but with dust on the mathematics side for a couple of decades.

I found a fantastic introductory textbook online at http://www.dspguide.com, “The Scientists and Engineers' Guide to Digital Signal Processing by Dr. Steve Smith.  It starts with the basics and builds up a fairly good understanding of the topic, and for me that was a good starting point to begin working with Gnuradio and understanding how things are put together.

The book is downloadable as a PDF, but I liked it so much I bought a hard copy.  

I’m still a neophyte in the field compared to a lot of the experts here and those deeply involved with the project, but with this basic knowledge and the ability to tinker with the blocks, and sometimes read the C++ source code for more insight, I have gotten some pretty interesting projects going and learned a lot.  

I tend to use Gnuradio for the front end of projects and then pass demodulated bits to my own C code for processing (and vice versa), but this approach works well enough for me, for what I am trying to accomplish.  GRC is great for “playing around” easily and figuring out what works.

Hope you or someone else on the list finds the book suggestion helpful, although I should also mention Gnuradio tutorials which have been revamped lately, and the excellent examples which come with every Gnuradio installation.  

The book doesn’t cover radio specifically, and in fact that is good because the signal processing concepts it discusses apply as well to audio, for example, as they do to radio signal processing.

Kevin

Sent from my iPad

On Jan 7, 2021, at 21:38, paul@dbnut.com wrote:

[Apologies for the lack of paragraph breaks in that last - taken by surprise after using a crude editor]

Thank you, Marcus, for taking so much trouble to respond so comprehensively. And with such good grace!

Your detailed section on dependencies is very sobering and helps me understand much better how vulnerable GR is in that respect, plus how essential it is to restructure from time to time and how painful that is going to be. In some ways the timing was unfortunate for me - a few years earlier or later your project might have been a little less "dynamic".

Also I can now understand your (and presumably the majority) perspective on the Companion as more of a debugging tool, while for me it served more like Visual Studio for a WinForms project (not a very accurate comparison, but I think you'll see what I'm getting at). The fact remains that GRC exists, it is apparently used quite widely by people like me with lesser skills, and its GUI wrappers for on-tree blocks enable a fantastic scope for some *highly* complex system prototyping.

You may not want to emphasise GRC's stand-alone talents but flowgraphing is an increasingly capable and popular tool class, not entirely unlike GUI visual designers.

In contrast, my (prototype) flowgraph was so simple as to be almost laughable (and I should have made that clear at the start). Yes, it was a "radio": reading from an I-Q file, the essentials being several stages of frequency translation, decimation, assorted filters, Hilberts, Costas, finally audio to sound card. Just rather different from the many examples on the web. As for GUI, a couple of spectrums and waterfalls, a 'scope, assorted selectors, and tuning.

Ah, tuning. I ended up with one slider for *each* decade digit from 1 MHz down to 0.01 Hz (don't ask). That's why I was looking for up/down buttons to configure tuning step using a single slider. Now you'll probably tell me I'm a moron because XYZ will deliver exactly that. Oh well, I'm a hermit and don't ask questions but should have done.

That brings me with trepidation to DSP understanding/skills. My maths degree is ancient with a thick coating of rust and, however deep you dig, not a mention of difference equations. So I'm a baby in this new world. But please give me credit for having read hundreds of pages on DSP at various levels - not enough to use Matlab or write Python routines, but enough to configure ready-made GRC filter blocks and be aware when I'm over my head.

The point is, I take the view that (broadly speaking) there are two levels of understanding: creator and informed/educated user. You are the first type, I'm somewhere near the other end of the scale. By analogy, I can use a highly sophisticated communications receiver to great effect with almost no expertise in electronics design.

And the bottom line on this one is [as always, from my perspective] for a wide range of applications you *can* get by without anything more than GRC (i.e. no coding). And where GRC does fall "short of that goal", *maybe* GRC warrants a bit more effort to widen the goal mouth. It just feels a bit harsh hearing "nothing requires that you use GRC" if GRC is ostensibly up to the job while the skills gap to make do without it is so daunting.

Sorry to have laboured that point.

As previously, I have learned a lot from your exposition, Marcus. And I'm grateful for your time responding. It's not my intention to try and have the last word, so I'll shut up now and go back to my cave.

[BTW good to read Geof Nieboer's 4 Jan update on Windows installer]

Paul White


reply via email to

[Prev in Thread] Current Thread [Next in Thread]