在 FFT 噪声去除期间获取 y 轴偏移

Getting y-axis shift during FFT noise removal

我正在尝试通过 R 中的 FFT 去除噪声。我遇到的问题是在此过程中我得到了 y 轴偏移,我不确定原因是什么。我已经阅读了 FFT 并使用了 this resource as a guide. See below for the code I have been executing as well as sample graphics of the result. Here is a dropbox link to the csv file. data.csv

data=read.csv('data.csv')
plot(data,type='l')

#FFT filtration function
fft.filter=function(data,threshold){
  temp=fft(data)
  temp[threshold:length(data)-threshold]=0+0i
  temp=Re(fft(temp,inverse=TRUE)/length(temp))
  return(temp)
}

data2=data
data2$Signal=fft.filter(data2$Signal,100)

未过滤的情节:

过滤图:

如图所示,数据缩放看起来不错,我只是得到了一个我认为不应该的转变。 FFT 函数正在消除序列中的噪声。

索引有问题。它的索引从 0 到 length(data)-threshold,而我相信你想要 threshold:(length(data)-threshold)。将索引行更改为

temp[threshold:(length(data)-threshold)]=0+0i