张老师书中的"滑动窗口平均法"原理没有明白,请各位能否解

[复制链接]
6131|6
 楼主| mikezhong 发表于 2008-12-17 08:37 | 显示全部楼层 |阅读模式
前几天买了本张明峰老师的书&lt&lt&nbsp;PIC单片机入门与提高&gt&gt,其中第256页的滑动窗口平均法原理,不是很明白.哪位兄台帮忙解惑下....<br /><br />谢谢.
xieyuanbin 发表于 2008-12-17 13:08 | 显示全部楼层

移动窗口平均法:

实际就是拿最近的几个数值做一下平均值,比如你做8个数值的平均值,一般&nbsp;的做法就是每次采样8个值,等8个值全部采样完毕再做一次平均算法,这样的话会对系统响应速度造成一定影响,移动窗口平均法就是每次采样完毕之后都与前7次采样值做平均值,这样就可以提高系统的响应速度,但又不影响平均值的质量.
 楼主| mikezhong 发表于 2008-12-17 20:48 | 显示全部楼层

多谢版主

多谢版主,你所说的我明白,关键是那个简化算法有些不明白;<br /><br />书中原文如下:<br />&quot;取一个16位的变量Var,8位分别为VarH,VarL表示,用Var连续进行256个字节数值的累加操作后,这256个数的平均值就是VarH字节所含的值.可见求256个字节数值的平均值,可以简化为读取它们累加和的高字节.&nbsp;....&quot;<br /><br />不明白为什么256个8位值相加后的平均值就为VAR的高字节VARH?<br /><br />多谢.
谈的元 发表于 2008-12-17 21:51 | 显示全部楼层

用2个字节表示一个数

比如0X1&nbsp;0X0&nbsp;表示多大?显然为256。<br />比如0X3&nbsp;0X0&nbsp;表示多大?显然为3X256。<br />理解这个就好了。
xieyuanbin 发表于 2008-12-17 22:16 | 显示全部楼层

在单片机中,乘以2和除以2即是左移和右移一位

如果是乘以2的N次方,左移N次即可.
bobo1957 发表于 2008-12-17 22:43 | 显示全部楼层

看看二进制计算就知道了

二进制数左移一位就相当于乘以2,右移一位就相当于除以2,移两位就相当于除以4,一次类推就得到了结果了
 楼主| mikezhong 发表于 2008-12-21 01:15 | 显示全部楼层

是的啊.

就是加了256次以后,&quot;和&quot;除以256次就是平均值了,除256次即是右移8位,即平均值等于高8位............
您需要登录后才可以回帖 登录 | 注册

本版积分规则

51

主题

250

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部