[an error occurred while processing this directive]
|
Для функции sign принято что 0 - число положительное, и , соответственно число 0 не относится к области значений функции.
Для 51-го проца можно 1-й вариант довольно сильно улучшить, используя 4-х битные значения входного сигнала (если есть АЦП) и 4-х битные значения синуса/косинуса. Умножать командой MUL, получая 8-битное произведение, и суммировать в 16-битном варианте. Проверено экскрементами :-). Ну а в случае AVR, PIC, простеньких MSP и т.п. - вариантов нет, только однобитное.
E-mail: info@telesys.ru