Phase accumulation is a digital signal processing technique used to track the progression of a waveform's cycle over time by repeatedly adding a fixed value, known as a frequency word or phase increment, to a running total. In each sampling period, this accumulator increases until it reaches a maximum threshold that represents a full cycle.
The resulting frequency can be controlled by adjusting the size of the increment. For example, using a sampling rate $sr=16000 Hz$, the phase increment to generate a signal with $f_{0}=100 Hz$ should be:
$
inc = \frac{f_{0}}{sr} = \frac{1}{160}
$
Using this increment, a full period is reached when the accumulated increments exceeds 1, which means that a full cycle of 160 samples has passed, corresponding to a signal of 100 Hz at 16000 Hz sampling rate. This technique is able to handle changes in fundamental frequency over time.