Phase offset modulation


Phase offset modulation works by overlaying two instances of a periodic waveform on top of each other. (In software synthesis, the waveform is usually generated by using a lookup table.) The two instances of the waveform are kept slightly out of sync with each other, as one is further ahead or further behind in its cycle. The values of both of the waveforms are either multiplied together, or the value of one is subtracted from the other.

This generates an entirely new waveform with a drastically different shape. For example, one sawtooth (ramp) wave subtracted from another will create a pulse wave, with the amount of offset (i.e. the difference between the two waveforms' starting points) dictating the duty cycle. If you slowly change the offset amount, you create pulse-width modulation.

Using this technique, not only can a ramp wave create pulsewidth modulation, but any other waveform can achieve a comparable effect.