Digital Signal Processing With Arduino

Hello all!

I have a project that is taking two signals, roughly about 10KHz, do some math on them and then output it to one single analog output. Think of it like taking two sine waves of different frequencies, adding them together, and then output one combined, complex wave.

I was looking at an Arduino solution and I found that I couldn't get it to sample faster than 1 sample every millisecond for one analog input. That wasn't going to work. So I abandoned Arduino as a solution for this.

Then I found this thread;
https://forum.arduino.cc/index.php?topic=6549.15

Now I'm thinking that Arduino might just be the way to go with this! So... my question is, is there a good tutorial for generating analog output?

Thanks for any help you guys might have!!

Greg

Yes you can push the analogRead() much faster than the normal Arduino framework does. There's trade-offs and traps for the unwary. The basic analogRead() is intended to be bulletproof for most highschool type projects.

It depends on what you mean by "generating analog output". If you are trying to create music or measure things accurately at 10kHz then no, the standard AVR Arduinos are terrible.

Have a look at the Teensy series. Easily programmable like an Arduino, uses almost all Arduino libraries without any changes. But it has vastly more analog capabilities. I think you need the Audio System Design Tool for Teensy Audio Library. Just drag-and-drop the components you need and it will write the code for you.

This is the first I've heard of the Teensy... How does it compare with the Arduino Nano?

Sorry, if this is taking a bit of a detour from the original topic...:slight_smile:

The Teensy 2 is pretty much identical. The Teensy 3 is smaller, faster and has a real analog output.