在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 2594|回复: 3

[求助] 怎么用FPGA检测高频信号的峰值并计数呢

[复制链接]
发表于 2022-5-9 18:28:22 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
最近项目要用到FPGA信号检测,需要检测到信号出现两个峰值时的对应频率值和峰值,但本人是初学者无从下手,希望有大佬可以提供一些基本思路,如果有相关例程就更好啦
发表于 2022-5-10 08:43:48 | 显示全部楼层
放弃吧,这个太难了,换个别的
发表于 2022-5-10 15:57:47 | 显示全部楼层
首先,你应该简单介绍一下FPGA需要检测峰值的信号是怎么送到FPGA的?那就按较为常见的来考虑吧:FPGA对一个ADC转换所得的连续数据求取信号峰值,及以相邻两个峰值界定的信号频率?

对于ADC采集输出的数据来说,其转换时钟即结果数据的时间刻度,两个数据点之间的deltaT即间隔点数乘以转换时钟的周期,所以,以相邻两个峰值界定的信号频率这个问题几乎不是问题,能确定两个峰值的位置,就能确定二者之间的间隔点数,就能求得间隔时间(即信号周期),周期的倒数即频率。

故,问题的焦点是判断某个数据点是否是(正)峰值?这里把信号的正峰值即通常简称的峰值,和信号的负峰值(即谷值)简单做一个概念上的区分。信号在时域上的波形峰值,即数学上函数曲线的正极值,极值即导数为0的位置的函数值,正极值即导数为0之前的位置的导数大于0。FPGA怎么求ADC连续采集的数据的导数?相邻两点数据,后一点的值减去前一点的值。由于你并不是要输出导数值,只是判断导数是否为0和导数的符号,所以,求导数时不用完全按照定义来做,就是相邻两个数据点的差值不用除以deltaT。

另:ADC采集的数据是有噪声的,所以判断导数值是否为0时,设计中不能真的就是判断=0?,而是要根据你的具体电路指标,设定一个噪声阈值范围,当相邻数据之差的绝对值小于等于某个阈值时判断为导数为0,确定这是一个极值点。再考虑噪声,建议输出的极值是导数为0时的两个相邻点的平均值。

希望这能算做给你提供的一个简单思路。
 楼主| 发表于 2022-5-12 09:37:52 | 显示全部楼层


innovation 发表于 2022-5-10 15:57
首先,你应该简单介绍一下FPGA需要检测峰值的信号是怎么送到FPGA的?那就按较为常见的来考虑吧:FPGA对一个 ...


谢谢大佬的点拨,有点思路了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条

小黑屋| 手机版| 关于我们| 联系我们| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2025-5-5 11:18 , Processed in 0.018847 second(s), 8 queries , Gzip On, MemCached On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表