Oversampling 10 бит в 12 бит. Я тут почитал и вот что у меня получилось. Есть ли менее зтратные алгоритмы.
Отправлено
eXeC001er 21 января 2009 г. 13:24
в аппноте от атмела написано что достаточно сложить 16 10-ти битный значения и потом их поделить на 2 тогда получим 12 битное. У меня придумалось только через буфер на 16-ть значений. Может есть мнее затратный по памяти алгоритм?
unsigned int Oversampling(unsigned int measuring_value) { unsigned double int sum = 0;
measuring_value_buf[index++] = measuring_value; index &= 0x0F; for(unsigned char i = 0; i < 16; i++) { sum = sum + measuring_value_buf[i]; } return (unsigned int)(sum >> 2); }