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.