【发布时间】:2016-06-22 09:18:02
【问题描述】:
我正在尝试在 Matlab 中编写一个代码,该代码采用一个或多个正弦波施加噪声,并尝试使用以下算法对其进行过滤:
首先我获取输入并将其放入向量中
然后我将 fft() 应用于该向量,并将 abs() 应用于该 fft
- 例如,如果“x”是存储波的向量,则
- y= abs(fft(x))现在在“y”中,我使所有元素都小于某个阈值 0
然后应用 ifft() 函数来获取过滤后的信号让我们说“x1”
但即使是正弦波,我得到的最后一个波也是异相(见图)。是因为我将 abs() 应用于 fft 吗??
但是我得到这个算法的material 没有讨论这个。
我是否需要应用任何其他过滤器才能获得实际的波形?
这是两个波的图:一个是我从上面的过程中得到的,另一个是实际的波,它是一个没有噪声的正弦波: my graph
看看我的滤波波和实际波是如何异相的如何纠正它?
如果你不明白这个问题或有什么想问我的,请发表评论,我会尽力解释。
【问题讨论】:
标签: matlab filter signal-processing fft ifft