寻找数组中的第一个波峰值

yucuihaimeng 2011-01-14 04:41:07
声卡发出一段正弦波信号,并使用程序录音,录得的数据存放在数组RecData[]中,因为接收到的信号通过在空气中传播之

后再收回,所以数组RecData[]中的数据不再像标准的正弦函数生成的数据那样所有周期的波峰值都一样(就是数组的最大值),

现在要得到的数组第一个波峰的值,有哪些方法?
...全文
422 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
無_1024 2011-01-15
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 sammy_chan 的回复:]
引用 3 楼 yucuihaimeng 的回复:

引用 1 楼 xiaohuh421 的回复:

1.在记录数据时就计算好. 先记录一个上升过程,然后直到出现开始变小,这时的前一个就是了.
2.记录完成后,遍历数据,找到第一个 大于左边,小于右边的值


理论上是这个样子的,可是就像二楼所说的,实际收回来的数据有震荡。。。

那就取一段数据作为参考标准吧,譬如100个数据,计……
[/Quote]
赞同这种抽样的方法
迷糊 2011-01-15
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 yucuihaimeng 的回复:]

引用 1 楼 xiaohuh421 的回复:

1.在记录数据时就计算好. 先记录一个上升过程,然后直到出现开始变小,这时的前一个就是了.
2.记录完成后,遍历数据,找到第一个 大于左边,小于右边的值


理论上是这个样子的,可是就像二楼所说的,实际收回来的数据有震荡。。。
[/Quote]
那就取一段数据作为参考标准吧,譬如100个数据,计算一下a[0]到a[100]之间的上升/下降幅度。
yucuihaimeng 2011-01-15
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 xiaohuh421 的回复:]

1.在记录数据时就计算好. 先记录一个上升过程,然后直到出现开始变小,这时的前一个就是了.
2.记录完成后,遍历数据,找到第一个 大于左边,小于右边的值
[/Quote]

理论上是这个样子的,可是就像二楼所说的,实际收回来的数据有震荡。。。
flycar 2011-01-14
  • 打赏
  • 举报
回复
我认为你说的这个不完全正确,因为在波峰的时候或在波谷的时候都有可能有震荡(如下示意图)。应该有个差量。

x
x x x x
x x x x
x x
x
x
xiaohuh421 2011-01-14
  • 打赏
  • 举报
回复
1.在记录数据时就计算好. 先记录一个上升过程,然后直到出现开始变小,这时的前一个就是了.
2.记录完成后,遍历数据,找到第一个 大于左边,小于右边的值

3,881

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 其它技术问题
社区管理员
  • 其它技术问题社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧