Требуется сформировать 2 синуса (естественно в цифре). Можно пойти табличным методом - но для 8 бит и 1к хватит, а для 18 бит и метра может мало оказатся. Есть другой метод
http://www.gaw.ru/html.cgi/txt/doc/...v/max2000_5.htm .
Но интересные эфекты: даже при инт64 вылазеют гармоники на уровне -70 дб + к этому и частота не точно заданная.
Попробывал так:
X(n)=k*X(n-1)-X(n-2), где k=2*cos(2*Pi*F/Fd);
для 0 градусов X(-1)=0, X(-2)=-A*sin(2*Pi*F/Fd);
для 90 градусов X(-1)=A, X(-2)=A*sin(pi/2+2*Pi*F/Fd)
90 гр. частота на сотые доли процентов выше и уползает вперёд по отношению к 0 гр.
Сейчас хочу через приблежённое вычеслени по Тейлору попробывать. Но явно по вычислениям более накладно будет.
Может ещё есть способ с минимум вычислений сгенерить синус?
(Всё должно в итоге оказатся в FPGA Спартан3).