[an error occurred while processing this directive]
Т. е. именно скользящее среднее.
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено Oldring 20 февраля 2003 г. 15:03
В ответ на: Спрашивающему требуется получать значение АЦП арифметически усредненное с N предыдущими значениями. Получать оное значение требуется после каждого преобразования АЦП. отправлено allmaker 20 февраля 2003 г. 14:34

Тогда только буфер для хранения N предыдущих отсчетов, одна переменная суммы, и одна переменная, хранящее текущее положение самого старого отсчета в буфере. Первоначально во всех переменных нули. При получении очередного отсчета вычитаем из суммы самый старый (беря его из буфера по индексу) и прибавляем новый. После чего прописываем в буфер на место старого отсчета новый и сдвигаем указатель. Осталось поделить сумму на число отсчетов - и скользящее среднее готово :)

Да, нужно быть осторожным с переполениями суммы.

Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru