在 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
我正在尝试通过 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