ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Вторник
9 июля
270686 Топик полностью
SciFi (07.09.2011 23:59, просмотров: 78) ответил Т.Достоевский на Камрады! кто то на электрониксе привёл изящный способ усреднения, суть примерно такова.
Я как-то набрёл на это дело случайно (типа сам изобрёл). С тех пор повсеместно применяю для АЦП. А вот в цифровых фильтрах не бум-бум... #define AVG_SHIFT 6 static uint32_t avg; void init(void) { avg = adc_read() << AVG_SHIFT; } void update(void) { avg += adc_read() - (avg >> AVG_SHIFT); } uint32_t read(void) { return avg >> AVG_SHIFT; } Можно даже сохранять часть дополнительных битов, образовавшихся при усреднении (в функции read() они выбрасываются). Типа oversampling.
ส็็็็็็็็็็็็็็็็็็็็็็็็็༼ ຈل͜ຈ༽ส้้้้้้้้้้้้้้้้้้้้้้้