求问,FFT变换后,想得到振幅最大处的横坐标,命令或者方
求问大家,FFT变换后,想提取几处振幅最大处的横坐标,相应的命令或者方法是什么。因为我们不关心它们的振幅而关心他们所对应的横坐标,如图,想得到图中四处的振幅所对应的横坐标。谢谢。回复 1 # jiansongliu 的帖子
做好fft后,得到的是一个数列,在这个数列中找出最大值
应该是个好办法,但估计还是有困难,因为图中有好几处较大值振幅。楼主给的方法不错,谢谢。 本帖最后由 jiansongliu 于 2011-7-20 10:22 编辑
还是期待大家进一步帮助,因为振幅最大值处容易找出。但是对于第二个波峰或以及第三个波峰等等,它们并不是对应于第二或则第三振幅最大值。以为FFT变化后其实都是有一个个波峰所组成。多以说第一个最大振幅是容易找到的,但是对于其他的,就无能为力了。
我在网上搜索到类似的问题,但是好像都没有给出具体的办法。
所以在这里再次发起该问题的求解,以等待大家的宝贵意见
回复 6 # jiansongliu 的帖子
可以把计算结果一个temp变量, 在找到temp变量中的第一最大值后,然后把这个最大值设为0,这样就可以找到第二个最大值了,以此类推. 若如1F的图, 个人以为LZ的问题不在如何找, 应先考量如何smoothing!? 谢谢大家的回复,tenglang 给的答案也只能找出最大的振幅对应的横坐标值,因为我给出的傅里叶变化图曲线是由都是有一个个很密波峰所组成,所以第二个最大振幅不一定就是我所要的那个振幅点。
ChaChing 给出的答案我认为一定程度上是个关键,smoothing 是不是就是吧我画的图拟合成一条光滑曲线,而非我给出的由一系列波峰所组成的曲线。但如果是那样的话,会不会改变其值? 楼主这个分析好像是把间断了的几次连续振懂的数据放在一起做了FFT,由于每次振的强度不一样,所以看着不清晰,最好能就一次振动数据做FFT,这样看着会很清楚。 可以用sort排序命令先进行降序排序,然后找到对应的横坐标就可以了啊,你的图中峰值也就10个以内很容易找到 我也遇到这样的问题,我的想法就是求局部极大值,峰值的位置肯定是比它前面的值和后面的值都大,所以通过一个循环和判断就可以得到这样一系列满足条件的峰值。但遇到了新的问题就是得到了一些我不需要的极大值。通过一个阈值来筛选也不起任何作用。请问楼主是否找到了更好的办法? 补充:找到了峰值就相当于找了对应的横坐标 回复 11 # gumiaoyu 的帖子
刚开始想错了,应该是先求出极值及对应的横坐标,然后排序就可以求出相对应的横坐标了 cartoonyjw 发表于 2011-8-2 11:06 static/image/common/back.gif
我也遇到这样的问题,我的想法就是求局部极大值,峰值的位置肯定是比它前面的值和后面的值都大,所以通过一 ...
8F smoothing如何? 建议LZ给齐数据及初步代码, 让楼上几位试试看! 回复 15 # ChaChing 的帖子
你说得smoothing具体怎么做?
页:
[1]
2