一个简单评估峰值位置的方法

示波器测量的波形,如果以数据点的最大值或最小值作为峰值或谷值误差会很大,因为采样点不一定会正好在峰或谷的位置,一般会使用拟合的办法算出峰谷的位置和值,如果一组波形有几十万个峰谷位,比如同步辐射光源的逐束团信号,通过分段做几十万次拟合的办法运算量太大,处理的周期就太长了。一个简单的评估峰谷的办法如下图:

 假设一段波形的最大点幅值为b,左右相邻的采样点的幅值分别为a、c,假设峰值点在这3个点所在的抛物线上,可以从上图推导出峰值点的位置,这里的公式对谷点的位置也适用。这种评估峰谷位置的办法在程序里也很容易实现,比如Labview:

 这类办法在提取几十万个逐束团信号幅值的时候可以节省大量时间以使处理周期在几秒量级以至于瓶颈在从示波器获取波形的速度。

这种方法不知道有没有专业的名称,也许大家早就在使用,我提出来只是因为井底之蛙没有见识,路过的您如果知道一定提醒一下。

posted @   卡西莫多了  阅读(480)  评论(0编辑  收藏  举报
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· 使用C#创建一个MCP客户端
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· Windows编程----内核对象竟然如此简单?
点击右上角即可分享
微信分享提示