во-первых, для перестраиваемого генератора, кроме как метод непосредственного цифрового синтеза (DDS), ничего и не придумать. отсюда во-вторых: синус только в таблице (к этому уже как бы пришли). далее в-тертьих: никаких провалов не будет, т.к. DDS позволяет получать сколь угодно малый шаг изменения генерируемой частоты во всем диапазоне, хоть миллигерцы, однако проблема максимальной частоты при этом встает с еще большей остротой.Yellow Tiger писал(а):С одной стороны, никто не мешает брать значения из заранее рассчитанной таблицы не подряд, а через 1, через 2, через 3, уменьшая дискретность, а если частоты выдачи некратны, то подготовить разные таблицы синуса.
...
Так-что - синус должен быть табличным и только!
...
PS А, кстати, мысль, что этот "перестраиваемый" генератор между двумя "соседними" частотами будет молча проскакивать половину своего диапазона - показалась несущественной?
итак, думаю, споры можно прекратить. Хороший генератор был сделан Леонидом Ридико - статьи об этом имеются (ищите), алгоритм там вылизан дальше некуда (ассемблер). сократив разрядность семпла до 1 байта можно увеличить выходную частоту, как я предполагаю, до 100 или чуть больше килогерц, но это явный потолок для AVR.
