Показать сообщение отдельно
Старый 17.09.2008, 10:29   #6   
Форумец
 
Сообщений: 6
Регистрация: 10.04.2006

lordv вне форума Не в сети
Нет, с усреднением не пойдёт, как я и предполагал.

Смотри, если у тебя последовательность шла вначале из одних нулей - у тебя наполняется cnt0.
Допустим, единиц вообще не было.
Далее, при превышении порога в 512 cnt0 ополовинивается и становится равным 256.
Допустим, дальше пошли одни единицы - у тебя среднее будет расти 0 до 0.66, и тут у тебя cnt1 достигает порога в 512.
cnt1 ополовинивается и равен 256.
Далее опять идут одни единицы.
Среднее скачком падает до 0.33, затем растёт до 0.66, пока cnt1 опять не переполняется.
Далее опять идут единицы, и опять среднее меняется от 0.33 до 0.66.
И так далее.

Т.е. функция среднего сигнала для данной последовательности будет иметь пилообразный вид с максимумом 0.66, а в реальности она должна быть гладкой и асимпотически стремиться к единице.

Хотя, если характер распределение единиц более-менее случайный (Гауссово распределение, например), то такой алгоритм, скорее всего, подойдёт, хотя математически доказать, наверное, уже не смогу, позабыл всё :-)
  Ответить с цитированием