OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 2389|回复: 6

求大神看看这个程序啥意思

[复制链接]

29

主题

55

帖子

0

精华

初级会员

Rank: 2

积分
145
金钱
145
注册时间
2017-3-2
在线时间
70 小时
发表于 2018-11-9 15:44:38 | 显示全部楼层 |阅读模式
1金钱
本帖最后由 sky6595418 于 2018-11-9 15:46 编辑

int get_adc()
{
     static uint32 adc_SPEED = 0; //低通滤波用
     adc=ShowResult(3);
     adc = (adc_SPEED * 15 + adc * 1) >> 4;   //低通滤波=1/16
     adc_SPEED = adc;
}


大神门  (adc_SPEED * 15 + adc * 1) >> 4;   他这个低通滤波  看不懂呀。。怎么个原理?

最佳答案

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

15

主题

317

帖子

0

精华

高级会员

Rank: 4

积分
863
金钱
863
注册时间
2015-2-12
在线时间
354 小时
发表于 2018-11-9 15:44:39 | 显示全部楼层
回复

使用道具 举报

52

主题

334

帖子

0

精华

高级会员

Rank: 4

积分
560
金钱
560
注册时间
2016-4-12
在线时间
230 小时
发表于 2018-11-9 18:25:49 | 显示全部楼层
右移相当于除法,左移相当于乘法
回复

使用道具 举报

29

主题

55

帖子

0

精华

初级会员

Rank: 2

积分
145
金钱
145
注册时间
2017-3-2
在线时间
70 小时
 楼主| 发表于 2018-11-10 07:48:33 | 显示全部楼层

大神 他是怎么累加16次值的/。?
回复

使用道具 举报

69

主题

978

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3772
金钱
3772
注册时间
2015-4-26
在线时间
765 小时
发表于 2018-11-10 08:24:58 | 显示全部楼层
注意那个static,这里是说每次计算上一次的结果占15/16的比重,本次的采样值仅占1/16。这样就算本次的采样结果很离谱也能把它滤掉
我有故事,你有酒吗
回复

使用道具 举报

33

主题

1628

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
6679
金钱
6679
注册时间
2015-8-25
在线时间
1036 小时
发表于 2018-11-10 10:53:07 | 显示全部楼层
最基本的低通滤波  output_n = a*ADC_Value + (1-a)*output_n-1  本次滤波的输出主要取决于上次滤波的输出(a远小于1)
回复

使用道具 举报

15

主题

317

帖子

0

精华

高级会员

Rank: 4

积分
863
金钱
863
注册时间
2015-2-12
在线时间
354 小时
发表于 2018-11-12 09:57:39 | 显示全部楼层
”SZCZYB1314”为最佳理论答案,“来两个不甜的”具体分析问题。所以请不要给我最佳答案。  
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-21 21:56

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表