Реле Tianbo - ресурс 10 млн переключений

Алгоритмы расчета тригонометрических функций на контроллере Atmel

Страница 1 из 2
Новичок
 
Регистрация: 06.01.2013
Сообщений: 47
Репутация: 27
0 20
0 0
 
19.01.2014 20:11 #1
Доброго времени!
Возникла задача на МК посчитать значения Sin и Cos. Как этого лучше только реализовать?
Мое мнение, нужно составить таблицу синуса и косинуса, затем при совпадении того или иного числа изымать из табл значение и выводить его.
Этот метод требует значительного заполнения ОЗУ, скажем если применяются МК с небольшими участками памяти, то это решение не очень хорошее.
приделы значения синуса 0-180 гр. вывод значения с точностью 2 знака после запятой.
Есть ли какие-то идеи?
Оценка
Инженеры КОМПЭЛ провели сравнительное тестирование аккумуляторов EVE и Samsung популярного для бытовых и индустриальных применений типоразмера 18650. Для теста были выбраны аккумуляторы литий-никельмарганцевой системы: по два образца одного наименования каждого производителя – и протестированы на двух значениях тока разряда: 0,5 А и 2,5 А. Испытания проводились в нормальных условиях на электронной нагрузке EBD-USB от ZKEtech, а зарядка осуществлялась от лабораторного источника питания в режиме CC+CV в соответствии с рекомендациями в даташите на определенную модель.
Специалист
 
Аватар для Vadzz
 
Регистрация: 12.11.2008
Адрес: Тирасполь
Сообщений: 2,172
Записей в дневнике: 22
Репутация: 418
406 86
0 0
Отправить сообщение для Vadzz с помощью ICQ
 
19.01.2014 21:24 #2
Приветствую.
На микроконтроллере Atmel... А почему бы не воспользоваться стандартной библиотекой math.h математических функций (winavr, Си). Или я неправильно понял вопроса и вы хотите составить свой алгоритм расчета значений sin и cos...
__________________
Уважаемые пассажиры, самолет ТУ-134 садится. У кого есть зарядка от ТУ-134, просьба пройти в кабину пилота.
Оценка
Компания Компэл, официальный дистрибьютор EVE Energy, бренда №1 по производству химических источников тока (ХИТ) в мире, предлагает продукцию EVE как со склада, так и под заказ. Компания EVE широко известна в странах Европы, Америки и Юго-Восточной Азии уже более 20 лет. Недавно EVE была объявлена поставщиком новых аккумуляторных элементов круглого формата для электрических моделей «нового класса» компании BMW. Продукция EVE предназначена для самого широкого спектра применений – от бытового до промышленного.
Новичок
 
Регистрация: 06.01.2013
Сообщений: 47
Репутация: 27
0 20
0 0
 
19.01.2014 21:37 #3
Забыл самое главное. Программа составляется на ассемблере.
Оценка
Новичок
 
Регистрация: 21.03.2009
Сообщений: 1
Репутация: 11
1 0
0 0
 
20.01.2014 10:50 #4
Можно разложить в ряд Тейлора sin и cos к примеру
ссылка на описание ряда Тейлора в википедии.
http://ru.wikipedia.org/wiki/%D0%A0%...BE%D1%80%D0%B0
Оценка
Администратор
 
Аватар для Admin
 
Регистрация: 13.03.2006
Сообщений: 1,165
Записей в дневнике: 18
Репутация: 629
597 544
0 63
 
20.01.2014 10:53 #5
Матанализ, разложение син, кос в ряд Тейлора, только остновиться вовремя
Оценка
Администратор
 
Аватар для Admin
 
Регистрация: 13.03.2006
Сообщений: 1,165
Записей в дневнике: 18
Репутация: 629
597 544
0 63
 
20.01.2014 11:09 #6
Пока набирал текст - опеределили
Зато еще пришли на ум некотрые моменты:
  1. Для оченки точности ряда есть формулы оценки точности ряда http://otvet.mail.ru/question/34398619 Чтобы каждый раз не считатть можно посчитать один раз в предельных случаях, чтобы потом использовать заранее заданное значения числа итераций, которое достаточно.
  2. Другой вариант. На сколько я помню, должны быть более простые аппроксимирующие формулы для син/кос, причем для разных дапазонов- свои. Тут все зависит от требуемой точности.
Оценка
Специалист
 
Аватар для antonydublin
 
Регистрация: 22.09.2010
Адрес: г. Донецк
Сообщений: 868
Репутация: 380
371 0
3 0
 
20.01.2014 11:45 #7
Цитата:
Этот метод требует значительного заполнения ОЗУ, скажем если применяются МК с небольшими участками памяти, то это решение не очень хорошее.
А кто запрещает разместить таблицу в памяти FLESH, чтобы не выгружать такой багаж в ОЗУ? От 0.00 до 90.00 понадобится не так уж много памяти.

Если же значения будут вычисляться по данным АЦП, сразу прикиньте достижимую АЦП точность (речь ведь о серии mega AVR?). Даже при передискретизации при наращивании разрядности (скажем. с 10 до 12 бит), больше 4000 эффективных значений с АЦП не получить. Это я угадываю источник данных для обработки.
Оценка
Новичок
 
Регистрация: 04.04.2012
Сообщений: 47
Репутация: 16
6 0
0 0
 
20.01.2014 12:08 #8
Вот держи! http://www.cyberforum.ru/post4640532.html
Оценка
Специалист
 
Аватар для Vadzz
 
Регистрация: 12.11.2008
Адрес: Тирасполь
Сообщений: 2,172
Записей в дневнике: 22
Репутация: 418
406 86
0 0
Отправить сообщение для Vadzz с помощью ICQ
 
20.01.2014 19:24 #9
Цитата:
Сообщение от antonydublin
А кто запрещает разместить таблицу в памяти FLESH, чтобы не выгружать такой багаж в ОЗУ? От 0.00 до 90.00 понадобится не так уж много памяти...
Если скорость вычислений не является критическим параметром, то тогда да. В другом случае нужно учитывать время доступа (операция чтения) к Flash, которое значительно больше чем время доступа к ОЗУ...
__________________
Уважаемые пассажиры, самолет ТУ-134 садится. У кого есть зарядка от ТУ-134, просьба пройти в кабину пилота.
Оценка
Специалист
 
Аватар для antonydublin
 
Регистрация: 22.09.2010
Адрес: г. Донецк
Сообщений: 868
Репутация: 380
371 0
3 0
 
20.01.2014 19:33 #10
Конечно скорость всегда критична. Но упомянуть стоило про PGM.

Если же скорость критична, нужно прикинуть общее количество арифметических операций при интерполировании или разложении в ряд. И ещё добавить сюда предварительную подготовку данных, полученных в "сыром виде" (откуда?). Может оказаться, что спешить-то некуда. А также нужно упомянуть о линейности обозначенных функций на узких участках.
Оценка
Ответ
Страница 1 из 2
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Оценка этой теме
Оценка этой теме:
Похожие темы
Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход
Электронные компоненты. Бесплатная доставка по России
Часовой пояс GMT +3, время: 00:43.
Обратная связь РадиоЛоцман Вверх