OpenEdv-开源电子网

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

为什么我采集半个周期的信号点数乘于采集时间得不到信号周期呢

[复制链接]

6

主题

72

帖子

0

精华

初级会员

Rank: 2

积分
102
金钱
102
注册时间
2017-6-18
在线时间
26 小时
发表于 2017-9-3 10:19:50 | 显示全部楼层 |阅读模式
10金钱
给入正弦波频率2Hz 500ms,计算出波峰波谷半个周期共有313点。AD频率12M,239.5采样时间计算出21u采集转换一次。313*2*21u=13.146ms,这个数据严重小于500ms是哪里出错了呢。或者说这种方法根本就不能用,再或者说还有个读取时间???

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

使用道具 举报

6

主题

72

帖子

0

精华

初级会员

Rank: 2

积分
102
金钱
102
注册时间
2017-6-18
在线时间
26 小时
 楼主| 发表于 2017-9-3 13:44:33 | 显示全部楼层
刚刚仔细查看了下ADC10个点取一次平均值,就是把这10倍加上也不对。另外我把10个点改为一个点,最后打印输出发现同频率波峰波谷点数据竟然并不是10倍。比如8Hz,239.5采样时间峰谷点(10点一个平均值)78个,10点改为一点只有峰谷96点却不是780点。
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2017-9-4 00:51:51 | 显示全部楼层
计算方式有误。建议用过零点来测频率。
回复

使用道具 举报

6

主题

72

帖子

0

精华

初级会员

Rank: 2

积分
102
金钱
102
注册时间
2017-6-18
在线时间
26 小时
 楼主| 发表于 2017-9-4 10:22:39 | 显示全部楼层
正点原子 发表于 2017-9-4 00:51
计算方式有误。建议用过零点来测频率。

感谢原子老师回复,我看过别人的心电仪的心率检测法,也是检测两个峰值点的位置计算的。
其实信号来源于传感器由物体旋转产生的,旋转并不均匀是变周期的。而且峰谷点是信号特征点。我的想法是:找出峰值点位置(峰值检测程序检出),计算出峰值点和过零点的时间t0,再下一个过零点时开启定时器定时时间为t0,那么这个时间点刚好是谷值点。然后检测此时谷值点位置再次计算和下一个过零的时间t1。以此往后递推,主要是实时性达不到,只能第一个数据保存下来再下一次使用,原理是旋转速度不能突变。
回复

使用道具 举报

6

主题

72

帖子

0

精华

初级会员

Rank: 2

积分
102
金钱
102
注册时间
2017-6-18
在线时间
26 小时
 楼主| 发表于 2017-9-4 10:36:57 | 显示全部楼层

回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-19 13:18

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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