Телесистемы
 Разработка, производство и продажа радиоэлектронной аппаратуры
На главную   | Карта сайта | Пишите нам | В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:jobsmp@pochta.ru

Телесистемы | Электроника | Конференция «Микроконтроллеры и их применение»

Леонид Иванович: В продолжение о средних чего то не сходится одно с другим

Отправлено eXeC001er 29 февраля 2008 г. 09:50


У вас вот такой алгоритм:


unsigned int Exponential_Sliding_Average(unsigned int measuring_value)
{
static unsigned int y;
y = y + measuring_value - (y >> 3);
return(y >> 3);
}


потом вы пишите что он работает вот так:

Если на входе 7, то на выходе
0,1,2,3,3,4,4,4,4,5,5,5,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7.....

Не сходится!

На входе 7: meeasuring_value = 7;
На начлаьном шаге: y[i-1] = 0;

Получим: y[i] = 0 + 7 - (0 >> 3) = 7
на выход даем y[i] >> 3 = 7 >> 3 = 0

получается что "0" всегда если на входе 7.


Составить ответ | Вернуться на конференцию

Ответы


Отправка ответа
Имя*: 
Пароль: 
E-mail: 
Тема*:

Сообщение:

Ссылка на URL: 
URL изображения: 

если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
поделите шесть пополам:

Перейти к списку ответов | Конференция | Раздел "Электроника" | Главная страница | Карта сайта

Rambler's Top100 Рейтинг@Mail.ru
 
Web telesys.ru