Looking for a book or techhnical resource on DSP...

DSP, Plugin and Host development discussion.
RELATED
PRODUCTS

Post

sellyoursoul wrote: Tue May 21, 2019 2:36 pm Should it be implied that anyone who is interested in dsp should already have an engineering background? Or should that be a question that is raised when someone asks about learning dsp? I would think that many more people (such as myself) have a naive interest in dsp without having an engineering background or even an understanding of the prerequisite knowledge for beginning into dsp.
Of course not and I'm not sure how you got to the idea that I might have implied something like that. It would be certainly correct to mention that an engineering level of math is a prerequisite and that's what I never argued about, but on the contrary, proposed.

On the other hand, stating that one needs prior DSP knowledge is incorrect and misleading, right? Yes, it is possible to learn the necessary math through a "beginner DSP" book, but by claiming that one needs to first learn DSP elsewhere, you misinform the potential readers. The readers should have a choice of deciding how they wish to obtain the necessary math knowledge, and a good advice shouldn't make that choice for them.

Besides, what if a reader is already having the necessary background in math. Your suggestion would still imply that they have to learn DSP first too, right?

Post

Z1202, my last post wasn't addressed to you. It was general observations and experiences of approaching gaining math skills required for beginning to learn dsp. I think that having the required math skills is probably going to be the biggest obstacle for beginning dsp for most non-engineers who are interested in it. But I rarely see that mentioned in these sorts of discussions in contrast to lots of recommendations for engineer level dsp 'beginner' books.

Post

sellyoursoul wrote: Tue May 21, 2019 2:36 pm Also, alot of what I have read from engineering students and engineers is that they take the required math courses at university but do not gain a real understanding of the math. And I have talked to quite a number of people who have taken math courses at university (including math majors and instructors) who didn't gain an understanding of what was being 'taught'. In other words, they learned the required steps for completing bookwork but didn't come away with good conceptual understanding and therefore lack the ability to apply math in solving real problems. One math instructor who I know and who has won state teaching awards for math told me that his understanding in math eventually came around after years of teaching math at university.
Learning math (or programming for that matter) is not something you do by sitting down and reading a math book. You could learn (say) history by taking a bunch of books and memorising their contents, but with math that's really where the actual learning process starts. The hard part (with both math and programming really) is building the necessary mental models that let you apply the raw knowledge you've acquired through reading or courses or whatever.

This is a process that takes time, but you can speed it up to a certain extent by solving problems. Solving problems tends to be a struggle and if it's not a struggle, then the problems you're trying to solve are too easy. It's quite helpful to solve problems even if you already know the answer, because it's really not the answer that matters, it's the process of forcing your brain to structure the raw information into a practically usable form. You're not interested in the solution, you are interested in how to get there.

When it comes to learning DSP, you don't necessarily need to learn the math first. You can certainly learn both at the same time, at least to a certain extent. The key to learning thought is to struggle. When you struggle trying to figure things out, you're learning. If you avoid struggle, you really won't get anywhere. If you can solve a problem without struggling, you need a harder problem. Feel free to Google for "math and productive struggle" if you're not convinced yet.

Now, the point I'm trying to make here is that math isn't easy for anyone. The people who are "good" at math (and other logical/mathematical subjects like programming or DSP) just tend to be the people who enjoy a certain amount of struggle. Sure, some people pickup certain concepts easier, but eventually everyone reaches a point where it's a struggle and that's all good, because really it's the goal. Once you get the hang of it (and I really mean the struggle itself here!), it can be a lot of fun... but you probably won't really know before you try. :)

Post

For the maths background, I recommend these: https://minireference.com/

Post

Ivan_C wrote: Wed May 22, 2019 9:27 am For the maths background, I recommend these: https://minireference.com/
Then you haven't read them. At least not from the point of view of someone learning the topics covered in them for the first time. If you want to get into a discussion about those books, I would be glad to. I have discussed the first one with the author. They are terrible examples of teaching. But I'm sure the concept and title of 'No Bullshit' has sucked in lots of customers. Any way, those books are very broken in numerous ways.
Last edited by sellyoursoul on Wed May 22, 2019 2:32 pm, edited 6 times in total.

Post

mystran wrote: Wed May 22, 2019 4:47 am
sellyoursoul wrote: Tue May 21, 2019 2:36 pm Also, alot of what I have read from engineering students and engineers is that they take the required math courses at university but do not gain a real understanding of the math. And I have talked to quite a number of people who have taken math courses at university (including math majors and instructors) who didn't gain an understanding of what was being 'taught'. In other words, they learned the required steps for completing bookwork but didn't come away with good conceptual understanding and therefore lack the ability to apply math in solving real problems. One math instructor who I know and who has won state teaching awards for math told me that his understanding in math eventually came around after years of teaching math at university.
Learning math (or programming for that matter) is not something you do by sitting down and reading a math book. You could learn (say) history by taking a bunch of books and memorising their contents, but with math that's really where the actual learning process starts. The hard part (with both math and programming really) is building the necessary mental models that let you apply the raw knowledge you've acquired through reading or courses or whatever.

This is a process that takes time, but you can speed it up to a certain extent by solving problems. Solving problems tends to be a struggle and if it's not a struggle, then the problems you're trying to solve are too easy. It's quite helpful to solve problems even if you already know the answer, because it's really not the answer that matters, it's the process of forcing your brain to structure the raw information into a practically usable form. You're not interested in the solution, you are interested in how to get there.

When it comes to learning DSP, you don't necessarily need to learn the math first. You can certainly learn both at the same time, at least to a certain extent. The key to learning thought is to struggle. When you struggle trying to figure things out, you're learning. If you avoid struggle, you really won't get anywhere. If you can solve a problem without struggling, you need a harder problem. Feel free to Google for "math and productive struggle" if you're not convinced yet.

Now, the point I'm trying to make here is that math isn't easy for anyone. The people who are "good" at math (and other logical/mathematical subjects like programming or DSP) just tend to be the people who enjoy a certain amount of struggle. Sure, some people pickup certain concepts easier, but eventually everyone reaches a point where it's a struggle and that's all good, because really it's the goal. Once you get the hang of it (and I really mean the struggle itself here!), it can be a lot of fun... but you probably won't really know before you try. :)
I don't disagree that there is some necessary struggle involved in learning *anything*. But struggle without gaining conceptual understanding (mental models) is a waste of time and energy. And struggle isn't some thing to be dreaded. It is part of the process of a curious mind seeking understanding, rather than a bad feeling from doing something that you don't want to be doing. There is satisfaction in the struggle and work toward gaining understanding and proficiency. Many people take math courses and grudgingly struggle through them without gaining any real conceptual understanding (I would say most people). It's why kids tend to ask, "When will I ever use this in the real world?". You probably won't, because you aren't being taught how the thing is useful in the real world according to your own interests. And in many cases, you aren't even being clearly taught what the thing is in the first place, so you are just blindly carrying out steps, recognizing patterns for completing the steps.

And there is a gotcha here. There can be satisfaction in the act of struggle and work itself, *without* gaining any conceptual understanding, just because the work is challenging. I have experienced this myself, and I have talked to a math major who experienced this throughout her university experience, coming away from it with no real gain in applying math.

Post

mystran wrote: Wed May 22, 2019 4:47 am When you struggle trying to figure things out, you're learning. If you avoid struggle, you really won't get anywhere. If you can solve a problem without struggling, you need a harder problem.
If I struggle to figure something out over and over again, that's hardly learning.

Post

I guess you mean struggling over and over on coming to an understanding at all. Yea, that is not good learning. It turns into dread rather than enthusiastic learning fueled by curiosity. But that is how some people think it should be. I'm not one of them. But if that is the nature of the available resources for learning some thing, then we have to find a way through it.

Post

My favorite for begginners is Olli Niemitalo's "Digital sound processing tutorial for the braindead"

http://yehar.com/blog/?p=121
www.solostuff.net
Advice is heavy. So don’t send it like a mountain.

Post Reply

Return to “DSP and Plugin Development”