About this course
DSP (Digital Signal Processing) is the term used for how computers and microprocessors manipulate data collected from the external world, usually via a sensor.
We can split this area knowledge into three sections:
- Introductory techniques and skills
- Simple algorithms
- Complex algorithms
If you search the interwebs for an introduction to DSP, what you will find are introductions to the complex algorithms, that assume at least college level math skills. It is very hard to find comprehensive coverage of the introductory techniques and simple algorithms material. So that’s what this course is about, and my goal is to make the material accessible to people who have no more than high school math skills. I may eventually get to the complex algorithms, but that will depend on the response I get to all the initial material I am preparing.
Who is this course for?
- This course is for anyone who is involved in the following areas (and similar areas)You call yourself a Maker (using electronics)
- Electronics Hobbyist
- Doing projects that involve any type of Sensor
- Doing projects that use Analog to Digital Converters (ADC)
- Doing projects that use Digital to Analog Converters (DAC)
- Arduino, Raspberry Pi, Beaglebone, or any of the 100’s of other microprocessor boards
- Building/designing 3D Printers
- Designing your own Printed Circuit Boards (PCB)
- You know which end of a soldering iron to hold
- Although the title targets “Kids”, there is no age limit. It just seemed like a catchy thing to write, and I am assuming that many of the people I hope will use these courses are kids.
The course content will be a combination of videos, text pages like this page, exercises, and quizzes. While the courses are all free, if you want to take the quizzes and keep track of your progress, you will have to register and create an account so that your progress can be tracked. There will probably also be points awarded for completing quizzes, and certificates at the end of each course.
There are already a huge number of videos available on YouTube and else where that touch on many of the topics that I want to cover as well. Some are really good, and some “not so much”. Rather than create videos where there are already good ones available, as part of my creation of this course, I have watched many existing ones, and if I find good ones, then this course will just give you a link to the video, with an explicit acknowledgement of the video author or web site. Basically there is no point in me creating videos where good ones already exist. My value is to find them for you. Of course there will be videos that I create if I can’t find existing ones that meet my standards. The other valuable task I will do is that I will read the comments on the existing videos, which often show what was hard to understand, or not explained well enough. I will then have material in my course that fills in the gaps, or has exercises and quizzes to help in understanding. I welcome you comments about this approach.
- Basic high school maths skills: Add, Subtract, Multiply and Divide. See the site logo.
- When more complicated skills are needed, they will be taught as part of the courses
- An interest in becoming more skilled with designing systems with sensors
All the courses are free
As part of learning about DSP, we will be needing to use various software programs. I will make sure that they are free and that they are available for Windows, Mac, and Linux (or equivalent programs). Some of the tools we will use may have web based versions, that are of course independent of what type of computer you are using. You will just need a browser like Chrome, Firefox, Safari, etc. When programs are to be written, I will present the examples in Python 3, but it should be simple enough that you can use whatever programming language you are already familiar with. If you don’t already know at least one programming language, I recommend that you put this course aside and follow one of the many good Python 3 tutorials that are available. Here are the tools that you will need:
- Microsoft Excel is available for Windows and Mac, and is free for students if they have an email address that is associated with their school.
- LibreOffice is available for Linux, Windows and Mac
- Apache OpenOffice is available for Linux, Windows and Mac
- Google Docs runs in a browser, so you can run it on any computer with a browser, and no need to install anything. Probably requires a Google account.
- Python 3 is available for Linux, Windows and Mac
- If you already are playing with some type of microprocessor board, then you already have some programming language for it. You can use whatever language you already know. It won’t be hard to translate my Python examples to whatever you are already familiar with, as I will avoid using parts of Python that are unique to Python. For example, if you are already using any of the Arduino boards, you are already set (it is available for Linux, Windows and Mac).
Playing with Audio
- At some point in the course I will be be introducing electronic test equipment and what signals sound like. Although it is designed to be a music synthesizer, the VCV Rack package, which is available for Linux, Windows and Mac, provides many possibilities for fun assignments and exercises.
- At some point in the course I will be introducing a fairly high end microprocessor that is quite cheap. For about $10.50 Nucleo-F303RE . There is no need to buy this board at this time.