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

 
 
> ADSP усреднение на лету, Как усреднять принятые значения на лету
uriy
сообщение Dec 27 2005, 12:43
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 2 429
Регистрация: 30-11-05
Из: Ижевск
Пользователь №: 11 606



Через SPORT принимаютя отсчеты, нужно находить их среднее значение на лету. Количество отсчетов заранее не известно.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
dxp
сообщение Dec 28 2005, 06:25
Сообщение #2


Adept
******

Группа: Свой
Сообщений: 3 469
Регистрация: 6-12-04
Из: Novosibirsk
Пользователь №: 1 343



Цитата(urasinov @ Dec 27 2005, 18:43) *
Через SPORT принимаютя отсчеты, нужно находить их среднее значение на лету. Количество отсчетов заранее не известно.

Среднее - это по определению сумма всех значений отсчетов деленное на количество отсчетов. Т.е. придется складывать их в буфер и после каждого вновь поступившего пересчитывать. С суммированием пробем нет - просто к сумме, полученной на предыдущем этапе, добавлять вновь поступивший отсчет. А вот деление будет самым ресурсоемким, поскольку делить придется на произвольное число. В ADSP-21хх, насколько помню, есть аппаратная поддержка деления, выполняется за 16 тактов.

Если бы задача стояла (как обычно) в усреднении по некоторому известному количеству отсчетов, то тогда это решалось бы на основе циклического буфера, организуемого с помощью DAG, это штатный способ пропускания данных через фильтр. Но у Вас, похоже, другая задача, придется делить. Если количество отсчетов хоть и не известно, но ограничено и известен диапазон (например, количество неизвестно, но может быть от 14 до 41), то можно соптимизировать - найти обратные делителям (1/14..1/41), поместить их в таблицу и на рантайме выбирать из таблицы нужное значение и умножать на него. Будет намного шустрее.


--------------------
«Отыщи всему начало, и ты многое поймёшь» К. Прутков
Go to the top of the page
 
+Quote Post



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

 


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


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