怎样才能只用ad来测量正弦波的频率

[复制链接]
3508|6
 楼主| 旧影子 发表于 2015-8-10 20:20 | 显示全部楼层 |阅读模式
不经过处理,直接用ad测正弦波,大家来支个招,给个方案
justperky 发表于 2015-8-10 21:52 | 显示全部楼层
低八度的声线 发表于 2015-8-11 08:10 | 显示全部楼层
取同向变化而数值相同的两点,其时间间隔亦为周期。
JerryWu75 发表于 2015-8-11 12:57 | 显示全部楼层
假设有正弦波,AD采样的幅度是0-255,零点是128.
if((AD value>128)&&(等待零点==true)){
    是零点,计算上一次零点到本次零点的时间间隔;
    通过时间间隔计算周期;
    等待零点=false;
} else if(AD value<128){
    等待零点=true;
}
当然上面的程序还需要增加一个定时器,同样还需要进行滤波,去抖动处理.

评分

参与人数 2威望 +5 收起 理由
旧影子 + 3
elecintop + 2

查看全部评分

september7 发表于 2015-8-12 16:02 | 显示全部楼层
应该是通过量取电压来实现的吧。楼上说的挺好的
elecintop 发表于 2015-8-21 09:31 | 显示全部楼层
JerryWu75 发表于 2015-8-11 12:57
假设有正弦波,AD采样的幅度是0-255,零点是128.
if((AD value>128)&&(等待零点==true)){
    是零点,计算上 ...

学习了!这个方法很好!
 楼主| 旧影子 发表于 2015-9-5 08:02 | 显示全部楼层
JerryWu75 发表于 2015-8-11 12:57
假设有正弦波,AD采样的幅度是0-255,零点是128.
if((AD value>128)&&(等待零点==true)){
    是零点,计算上 ...

不错!这个办法好
您需要登录后才可以回帖 登录 | 注册

本版积分规则

5

主题

213

帖子

1

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