Wednesday, July 08, 2009

Hardware-based Waveform Permutations

I've made a simple circuit that will generate all possible waveforms that have four bits of amplitude and are four samples long. It's very simple, and follows the same concept as my previous forays into this concept (which were all software based).

Basically, there is a counter that is 16 bits long, and is pulsed by a continuous square wave. This controls the speed of waveform change of the output waveform. Every four bits of the counter are fed into a multiplexer. There is a multiplexer for each bit of the output waveform, and so every first bit out of four from the counter is fed into multiplexer 1, every second bit out of four from the counter is fed into multiplexer two and so on up to multiplexer 4.

The output of the four multiplexers is chosen by a separate binary counter, which is clocked by an independent square wave. This controls the frequency of the output waveform. Thus, the output of the combined four multiplexers essentially "steps through" the waveform, and is then converted into an analog voltage using an R2R DAC.

If that wasn't very clear, I've prepared a simplified diagram:


Circuit Breadboard:


Jason said...

Very nicely done. I think I have all the parts to do something like this leftover from school. Thanks for the inspiration.