Fast Signal Sampling (Part 11)

Part 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 11, 12

Previous post on same subject

PlainADC has been again revised, optimized and refined. The single shot function has been retired. The reasons are: firstly PlainADC is optimized for scan data not really for acquiring single data. The analogRead() function does the job. Anyway, for those who can refrain from using PlainADC, you can still use the library and set the number of samples to 1! The only difference versus the analogRead() function lies in the fact that you will need two lines of code instead of one. The second reason is that I am working on a major new revision of PlainDAC which will extend the range of applications involving this library. I needed some simplification in order to avoid complexity due to some tricky overloads.

The library comes with three example sketches: simple use of PlainDAC in scan mode, no need to care about pointers , vectors or what so ever, advanced use of PlainDAC, now very efficient for interfacing PlainDAC to any other library (e.g. PlainFFT!) and single shot data acquisition. New too is the availability of a user manual which should simplifiy the use of the library. PlainDAC is now specified for single channel acquisition, 0.1 to 100KHz, typically 1 to 256 samples in 32 bits floats mode, 1 to 512 samples in 16 bits integers mode for ATMEGA 328 processor based Arduino.

Here are some screen shots from acquisition performed on the sound card from my PC: 10Khz sine waves, 512 samples @100KHz.

And here is the frequency spectrum from this sinusoidal waveform


Next post on same subject

Leave a Reply

You must be logged in to post a comment.