[an error occurred while processing this directive]
|
Т.е. sin(x+dx)=sin(x)*cos(dx)+cos(x)*sin(dx).
Опорная таблица для sin(x) размером N.
В приближении sin(dx)=dx, cos(dx)=1, cos(2pi/N)=1 получается линейная интерполяция. К-рая вроде бы даже лучше (по памяти), чем
sin(x)+dx*cos(x), т.е. без приближения cos(2pi/N)=1.
А в приближении cos(dx)=1-(dx^2)/2 будет
dx*cos(x)+(1-(dx^2)/2)*sin(x).
При размере таблицы в 256 (и выше) и линейная интерп. и нел. практически одинаковы для 16 разрядов. Выигрыш при меньшем размере таблицы. Например при таблице в 64 и линейной интерп. вылазят гармоники, субгармоники и черт-те что на уровне где-то дб 70 от основной. Во втором варианте при той же таблице их уровень под 90 дб. Цифры по памяти, проверять лень. Так что если важна память, то можно попробовать этот вариант. Вычислений побольше, конечно.
E-mail: info@telesys.ru