Walsh Generator Project – by Tim Ressel 04/09/02

Walsh functions are a series of square waves that can be combined to create almost
any waveform. Because they are square waves, they are very easy to create. Walsh
Synthesis (the creation of waveforms using Walsh functions) is similar to Fourier
Synthesis. In Fourier Synthesis sine waves are combined to create a waveform. Each
sine wave corresponds to one line of the FFT of the waveform. Walsh is sort of the
opposite of Fourier. Walsh functions, when combined, cancel out harmonic lines.
Another way to look at it is this: Fourier is additive, Walsh is subtractive.

Using the Walsh chip:

The Walsh chip I made creates the first 31 Walsh functions. It takes in a square wave
and puts out the 31 Walsh functions. All are TTL levels. All Vcc pins must be tied to
+5V; all ground pins must be grounded. Pins marked PGND can be left open, as can
the JTAG pins TDI, TMS, TCK, and TDO.

Here are some examples of waveform generation using Walsh Functions:

Sawtooth Wave:

Sine Wave:

Walsh Function
SAL(1)
SAL(2)
SAL(4)
SAL(8)

Weighting
1
0.5
0.25
0.125

Walsh Function
SAL(1)
SAL(3)
SAL(5)
SAL(7)

Weighting
–1
0.4142
0.08239
0.1989

A simple opamp-summing amplifier works fine for this. You'll want to AC couple the output to take care of the DC biases you get.

Here are the files for download:

PDF - pinout of the PLCC socket

PDF - Walsh 1.2 Schematic

PDF - Walsh 1.2 Pinout

PDF - Excellent article on Walsh functions 2500 x 3300 grayscale charts ~1.7 Mb

PDF - Excellent article on Walsh functions 1275 X 1650 removed grayscale ~ 380Kb

For anyone wanting a walsh chip, I am asking $15USD. For that you get a CPLD in a
44-pin PLCC package, along with a socket and pinout.

My address is:

Tim Ressel
380 SW 205th Ave
Beaverton, OR 97006

back to schematics page