реклама на сайте
подробности

 
 
> Извлечение корня и возведение в квадрат в AVR, как быстрее
yanita
сообщение Jul 14 2008, 11:06
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 15
Регистрация: 9-02-08
Из: Украина
Пользователь №: 34 891



Здравствуйте всем.
У меня возникла следующая задача. В цепи обратной связи мне надо произвести ряд арифметических преобразований, в том числе излечение корня и возведение в квадрат. Как это можно сделать максимально быстро на одном из микроконтроллеров AVR (извлечь корень и возвести в квадрат)?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
yanita
сообщение Jul 17 2008, 14:48
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 15
Регистрация: 9-02-08
Из: Украина
Пользователь №: 34 891



Спасибо всем за помощь. Дело в том, что я не особо в микроконтроллерах разбираюсь. Структура измерительная, поэтому пожертвовать точностью никак не могу. Алгоритм измерения состоит из нескольких тактов и математической обработки, где и нужен корень. Математическая обработка не последующая, а в режиме измерения, поэтому обратная цепь становится инерцинной. Вот и хотелось бы добиться максимального быстродействия. Особенно интересует, насколько зависит быстродействие от алгоритмов того же деления и излечения корня. И еще какая разница, программировать контроллер на С или на асемблере, влияет ли на быстродействие?
Go to the top of the page
 
+Quote Post
defunct
сообщение Jul 17 2008, 21:29
Сообщение #3


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(yanita @ Jul 17 2008, 17:48) *
Вот и хотелось бы добиться максимального быстродействия. Особенно интересует, насколько зависит быстродействие от алгоритмов того же деления и излечения корня.

Если поставлено условие "добиться максимального быстродейтсвия", то не стоит ограничивать себя одним семейством МК. Нужно вначале просчитать какое быстродейтсвие требуется, и, взависимости от этого, выбрать МК.
Цитата
Особенно интересует, насколько зависит быстродействие от алгоритмов того же деления и излечения корня.

Если эти операции уже реализованы аппаратно, то быстродействие будет максимально возможным. В других случаях - сильно зависит.
Цитата
И еще какая разница, программировать контроллер на С или на асемблере,

На C писать проще, потому что C позволяет абстрагироваться от процессора, и заниматься непосредственно задачей. То есть не нужно вручную реализовавывать операции сложения, умножения деления требуемой разрядности, анализировать флаги и т.п, решать вопросы организации массивов и проч... Язык уже поддерживает все это в т.ч. и математику с плавающей точкой.

Цитата
влияет ли на быстродействие?

Влияет - на C в разы быстрее закончите проект, в разы проще будет добавить/изменить функциональность. По эффективности код может получиться лучше чем то, что небрежно нашкрябано на ассемблере (ведь чем больше проект тем небрежнее он будет писаться, а если делать весь проект на ассемблере, то писать придется много). С другой стороны на ассемблере можно максимально эффективно реализовать конкретный алгоритм. Если сбаллансировать между простой и эффективностью кода получится, что самый правильный подход - это написание всей программы на C, с последующей реализацией критических участков (от которых наиболее сильно зависит быстродействие) на ассемблере.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- yanita   Извлечение корня и возведение в квадрат в AVR   Jul 14 2008, 11:06
- - defunct   #include <math.h> корень - sqrt квадрат x*x...   Jul 14 2008, 11:28
- - ReAl   Цитата(yanita @ Jul 14 2008, 14:06) Здрав...   Jul 14 2008, 11:30
- - 777777   Цитата(yanita @ Jul 14 2008, 15:06) У мен...   Jul 14 2008, 11:36
|- - ReAl   Цитата(777777 @ Jul 14 2008, 14:36) А чис...   Jul 14 2008, 11:59
|- - mse   Цитата(ReAl @ Jul 14 2008, 15:59) ... Вид...   Jul 15 2008, 07:28
||- - ReAl   Цитата(mse @ Jul 15 2008, 10:28) 24р это ...   Jul 15 2008, 13:30
|- - 777777   Цитата(ReAl @ Jul 14 2008, 15:59) Код cl...   Jul 15 2008, 10:22
- - Kovrov   ну наверное это clr work_h clr work_l   Jul 15 2008, 11:37
- - jasper   Быстрый, но не очень точный способ извлечения корн...   Jul 16 2008, 06:38
- - alexander55   Цитата(yanita @ Jul 14 2008, 15:06) В цеп...   Jul 16 2008, 09:42
|- - _Pasha   Цитата(alexander55 @ Jul 16 2008, 12:42) ...   Jul 17 2008, 08:46
- - SpyBot   Неплохо бы уточнить, чем измеряем. Возможно, можно...   Jul 16 2008, 13:58
|- - alexander55   Цитата(SpyBot @ Jul 16 2008, 17:58) Непло...   Jul 17 2008, 04:41


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 25th July 2025 - 01:13
Рейтинг@Mail.ru


Страница сгенерированна за 0.01371 секунд с 7
ELECTRONIX ©2004-2016