# Crash course on turning engineering formulae into computer code?

I'm trying to teach myself about the basics of feature extraction from digital signals. Specifically, I want to try monophonic then polyphonic pitch recognition. I don't have any university level math or computing science experience (I'm self-taught), so I find the formulas in many texts and websites to be a road-block because I don't understand what most of the Greek symbols mean. E.g. I had to search and find that $\Sigma$ is called Sigma and that it means "summation"...

As a self-taught recording engineer I have a decent understanding of what needs to happen from a high level:

• Separate digital signal into component frequencies
• Analyse the relative strength of each frequency bin
• Evaluate the strongest frequencies and compare against known values to determine most likely chord

When I start trying to do any reading about these theories I can't translate it into code because I have no idea what the mathematical explanations are trying to tell me.

Maybe this is a question for a math forum, but I figured that a group of DSP enthusiasts and experts could help me fill in the gaps between my coding knowledge and my basic understanding of sound. I get that a Fast Fourier Transform takes a signal and transforms it from the time domain into the frequency domain, but I don't understand the process when I see it laid out in mathematical terms.

How does someone in my position move forward? What kind of resources exist to help someone with high-school algebra (but a "can-do" attitude!) learn enough to get comfortable with basic signal processing? Is there a less "math-intensive" way to gain an understanding of what needs to happen that could lead to a better understanding of the symbols and formulas commonly used?

• What resources are recommended for an introduction to DSP?
– Emre
Commented Aug 12, 2014 at 0:55
• Oh, that looks like a great place to start! Thanks for posting. Commented Aug 12, 2014 at 1:03
• Here is the book books.google.ru/books/about/…. It's quite suitable for beginning. And also there are a lot of web resources that explains a lot of basics by easy way. A good idea is to make models in Matlab or Scilab. It helps rapid understanding of the algorithms and math. For someone it isn't necessary to know formal math language at all to program in Matlab/Scilab and do a working code for e.g. FPGA (I know such guys)
– Serj
Commented Aug 12, 2014 at 2:35

## 1 Answer

I don't usually recommend this series, but Linear Algebra For Dummies might be right for you. Chapter 19, for example, covers all the Greek symbols.

You should also complement this with an introductory book on DSP, like Applied digital signal processing : theory and practice and DSP for audio An Introduction to Audio Content Analysis: Applications in Signal Processing and Music Informatics

• See? I hadn't even heard the term Linear Algebra before. This is a great start, and the sample copy of Understanding Digital Signal Processing by Richard G. Lyons that I'm reading from Google Books is soft(ish); enough that I can understand what he's saying. Thanks so much! Commented Aug 12, 2014 at 11:33