Перейти к содержанию
    

Усреднение на 8

Хм, что такое усреднение на 8?

Я сначала подумал на свою математическую некомпетентность, залез в гугля, набрал усреднение на 8 в кавычках и не получил ни одного результата! так что я думаю не один я не слыхал такого термина :) , так что хотите получить грамотный ответ, пишите грамотный развернутый со всеми возможными подробностями вопрос!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я так понимаю предполагается находить среднее значение восьми отсчетов?

1) можно предварительно поделить каждый отсчет на 8 (проще это сделать сдвигом вправо на 3 бита), а затем сложить эти отсчеты. При таком способе низкая точность, т.к. 3 младших бита теряются.

2) складываем 8 отсчетов и делим сумму на 8 (можно тем же сдвигом на 3 бита). Точность выше, но придется вести арифметику с двнойной точностью.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если я правильно понял вопрос.

 

(x0+x1>>1+x2>>2+....x7>>7)>>1

 

подобную фигню повторять на каждом отсчете.

 

соответсвенно задержка - 8 отсчетот со старта преобразований.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

я так понял,речь идет о усреднении 8 отсчетов ацп.Ну и причем здесь задержка отсчетов-можно сделать так:

define buffer_adc_size 8;

int buffer_adc[buffer_adc_size];

char count_adc_measuring;

п/п снятия отсчета:

if(count_adc_measuring<buffer_adc_size) buffer_adc[count_adc_measuring++]=ADCW;

else {

count_adc_measuring=0;

ваша функция усреднения

}

время преобразования не рекомендуется задавать менее 50мкс,чего с избытком хватит на эту обработ-

ку,так что насчет задержки на 8 отсчетов вы не правы.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

можно вычисление убыстрить до двух арифметических операций (не считая округления рекоммендуемого Станиславом, кстати был бы признателен если бы он обосновал необходимость оного) если при приеме нового осчета к старой сумме добавлять новый отсчет и вычесть предыдуший восьмой - 2 против 8 не считая шифта/деления на 8.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

можно вычисление убыстрить до двух арифметических операций (не считая округления рекоммендуемого Станиславом, кстати был бы признателен если бы он обосновал необходимость оного) если при приеме нового осчета к старой сумме добавлять новый отсчет и вычесть предыдуший восьмой - 2 против 8 не считая шифта/деления на 8.
Это верно только при оценке "скользящего" среднего.

Округление я предложил, исходя из практических соображений. При усечении разрядов получим макс. ошибку 7/8 ЕМР, а также смещение оценки среднего на 7/16 ЕМР. При округлении имеем макс. ошибку 1/2 ЕМР и смещение на 1/16 ЕМР. Можно также сделать несмещённое округление, но это несколько сложнее.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

можно вычисление убыстрить до двух арифметических операций (не считая округления рекоммендуемого Станиславом, кстати был бы признателен если бы он обосновал необходимость оного) если при приеме нового осчета к старой сумме добавлять новый отсчет и вычесть предыдуший восьмой - 2 против 8 не считая шифта/деления на 8.
Это верно только при оценке "скользящего" среднего.

Округление я предложил, исходя из практических соображений. При усечении разрядов получим макс. ошибку 7/8 ЕМР, а также смещение оценки среднего на 7/16 ЕМР. При округлении имеем макс. ошибку 1/2 ЕМР и смещение на 1/16 ЕМР. Можно также сделать несмещённое округление, но это несколько сложнее.

 

OK, spasibo.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...