DSPRelated.com
Forums

Is there a point to theoretical understanding?

Started by Chris Carlen March 4, 2004

On Thu, 04 Mar 2004 10:38:27 +0000, Chris Carlen wrote:

> Greetings: > >
[snip]
> But what I am getting at is this: I have recently become aware of the > existence of a large selection of software tools for developing DSP > systems, which essentially make it possible for an engineer or even a > technologist with minimal theoretical understanding of the mathematical > guts of DSP algorithms, to produce working digital filters and other > goodies with easy to use point-and-click interfaces. The tools even > give you the friggin' code! > > Why then should one study the theory and learn how to calculate filter > coefficients by hand? (Or by one's own custom program, as I just did > with Mathematica for my first FIR.) > >
Because things don't always work the way one expects, and at times like that, one must fall back onto the theory or be lost forever. You say as much, below.
> I know of course, that by understanding the theory, one can apply > insight into problems that will stump another without the theoretical > grounding. Also, one can produce higher-performing, customized, > hand-tooled solutions rather than just piecing together the canned > "modules" of functionality provided by the programs and tools that do > the thinking for you. Finally, there is the intellectual pleasure, for > those who like that. > >
Right, like working a cypher or solving a puzzle.
> This seems to be rare though, as most folks would rather just produce a > result. My being the former way is why I'm in the field of fundamental > research rather than the product industry. But this doesn't make me a > champion of productivity. > >
As you say, productivity isn't everything. Both kinds of people (and everyone in between) are important, those who prefer theory, those who prefer practice. In fact, you seem to be creating a false dichotomy. There are people with varying levels of pragmatism.
> This has me a a little bit concerned. I could spend a few months > designing a system, by exercising all my theoretical knowledge. But > this essentially amounts to reinventing the wheel, if the tools are > available to do it for me, and there is no need for a highly optimized > solution.
Well, yes. But maybe you can save money by not buying the tools. If you only need to design one filter, and the tools cost thousands, this could be a big deal.
> Meanwhile the guy down the hall produces a result in two weeks, and > tells his boss "look I make a custom DSP digital filtering machine" when > he can't even spell c-o-n-v-o-l-u-t-i-o-n. I wonder if someone like > myself who really *wants* to start from scratch just belongs in academia > or someplace where getting off on intellectual tangents is the point > rather than an impedement. Fortunately, Sandia is close enough to that > that I don't get into any trouble here if I take my time. > >
Well, it sounds as though you belong in academia or a research lab. Maybe you can move on to harder problems that haven't already been codified into convolution "wizards" or something. Maybe you can write the papers that others use to create wizards for more challenging problems. On the other hand, if you think you'd be happy in industry, then I'm sure industry would be happy to have you. ;-)
> Since there are such tools as these filter designers (TI also has > automagic analog filter designer programs too, enabling someone who > hasn't ever cracked a circuit analysis text to produce the same results > by pointing and clicking that I could produce after considerable effort > by working from scratch), I begin to wonder if the theoretical based > engineers are in the minority even in production environments like > industry?
Hmm. In industry you have to have balance, but the theory is definitely important. I'm somewhat practical, but I have an OK grounding in basic EE theory. Some of my co-workers have less grounding in certain areas, so they come to me with questions from time to time and I can occasionaly help them. I also get to work on interesting projects more often because I am perceived as someone who can figure out new things without having it spoon fed to me. Since I work for a small company, there is often a need to figure out how to do something that no one in the company knows how to do. This is a great opportunity, because I get to expand my skills and make my employer happy at the same time.
> In other words, does it further your career more to quickly produce > results that work but you don't know why, vs. studying to develop the > ability to know why things work, and to eventually make a few things > which really exercise that understanding? Things which couldn't be done > by "cookbook engineering." > >
I think being able to take initiative is very important to one's career. If a person can't figure things out on his or her own, he/she will end up doing only those tasks which can be clearly explained by more knowledgeable people and will sometimes feel more like a technician than an engineer. On the other hand, someone with no understanding of deadlines and the importance of keeping customers happy will not be welcome in a commercial environment. I guess what I am trying to say is that balance and prioritization are extremely important in industry. Taking your time and working out all the details when the schedule permits is fine. But sometimes you need to get something working right away, and if a software tool can do it for you without you understanding the theory, then understanding is a luxury you can't afford. One other thing I should point out is that specialists are often very successful career-wise. A friend of mine said that people who can design (at the IC level) good PLL's are rare and very highly paid. Also, everyone defers to them because nobody is knowledgeable enough to second guess their decisions. This is just one example, and I'm sure there are others.
> One final anecdote: A few years ago I did a simulation of the basic > lock-in or synchronous demodulation amplifier, in Mathematica (because I > didn't know SPICE very well yet then.) I learned a great deal with > this. It started out by just asking myself one day "how does a lock-in > work?" I have not yet applied that learning to building a lock-in, but > I know one day I may. > >
I don't know what a lock-in is.
> A co-worker spent almost 3 years taking a complicated system containing > two SRS lock-ins and other commercial electronic instruments, and > reducing it's size for portability by building all the electronics on > custom PCBs in a custom chassis. When he finally got to testing the > customized lock-in, one day he was puzzled as to why the output signal > amplitude was varying all over the place as he adjusted the phase knob. > He asked me if I had any idea what was wrong? > > I pulled out my notebook from when I had looked at the basic operating > equations of a lock-in, which said of course that the output amplitude > varies with the cosine of the phase difference.
Sounds like a PLL?
> The fellow did a fine job considering his lack of theoretical > understanding, it is important to note. But I couldn't help but to > wonder how wise it was to have someone build the thing who didn't > understand the very basic theory of the system they were building? Yet > he produced a result that met the goals. > > >
Sounds like it worked, although 3 years is a long time. A project that lasts 3 years could end up having parts go obsolete before it is even finished. ;-)
> Is this way of doing things common? > > >
Well, if a company needs to complete some task, and no one in the company is perfect for the job, management has to try to find the best person to do it. Maybe they can outsource it or hire a contractor. Or, maybe, if there is a resourceful person, a manager might feel confident that this resourceful person can pick up enough of the theory on the fly to complete the task. This can be a reasonable decision, but the details matter. On several occasions I have been that resourceful person who was assigned a task which forced me to learn new things. So far it has worked out both for me and for my employer. But it is precisely because I payed attention in school that I can figure these things out. So, in the end, theory and pragmatism are both very important. Certainly, anyone who has contempt for theory is not going to get very far as an engineer. At the same time, anyone who has contempt for the end goals which allow the company to stay in business is not going to get very far, either.
> Thanks for comments. > > > Good day!
Same to you! --Mac
Hi Chris,

"Chris Carlen" <crcarle@BOGUS.sandia.gov> wrote in message
news:c27t320mkm@enews1.newsguy.com...
> [...] > But what I am getting at is this: I have recently become aware of the > existence of a large selection of software tools for developing DSP > systems, which essentially make it possible for an engineer or even a > technologist with minimal theoretical understanding of the mathematical > guts of DSP algorithms, to produce working digital filters and other > goodies with easy to use point-and-click interfaces. The tools even > give you the friggin' code! > > Why then should one study the theory and learn how to calculate filter > coefficients by hand? (Or by one's own custom program, as I just did > with Mathematica for my first FIR.)
By hand? I don't see any reason why you'd want to do that. Software does a good job, and anything that software can do well is no fun to do by hand. With your own software? Well, you'd do that because you wrote special software that provides special results. If you wrote some code just to help you understand what you're doing, then you may or may not continue to use it in a professional capacity -- it hardly matters. But I see where you're headed and urge you to stop -- you don't want to go there. You don't really want to suggest that the simple tasks should be kept opaque and difficult just to keep some guild of DSP engineers in gainful employment. There's plenty of stuff that the tools *don't* trivialize, and if you really know what you're doing, then that is where you should be putting your effort. You can afford to focus yourself in this way, becaus the easy stuff can be done by anyone at all with the right tools.
> I know of course, that by understanding the theory, one can apply > insight into problems that will stump another without the theoretical > grounding.
When you start stripping away the easy stuff, your job becomes less and less about solving problems and more about design, delivery, self-direction, and professionalism. Instead of solving problems, add value. Find ways to improve the product and do it. Design appropriate solutions and efficiently deliver professional results without having to be prodded by some boss. These are the things that really require your knowledge and experience. They are also the things that will make you a really valuable member of a product development team. Usually, by the time someone actually *defines* a problem that needs solving, most of the difficult and interesting work is already done. It's quite handy in those circumstances to have a tool that can do the rest.
> Also, one can produce higher-performing, customized, > hand-tooled solutions rather than just piecing together the canned > "modules" of functionality provided by the programs and tools that do > the thinking for you.
Yes, that can be quite useful, in combination with and ability to decide where such extra effort should be expended, in order to provide your product with competitive advantages. It isn't too hard for a really good engineer to find useful ways to inject some 'magic' into a product.
> This seems to be rare though, as most folks would rather just produce a > result. My being the former way is why I'm in the field of fundamental > research rather than the product industry. But this doesn't make me a > champion of productivity.
Results are the point in industry. If you can't turn your superior knowledge into superior results, then you don't have superior knowledge.
> This has me a a little bit concerned. I could spend a few months > designing a system, by exercising all my theoretical knowledge. > But this essentially amounts to reinventing the wheel if the tools are > available to do it for me, and there is no need for a highly optimized > solution.
That's called "practice". Exercising your skills will improve them, and employers like employees who improve themselves, because it increases their ability to deliver. Just don't do that when the schedule is tight, OK?
> Meanwhile the guy down the hall produces a result in two > weeks [...]
Hmmm... a few months was pretty excessive, then, wasn't it? Employers prefer you to work for them, but you spent those few months on yourself.
> and tells his boss "look I make a custom DSP digital filtering > machine" [...]
which he did...
> when he can't even spell c-o-n-v-o-l-u-t-i-o-n. [...]
You don't have bragging rights until you *do* something worth bragging about. Again, understand that your education is not an asset of the company you work for. Your ability to spell convolution isn't reflected on the balance sheet. If you want to collect some kind of elitist rent for an unproductive hoard of knowledge, then you don't want to be in the private sector. If you want to shine in a coproration, then take what you know and make some use of it.
> I begin to wonder if the theoretical based > engineers are in the minority even in production environments like > industry?
Absolutely they are. Excellence is rare, and valuable, in every field.
> In other words, does it further your career more to quickly > produce results that work but you don't know why, [...]
Bad idea -- that's what people do when they have no particular aptitude for their job. That kind of work can be outsourced without difficulty.
> vs. studying to > develop the ability to know why things work, and to eventually make a > few things which really exercise that understanding? Things which > couldn't be done by "cookbook engineering."
Yes, that's much better. Do note, however, that you will have to compete successfully against the people who follow the other course, and that will take extra work. If you don't like the the work or don't have an aptitude for it, then find something else.
> One final anecdote: [...] > > The fellow did a fine job considering his lack of theoretical > understanding, it is important to note. But I couldn't help but to > wonder how wise it was to have someone build the thing who didn't > understand the very basic theory of the system they were building? Yet > he produced a result that met the goals. > > Is this way of doing things common?
That's not the way it works. If that fellow was "the expert", then his boss probably assigned him to that task after the fellow himself suggested it. His boss would have been rightly comfortable doing this, because the fellow had a proven track record of delivering on his promises. If, on the other hand, the fellow's boss was the expert, then the fellow would have validated his approach with his boss at the outset. The boss would have known that the fellow was up to the job of miniaturizing the circuit even if he didn't understand the finer points of its operation, and would have taken pains to point out anything that required a particular approach or further validation. While the fellow was working on it, his boss would have spent that time putting his expertise into some task that could make better use of it.
I read in sci.electronics.design that Peter O. Brackett <no_such_address
@ix.netcom.com> wrote (in <7aQ1c.30093$W74.22179@newsread1.news.atl.eart
hlink.net>) about 'Is there a point to theoretical understanding?', on
Fri, 5 Mar 2004:
>Chris: > >My wife can only drive cars with automatic transmissions. > >She has never mastered a stick shift and clutch. > >She lives a wonderfully full and useful life, but... > >She will never win a Formula One race!
Undoubtedly, but F1 cars have a lever on the steering wheel for gear change. The clutch is only used for starting, AIUI, and even then is under mixed driver and computer control. -- Regards, John Woodgate, OOO - Own Opinions Only. The good news is that nothing is compulsory. The bad news is that everything is prohibited. http://www.jmwa.demon.co.uk Also see http://www.isce.org.uk
Mr Avins does remind me that a US-immigrant gentleman of my casual
acquaintance was quoted on sci.electronics in 1987, I believe (before it was
reliably archived) -- by another US immigrant and in a manner without
disrespect for the gentleman's excellent non-native English but rather to
catch his nuances and distinctive style: "If the scientists of the vree
vorld do not build veapons, vreeedom will zeeeease to exist."

"Jerry Avins" <jya@ieee.org> wrote in message
news:4047d226$0$3094$61fed72c@news.rcn.com...
...
>. An infantryman isn't better suited to his > role for having acquired the skills of a gunsmith, but someone needs to > build the rifle, and someone (usually someone else) has to design it.
Chris Carlen wrote:
> > Greetings: > > I have begun to learn the subject
> But what I am getting at is this: I have recently become aware of the > existence of a large selection of software tools for developing DSP > systems, which essentially make it possible for an engineer or even a > technologist with minimal theoretical understanding of the mathematical > guts of DSP algorithms, to produce working digital filters and other > goodies with easy to use point-and-click interfaces. The tools even > give you the friggin' code! > > Why then should one study the theory and learn how to calculate filter > coefficients by hand? (Or by one's own custom program, as I just did > with Mathematica for my first FIR.) >
Because, grasshopper, Some tools are sharper than others. And the sharpest tools are always honed by the master's hand.
> Is this way of doing things common?
Since forever.
> Thanks for comments. > > Good day! > > -- > ____________________________________ > Christopher R. Carlen > Principal Laser/Optical Technologist > Sandia National Laboratories CA USA > crcarle@sandia.gov
Richard Lamb Life is short. Only you can make it sweet.
Chris Carlen <crcarle@BOGUS.sandia.gov> wrote in message news:<c27t320mkm@enews1.newsguy.com>...
> Why then should one study the theory and learn how to calculate filter > coefficients by hand?
That's a little like asking why we have sin and cos buttons on our calculators instead of having to look up the numbers in tables anymore. At the same time it's really good to know that cos^2+sin^2 = 1, and probably even that sin(x) ~ x and cos(x) ~ 1-x^2 for small x. Yes, these factoids come from theory, but those factoids become most useful when you are solving real problems. Your two-pronged approach, where you learn the tools *and* pick up theory (might as well be from the school of hard knocks!) at the same time sounds great. Theory without tools isn't completely pointless, but when both come together it's a lot more fun. Tim.
It's interesting to play around with this in Excel, and
you realise just how small x has to be to generate a Sin
curve using cos (x + dx) and sin (x+dx)

"Tim Shoppa" <shoppa@trailing-edge.com> wrote in message
news:bec993c8.0403051046.20845ea8@posting.google.com...
> probably even that sin(x) ~ x and cos(x) ~ 1-x^2 for small x.
In article c2ajgd$1refcr$1@ID-217727.news.uni-berlin.de, Airy R. Bean at
airy.r.bean@lycos.co.uk wrote on 03/05/2004 14:11:

> It's interesting to play around with this in Excel, and > you realise just how small x has to be to generate a Sin > curve using cos (x + dx) and sin (x+dx)
if you do it right you can do it exactly.
> "Tim Shoppa" <shoppa@trailing-edge.com> wrote in message > news:bec993c8.0403051046.20845ea8@posting.google.com... >> probably even that sin(x) ~ x and cos(x) ~ 1-x^2 for small x.
cos(x) ~ 1 - 0.5*x^2 for small x. just a small thing that playing around in Excel might have pointed out. r b-j
You now seem to be somewhat embarrassed by the
revelation that your own appreciation of the claimed
sampling by impulses lacked any mathematical rigour.

Your resorting to sniping in order to save face
acts to reduce rather than enhance your reputation.

"robert bristow-johnson" <rbj@surfglobal.net> wrote in message
news:BC6E4323.92A9%rbj@surfglobal.net...
> In article c2ajgd$1refcr$1@ID-217727.news.uni-berlin.de, Airy R. Bean at > airy.r.bean@lycos.co.uk wrote on 03/05/2004 14:11: > > It's interesting to play around with this in Excel, and > > you realise just how small x has to be to generate a Sin > > curve using cos (x + dx) and sin (x+dx) > if you do it right you can do it exactly. > > "Tim Shoppa" <shoppa@trailing-edge.com> wrote in message > > news:bec993c8.0403051046.20845ea8@posting.google.com... > >> probably even that sin(x) ~ x and cos(x) ~ 1-x^2 for small x. > cos(x) ~ 1 - 0.5*x^2 for small x. > just a small thing that playing around in Excel might have pointed out.
 "Airy R. Bean" <airy.r.bean@lycos.co.uk> wrote in message
news:c2amv8$1qmfsn$1@ID-217727.news.uni-berlin.de...
> You now seem to be somewhat embarrassed by the > revelation that your own appreciation of the claimed > sampling by impulses lacked any mathematical rigour. > > Your resorting to sniping in order to save face > acts to reduce rather than enhance your reputation.
As I recall the various threads on sampling, the only person who lacked rigour was one Airy R Bean, unless we count rigour mortis of the brain. How is your work on negative frequency? Chimera