# 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 Aug 12 '14 at 0:55
• Oh, that looks like a great place to start! Thanks for posting. – armadadrive Aug 12 '14 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 Aug 12 '14 at 2:35