打印

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

[复制链接]
2828|6
手机看帖
扫描二维码
随时随地手机跟帖
沙发
justperky| | 2015-8-10 21:52 | 只看该作者
楼主可以看看这个帖子
https://bbs.21ic.com/icview-301283-1-1.html

使用特权

评论回复
板凳
低八度的声线| | 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
5
september7| | 2015-8-12 16:02 | 只看该作者
应该是通过量取电压来实现的吧。楼上说的挺好的

使用特权

评论回复
6
elecintop| | 2015-8-21 09:31 | 只看该作者
JerryWu75 发表于 2015-8-11 12:57
假设有正弦波,AD采样的幅度是0-255,零点是128.
if((AD value>128)&&(等待零点==true)){
    是零点,计算上 ...

学习了!这个方法很好!

使用特权

评论回复
7
旧影子|  楼主 | 2015-9-5 08:02 | 只看该作者
JerryWu75 发表于 2015-8-11 12:57
假设有正弦波,AD采样的幅度是0-255,零点是128.
if((AD value>128)&&(等待零点==true)){
    是零点,计算上 ...

不错!这个办法好

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

5

主题

213

帖子

1

粉丝