0
我试图写在Matlab代码这需要与噪音征收sinosudal波的一个或总和,并尝试使用下面的算法中对其进行过滤正弦波:首先我拿过滤与FFT
输入和到向量和ABS()将其放置在载体中
然后我申请FFT()到FFT
- 例如,如果“x”为在其中波被存储,则矢量
- Y = ABS(FFT(X))- 现在
在 'Y' 我让大于某一阈值0
则所有更少的元件施加IFFT()函数来得到滤波后的信号可以说,“X1”
但最后一波,我得到即使正弦波是出于阶段(见图表)。就是因为IAM应用ABS()到FFT?
但我得到这个算法的material没有讨论这个。
我是否需要应用任何其他过滤器,以便获得实际的波形?
这里是两个波的情节:一个我从上面的程序得到了和其他实际波是正弦波,无噪音: my graph
看到我的过滤波和实际波如何如何纠正它?
如果你不明白的问题或有任何你想问我请评论我会尽力解释它。
FFT的结果是一个复数,如果使用绝对值,则需要相位和模块对其进行反转。 您可以使用绝对值来绘制它,但要小心不要使用IFFT的绝对值。 – Niles
但设置过滤器的限制,我必须使用绝对值。有没有其他方式我可以使用FFT来过滤,而不必使用绝对值?如果是的话,请给我来源。 –
或者我可以补偿相移一些如何(不知道原始波) –