The tone is calculated using a structure that
implements the following second-order transfer function:
X(z) = z^-1/(1 - alpha*z^-1 + z^-2),
alpha = 2*cos(2*pi*rfreq).
взято из Intel® Signal Processing Library Reference Manual.
Правда алгоритм этот при неудачной реализации может быть не стабильным (расходиться).
еще на www.electronix.ru было большое обсуждение проблемы генерации синуса.