Новичок
Регистрация: 06.01.2013
Сообщений: 47
Репутация: 27
![]() |
Скорее всего, что из флеш можно будет быстрее достать значение, чем с ОЗУ по той причине, что формулу тоже надо обработать. Она как Вы понимаете не очень маленькая и мега будет некоторое время ее мучать, еще и от подхода к написаю программы зависит. Но и тот и другой вариант есть приемлем в особых случаях. Если памяти МК уже недостаточно, то наверно выгоднее формулу вписать в флеш, чем табл син, кос.
|
||
Оценка
|
Специалист
Регистрация: 22.09.2010
Адрес: г. Донецк
Сообщений: 873
Репутация: 381
![]() ![]() ![]() ![]() |
Всегда можно сгенерировать нужную таблицу в Matlab, Maple и т.д. Ведь два знака после запятой - это приличная точность, а сходимость большинства итерационных методов у вершин обозначенных триг. функций невысокая.
|
||
Оценка
|
Новичок
Регистрация: 25.07.2013
Сообщений: 2
Репутация: 10
![]() |
И зачем быстро считать синус?
Делаю управление скоростью двигателя, на ардуине, реализовал ШИМ синуса. Увидел на осциллографе, первые и последние импульсы какие то слишком неправильные первый широкий, потом очень узкий, а последние черезчур широкие, начал разбираться. Частота ШИМ 256кГц=4мкс, синус в ардуине считается по моим вычислениям где то 300 мкс, (по поиску в интернете 2000 тактов 125 мкс). Сейчас пару дней разбирался с темой, думаю сделать следующее. большой точности не нужно, до ПИ/6 можно взять приближение sin(x)=6 точность 4% до ПИ/2 думаю отнимать второй член ряда x^3/3! = x*x*x/6 для ПИ/2 выходит 0,92 => 8% |
||
Оценка
|
Гуру
Регистрация: 28.06.2012
Сообщений: 4,807
Репутация: 1154
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Так может, вообще ничего не считать, а сделать простейшую таблицу значений синуса в ПЗУ, если там есть место ? Мне как-то нужен был синус на мелкой АВР-ке. Я сделал проще - таблица на 256 значений и простейший ЦАП R-2R на резисторах. Затраты - 256 байт в ПЗУ и 8 ножек порта микроконтроллера. Синус практически идеальный ...
|
||
Оценка
|
Обратная связь РадиоЛоцман Вверх |