Did you ever need a sine wave that took 24 hours to complete one cycle?  Well, neither have I.

I have, however built a lash up that could generate that kind of thing if I ever needed it.

This is a hack, because it uses things that you wouldn't normally consider capable of doing it.

To generate these extremely slow signals, you'll need:

  1.  A PC with an audio output
  2.  Purr Data
  3. A Purr Data program that I wrote.
  4. An audio amplifier.
  5. A small circuit made of diodes and capacitors attached to the audio amplifier output.

This is the circuit:

The Purr Data patch generate a 16kHz signal that is modulated with a very low frequency signal.

The little circuit there is a sort of demodulator for AM signals.


Purr Data can generate sine waves of whatever period you like (respecting, of course, the limits of the sampling rate.)  The cool thing is that the sampling rate only imposes an upper limit.  There's no lower limit to the signals that Purr Data can generate.

There is, though, a lower limit to what the audio output of a sound card can produce and there's a lower limit to what a typical amplifier will work with.

The amplitude modulation scheme gets around the limits of the sound card and the amplifier by using the 16kHz signal as a carrier.  The sound card and the amplifier have no problems at all with that frequency.

The demodulator removes the 16kHz, just like the demodulator in an AM radio receiver removes the RF carrier to leave only the audio.

In this case, it leaves only the extreme low frequency signal.

That's a 42millihertz signal (period of 24 seconds) generated using this hack.  The software I used to make that image is also the software I was testing when I found I needed to generate some really slow signals.

That's a program I wrote to capture images from an analog oscilloscope.  I implemented support for the  slow sweep times (below 20 milliseconds per division)  last week, and needed to try it out.  That image was made on an analog oscilloscope using a sweep time of 5 seconds per division.

The Purr Data patch will generate sine waves and square waves.  It will also generate DC, though you can't adjust the voltage to a specific value from inside the software.  You have to measure it and adjust the output level and the amplifier volume to get the DC voltage you want.

The output level is as stable as your amplifier.  Adjust the output level at a high frequency (like, say, 5Hz) then turn the frequency down to a 5 day period and the level of the generate signal will stay the same .

There you have it.  A bit of software, some junk from the junk drawer, a regular audio amplifier, and you've got yourself a generator for extremely low frequency signals.