假设您有一些数据是音调加噪声。更改FFT内容
t=0:0.01:10;
y=sin(t) + rand(1,length(t));
我想打掉音峰在FFT使做IFFT将只是噪声数据结果。我的算法将是一个for循环,循环遍历abs(fft)的每个索引以查找峰值。如果有峰值,我会用嘈杂的数据点代替峰值。
问题是,在fft完成后,为了可视化数据,通常我会使用plot(abs(fft))。但是,要做到这一点,虚拟数据也是需要的。因此,我不确定我会如何去做“敲倒高峰”或摆脱它,以便我可以使用ifft函数。我想我必须用虚数来工作。
有什么建议吗? :X
谢谢你的帮助。
使用高通滤波器? – PearsonArtPhoto 2011-12-16 00:32:19
@Pearsonartphoto - 这是一个聪明的答案!但是,我想稍后再扩展这个问题,以便消除随机音,所以我不知道截止频率是多少。 – 2011-12-16 00:37:41
高通滤波器在这里是不合适的,因为噪声(理论上)是宽带的 - 他会敲掉噪声和信号。 – dantswain 2011-12-16 00:40:15