• WANTED: Happy members who like to discuss audio and other topics related to our interest. Desire to learn and share knowledge of science required. There are many reviews of audio hardware and expert members to help answer your questions. Click here to have your audio equipment measured for free!

Here's an online DSP course good for engineering "old-timer" self-study

andyc56

Active Member
Joined
May 14, 2016
Messages
119
Likes
166
I'm posting this in case there's some engineering "old-timers" like myself out there who didn't get a chance to study DSP thoroughly while at university. In my case, I took a "Signals and Systems" course 40 years ago. Back then, those junior-level courses emphasized communication theory and tended to de-emphasize DSP, although the Sampling Theorem was discussed. I foolishly believed back then that DSP was for digital engineers only, and since I was an analog and RF guy, I ignored the specialized elective DSP courses. For decades, I've been kicking myself for not having taken specialized DSP courses. In the meantime, I've tried with only partial success to do DSP self-study. A few years back, I grabbed a copy of Oppenheim and Schafer, found an online university course outline, and read the book while working the problem assignments. But there was a problem with a lingering mental fog on certain topics that shook my confidence. This all changed a couple of weeks ago when I found an online course with video lectures. These lectures are hosted on youtube and linked from the course's home page.

The course is called "EECE 402: Digital Signal Processing". That page has links to the youtube video lectures and PDF documents which are the slides that make up the videos. The prof is a guy named Fowler, who does the lectures in a very friendly, laid-back style, yet covers the material pretty thoroughly. The book used is Proakis and Manolakis, 4th edition (the latest as of 07/2018). So far, I've found this book to be very good for self-study use, certainly better than O&S for this purpose. The Indian edition of this text is available on Amazon for $30. Often, such textbooks are over $100, so this is a really good price as engineering textbooks go. The Indian edition is an English-language edition identical to the US one, except for the cover and its non-insane price.

I ended up downloading all the lecture videos using a cool command-line utility called youtube-dl. For a youtube-dl tutorial, see this post. I use it in combination with a nifty command-line host called cmder, which allows multiple tabbed console windows within a frame window. It has great command-line editing features like Ctrl+V to paste and many others, including Git integration.

Watching these videos and reading the corresponding book chapters while working problems here and there has completely cleared up all the mental fog I had previously experienced in my DSP self-study attempts. I highly recommend this resource for those like me who need to catch up on this subject.
 
Last edited:

amirm

Founder/Admin
Staff Member
CFO (Chief Fun Officer)
Joined
Feb 13, 2016
Messages
44,376
Likes
234,556
Location
Seattle Area
I just watched the first few minutes of his video at 2X speed :D, and it is excellent. Definitely recommended.

And I need to install cmder. Having control-v support would be so useful.

Thanks a bunch for such an information rich post!

I was fortunate enough to take digital signal processing some 40 years ago and it has been the most useful course during my career. At the time, I had no idea it would be so.
 
OP
A

andyc56

Active Member
Joined
May 14, 2016
Messages
119
Likes
166
I was fortunate enough to take digital signal processing some 40 years ago and it has been the most useful course during my career. At the time, I had no idea it would be so.

One reason of many that I've been kicking myself all these years for not studying it is that the guy who taught many of the "signals and systems" courses at my school was Ron Schafer. So I missed out on a DSP curriculum taught by Schafer himself.

cmder writes to config files in its own sub-folders, so it has to be installed into a folder not governed by UAC. I have a folder called programs-no-uac that I use for such programs, as well as *nix-related utilities such as XAMPP that don't like being installed into directories whose names contain spaces. To get a right-click "Cmder here" menu in Explorer, you need to open up a command prompt with Admin privileges, navigate to the cmder.exe directory, and type:

.\cmder.exe /REGISTER ALL

Then you won't have to do a shift-right-click to get a command-line prompt as you need to do with cmd.exe. It's right there on a right-click menu.
 
Last edited:

DonH56

Master Contributor
Technical Expert
Forum Donor
Joined
Mar 15, 2016
Messages
7,836
Likes
16,501
Location
Monument, CO
Thanks for this Andy, I could use a refresher. I did take several grad classes under Dr. Samuelli, no slouch himself, and a few others when I was thinking about a PhD (didn't work out -- Life and Work got in the way), but that was ages ago. I used some of it several times for work despite being an analog guy, and still use some of it now and then in the SerDes world (DFEs abound).
 

andreasmaaan

Master Contributor
Forum Donor
Joined
Jun 19, 2018
Messages
6,652
Likes
9,399
FWIW, I'm finding this textbook reasonably accessible as a total newcomer to DSP whose only background is in loudspeaker design (no electrical engineering or programming).
 
OP
A

andyc56

Active Member
Joined
May 14, 2016
Messages
119
Likes
166
Thanks for this Andy, I could use a refresher. I did take several grad classes under Dr. Samuelli, no slouch himself, and a few others when I was thinking about a PhD (didn't work out -- Life and Work got in the way), but that was ages ago. I used some of it several times for work despite being an analog guy, and still use some of it now and then in the SerDes world (DFEs abound).

Another book I found interesting is the one by Antoniou (inventor of the "Antoniou's gyrator" op-amp circuit). It's really good for digital filters. You might be able to find a PDF copy online by searching for

"Digital Signal Processing" Antoniou pdf

:)

That was where I got the bilinear transformation formula for converting an analog filter to an IIR digital filter (used in Multi-Sub Optimizer).
 

DonH56

Master Contributor
Technical Expert
Forum Donor
Joined
Mar 15, 2016
Messages
7,836
Likes
16,501
Location
Monument, CO
Memories... The bilinear transform first made sense to me when I was doing SC filters and took a class under Dr. Gabor Temes. I had to make one at work and so got to play with them in the real world as well as at school. The DSP classes came later.

The book is available from multiple sites (I do not have it but did a search) along with corrections documents. Have to grab that one, thanks again!
 

Cosmik

Major Contributor
Joined
Apr 24, 2016
Messages
3,075
Likes
2,180
Location
UK
I have an in-built fear of arbitrary complexity i.e. I'm not interested in methods that might be a neat educational tool but might not solve real world problems. I don't want to have to keep extending my mathematical knowledge for every little wrinkle in the frequency and phase response, so I'm not interested in IIR filters, poles and zeroes...

I want a one-stop shop. For me, the gold standard will have to be: the convolution engine.

It's a 'bounded' (in terms of what you have to know), yet universal technique. As long as you can spare some latency, it means you have the world of filters at your fingertips: any frequency response and any phase response.

What I'm saying is: if you forget IIR filters and go for the FFT in one hit, then arbitrarily complex DSP is very, very simple. Get a software-based convolution engine (or implement it yourself with a FFT library and overlap-and-add - not hard) and you are laughing; you have the tool to implement any frequency domain-based DSP you want. If there's anything else you need/prefer to do in the time domain (inversion, delays, gain changes and so on) these are just super-trivial bits of software that even I can understand.

Basically, this is the comment I would like to have read many years ago - it would have saved a lot of fear regarding just what 'DSP' entails :).
 

DonH56

Master Contributor
Technical Expert
Forum Donor
Joined
Mar 15, 2016
Messages
7,836
Likes
16,501
Location
Monument, CO
You can implement accurate, stable crossovers and tone controls (EQ filters) using IIR or FIR filters, does not mean they are arbitrary, no need for fear...
 

Cosmik

Major Contributor
Joined
Apr 24, 2016
Messages
3,075
Likes
2,180
Location
UK
You can implement accurate, stable crossovers and tone controls (EQ filters) using IIR or FIR filters, does not mean they are arbitrary, no need for fear...
For sure, basic tone controls and filters could be created using IIR and finite amounts of mathematics, or software tools. But as I was stressing, sometimes you need arbitrary filters and the thought of needing to know how to do this with IIR strikes genuine fear into my heart. I've always been this way: I know when I'm learning 'the course' that it doesn't really address real world scenarios and this worries me.

The convolution engine is the one-stop shop. It's the tool for, say, inverting any frequency response measurement, or correcting a measured frequency-dependent phase shift. The mathematics behind it are ultra-simple, but scaled to a practical complexity.

An analogy might be in the world of graphics. You could spend your life learning the mathematics to create more and more complex geometric shapes and how to distort them, but a far more fruitful avenue might be to spend a morning learning to use OpenGL. OpenGL is the one-stop shop for ray-tracing, perspective, scaling, rotation or arbitrary transformations of arbitrary bitmaps.
 
Last edited:
OP
A

andyc56

Active Member
Joined
May 14, 2016
Messages
119
Likes
166
You can implement accurate, stable crossovers and tone controls (EQ filters) using IIR or FIR filters, does not mean they are arbitrary, no need for fear...

Yes, but their use strikes fear into my heart, therefore you should not use them. Have I got this right? :)

The purpose of this thread was to discuss online DSP learning resources, not to engage in FIR vs. IIR "filter wars". In my case, one purpose of doing this course was to learn more about FIR filter design.
 
Last edited:

amirm

Founder/Admin
Staff Member
CFO (Chief Fun Officer)
Joined
Feb 13, 2016
Messages
44,376
Likes
234,556
Location
Seattle Area
I want a one-stop shop. For me, the gold standard will have to be: the convolution engine.
The disadvantage there is that it is all or nothing. No way to experiment in different regions like you can with PEQ.
 

DonH56

Master Contributor
Technical Expert
Forum Donor
Joined
Mar 15, 2016
Messages
7,836
Likes
16,501
Location
Monument, CO

Cosmik

Major Contributor
Joined
Apr 24, 2016
Messages
3,075
Likes
2,180
Location
UK
The disadvantage there is that it is all or nothing. No way to experiment in different regions like you can with PEQ.
P for parametric..? With the convolution engine you can effectively just draw your filter - so a parametric EQ could just be a GUI-based front end, with every change you make immediately being loaded into the 'engine'.

Maybe not everyone has the same fears. For me, having to learn a lot of hard maths and still not having a general solution under my belt is a fear. And if people start talking about specific filters like Bessel and Chebyshev I feel my panic reflexes rising because I'm thinking "Yes, but with these off-the-shelf filters phase is inextricably linked with frequency response, and what if I need something in between, or a nearly-but-not-quite linear phase filter?".

The 'GUI' on the other hand holds no fears. The 'file' holds no fears. By hook or by crook, I could define frequency and phase responses using a mouse, spreadsheet or trivial code and load it into a FFT-based 'convolution engine' without a Laplace transform or other hard mathematics in sight. For sure I need to have a feel for what is possible for with certain latencies, FFT sizes and so on, but these are just 'rules of thumb' that a mathematical mortal can handle.

Some people, it seems to me, can go through life happy to learn what they are taught, and not be constantly aware that they're just learning 'educational examples' compared to the real world out there. I *need* to have the general solution. Luckily, in this case the general solution is much simpler than the educational examples!

Another fear: learning to reproduce mathematics parrot fashion with great effort, but not really understanding what it means at an intuitive level. The great thing about the Fourier Transform is that it is, at heart, very, very simple and can be understood at a deeply intuitive level.
 
Top Bottom