Recently my team was looking for some contract labor to write some really tight DSP (that's Digital Signal Processor which we shall call DSPors going forward) code. Trouble is there are few people left that are able do this kind of work and it got me thinking about how DSP (that's Digital Signal Processing which we shall call DSPing from now on) is evolving and whether the new generation of communication engineers will be up to the challenge. I turned to Will Strauss, the famous tracker of all things DSP and he suggested I talk to a mutual friend, Gene Frantz who, if not quite the father of DSP, certainly did a lot of babysitting and diaper changing in his role at Texas Instruments (remember Speak and Spell? Yup, that was him). Gene became the only Principal Fellow at TI for a while and is now a Professor at Rice University. So well qualified to the challenge. Anyway, this is what we came up with. Comments welcome as always.
Alan Gatherer EIC
The Future of Digital Signal Processors
Gene Frantz, Professor in the Practice, Rice University
Alan Gatherer, Editor in Chief, CTN
About 25 years ago Will Strauss, the president of Forward Concepts wrote an article entitled “DSP is dead; long live DSP”. Since then many changes in the industry and academia have happened. Raw performance of all processors has accelerated, portability has become the norm and cloud computing, IoT and big data have opened the door to a whole new world of opportunities. At the same time C programming has faded in favor of more abstract scripting languages like Python and we now see devices that were traditionally called microprocessors include powerful signal processing extensions into their architectures. So we thought it might be time to check the pulse of DSP one more time.
To start our investigation Gene asked Professors Burris, Johnson, Orchard and Baraniuk, who have been in the world of DSP throughout their careers, for their inputs. It was somewhat of a Pandora's box at that point. So we will try to organize their responses along with our own thoughts and those of Will Strauss, into some main points:
Is the teaching of DSPing in decline? If so why and how?
This covers courses, books and now MOOCs (Massive Open Online Courses) on signals and systems. Designing filters and understanding the role of FFT in signal analysis for instance. There was a general feeling that why we are teaching DSPing has changed to accommodate those who want to go out and be entrepreneurs and innovators of things and who only need to know enough to use DSPing and maybe DSPors to achieve their goals. In the past we taught students to be detailed implementers and skilled practitioners. DSPing was the center of their careers, not just one of many skills to be picked up. Today we know of one DSPing class that uses Matlab compiled on Android devices as the practical section of the class! This may become an issue when new technologies, such as compressed sensing, come along and engineers in the field realize that their basic theory is not enough to understand, never mind implement, this new technology. Don Johnson saw these issues in graduate students and we just quote him here: “I find that graduate students don’t understand Fourier transform symmetries: (why does the output of the FFT always show a very high frequency component even though the signal is supposedly low pass?), circular convolution (I’ll perform ideal low pass filtering by taking the signal’s FFT, set all the high frequencies to zero [wherever they are], and take the inverse transform), and frequency-domain filtering in two dimensions. In statistical signal processing, students don’t know that applying the magical EM algorithm amounts to suboptimal (finding the global maximum is not guaranteed) maximum likelihood estimation. How do I know the noise is indeed Gaussian? What if it isn’t; can I still just use Gaussian-based methods and not get hurt badly?"
If DSPing and/or DSPors are no longer taught (or with less emphasis), why?
It seems there are many more things to learn in 4 years than there were 25 years ago. What was called Electrical Engineering is becoming part of all engineering disciplines in that engineering disciplines now use microprocessors, wireless communications, signal processing, power management and sensor fusion as tools. Colleges teach these topics as an introduction for all engineers and don’t have time to go into a great deal of detail on why they work. We don’t particularly want to have two versions of the DSP curriculum, one for Electrical and Computer Engineers and one for everyone else. Basically, we don’t need the students to know the theory, but only the practice. As a result we are no longer graduating theologians but practitioners. (Gene wishes to point out that this is not true at Rice). Also DSPing is seen as a hard topic and students conclude that, ”if there are so many things to learn, let’s take the easier ones so we can graduate with a higher GPA.” Basically, DSPing is an elective and not a requirement and DSPors are hardly taught at all.
Secondly there is far less support for teaching DSPors that there was even a decade ago. It used to be that DSPors were a hot trend and companies that specialized in them would provide lots of equipment and cash to set up shiny labs filled with computers connected to the latest and greatest DSPor boards. This is no longer the case. There are some universities that specialize in teaching CUDA and openCL programming for Graphics Processor Units (GPUs), but DSPors have fallen by the wayside in academia. We should point out that this may only be true in the USA and some of our foreign colleagues think that the US has given up on their leadership of efficient programming of embedded systems, preferring to outsource this kind of work to places like India and China. If true this would be a worrying situation for innovation in the US, but maybe a good thing for the rest of the world.
Is a MATLAB level of understanding enough?
Yes, in many cases if the goal is as a precursor for communications theory or control theory classes. The detail of how to design a filter, or implement an FFT is left to specialized classes. Even more worryingly, the details of the tremendously important numerical rounding effects on the different ways of developing the critical baseline functions like FFT, matrix factorization, IIR filters and so on may be left to very specialized and advanced classes, possibly in numerical analysis, rather than signal processing. These details are hidden behind a function call in MATLAB and the double precision accuracy of that function. Not that many engineers worry about rounding effects on a daily basis, but a lack of the basic theory is surely a gap in their education and we have seen it lead to some bad decisions in DSPing development and DSPor programming. Some universities no longer teach assembly code or low level languages like C and there is little emphasis on designing programs to run efficiently. There are a couple of classes we know of at Stanford and MIT where they teach efficient programming and they see performance improvements at the end of the class of 1000X over the kind of code that students will write coming into the class. However the era of efficient and architecture aware programming is not yet dead. In a recent keynote at Stanford John Hennessey predicted that the end of Moore's Law and Dennard scaling would lead to a new era of architectures he called Domain Specific Architectures (DSA) in alignment with the trend towards Domain Specific Languages. His point was that the future of processing even for deep learning, was in specialization and that programmers would have to have a deeper understanding of the architectures they are programming for. The recent paper by Google  on their Tensor Processing Unit seems to confirm this. Much of what is being said now was gospel for DSPor in the 1990s. So maybe we will start to teach this stuff again.
Maybe DSP is not dead but has just left the building, moving into new and more profitable areas?
Will would be the first to point out, as he does expertly every month in his newsletter, that DSPs are all over the place (mainly in cellular handsets), but are hidden from the view of all but a few programmers. However, old DSPing techniques are constantly being re-discovered in new areas (see the article on faster than Nyquist in this news feed for example) in many cases as a result of the overall advancement of technology. Big Data, Cloud Computing and the Internet of Things (IoT), in particular have expanded the application reach of DSPing concepts, introducing them to a broader group of innovative people. IoT may even lead to a resurgence in DSPors. Neural networking for instance, just fancy adaptive filtering, used to be solidly in the DSPing camp but is now a sexy big data technology and is often introduced as a new technology. Classical DSP was based on models from Physics but Machine Learning is based on models from data and hence Digital Signal Processing engineers have morphed into Data Scientists. DSPing remains on the front end of all of this for the pre-processing of signals into data. As we said above, the end of Moore and Denning may bring back DSPor type systems with a vengeance in the next few years, maybe specifically for deep learning.
In the future, the term DSP on a resume may distinguish the creative person from the executor. But there will be new terms that will also make this distinction such as Data Science, Neural Networks, image recognition, etc. The future engineer will need to be more of a generalist and universities have recognized this in their programs. There will still be signals and data which need to be cost effectively processed and hardware that needs to do that. To make that happen, new theories and practices will continue to be created and we need qualified people to do this. Funding for DSPing however has moved towards Data Science and we should probably just accept this fact and not complain. The architectural bases of DSP expanded to all processors once it was understood that the real breakthrough was the ability to do math efficiently. Now most microprocessors and microcontrollers do high performance math. The philosophy behind DSPors may be returning as the internet matures and asks for more efficient processing engines. The opportunities to use the concepts and architectures of DSP to solve new problems is mind boggling. So DSPing didnt die, but it may be living under an assumed name and even in a different department. DSPors are looking mighty sick but we believe are set for a miraculous rediscovery. So all you old DSP programmers, dont retire just yet. You have a new generation to teach. And Long Live DSP!
- Strauss, “DSP is dead; long live DSP”, EE Times on line 6/24/2002
- "In-Datacenter Performance Analysis of a Tensor Processing Unit TM" to appear at the 44th International Symposium on Computer Architecture (ISCA), Toronto, Canada, June 26, 2017.