当前位置:技术文章首页 >> 基本电路 >> 滤波电路 >> 用数字滤波器清除数据的噪声
用数字滤波器清除数据的噪声
2006-10-21 10:31:30  作者:佚名   浏览次数:233  文字大小:【】【】【
点击相关图标,收藏本文到网摘:
很多系统都用一个ADC对温度和压力传感器产生的模拟数据进行采样。有时候,系统噪声或其它因素会使原本缓慢波动的数据乱跳起来。为了降低高频噪声,设计师经常会在传感器和模/数转换器级之间接一个模拟RC(电阻器-电容器)低通滤波器。但是,这种方法并不总是很理想或很实用。例如,要获得分钟级的时间常数,就需要非常大的R、C值。 
 
  图1显示的是一个模拟RC低通滤波器以及它的设计公式。去除ADC线性范围内的噪声信号还有另一种方法,即使用模拟RC低通滤波器的数字等式。该滤波器的软件只有两行C代码: 

 LPOUT=LPACC/K,式中滤波器的输出值为LPACC除以一个常数。 LPACC=LPACC+LPIN-LPOUT,式中增加了输入与输出之间的差值以更新LPACC。所有变量均规定为整数。 

  模/数转换每获得一个新的输入采样LPIN时,软件都产生一个输出值LPOUT,它由一个经低通过滤的输入采样组成。常数K值的计算要根据系统的采样速率以及滤波器所需时间常数:K=T× ,其中K>1,而 是系统的采样速率。例如,对于一个采样速率为200次采样/秒的系统,所需时间常数为30秒时,常数K等于6000次采样。程序输入加上一个步长变化需要6000次采样,才能在输出端达到最终值的63%左右。 

  低通累加器LPACC对大的时间常数和大输入值而言可以增长到很大。它会增长到K与LPIN最大可能值的乘积。在这些情况下,需要保证LPACC不会溢出,并可能需要设定一个较大的数据类型来放置LPACC。为避免起动时长久的稳定时间,在开始采样循环以前,可以将LPACC初始化到K乘以电流输入值。 

  还可以扩充这个基本的滤波器概念,采用顺序执行多个滤波器代码段,使之适合于更高阶的滤波器,从而有更好的高频抑制性能。另外,还可以对LPACC使用数组变量,并用一组对应滤波器信号的常数K值乘以各通道采集的数据

0

顶一下

0

踩一下
合作网站  

  独乐乐不如众乐乐!

  好东西要与好朋友分享!

  你有一个苹果我有一个苹果,互相交换,我们每人只有一个苹果;你有一种思想,我有一种思想,互相交换,我们每人有两种思想。

友情链接 | 诚聘英才 | 关于我们 | 版权声明 | 联系我们 | 网站公告 | 广告服务 | 商机无限 | 更新记录

  •  ©2006-2008  电子爱好者   Email:kingtuotech@gmail.com  
    敬告网友:本站资料部分收藏于网络,如有侵犯您的权益,请来信告知!
  • 湘ICP备07008885号    电子爱好者主要推广电子技术与电子工程设计。