我有一些100Hz采样率的记录信号。我想从信号中滤除60Hz的频率。我使用的是来自R的butter()
包中的signal
滤波器。但它不允许我们滤除大于奈奎斯特频率的频率。所以当我尝试应用巴特沃斯滤波器时
butter(5,W=c(58,62)/100*2,type="stop")
我明白了
Error in butter.default(5, W = c(58, 62)/100 * 2, type = "stop") :
butter: critical frequencies must be in (0 1)
Chebyshev滤波器的手册页提到了对滤波频率的相同要求。
如果不对信号进行上采样,我可以在这做任何事吗?我可以使用哪些其他过滤器?
您无法滤除60Hz频率,因为采样信号中没有这样的频率,因为Nyquist sampling theorem.
但是,您可以在采样信号中找到的是60Hz频率的alias。它位于40Hz,因为50Hz的折叠效应(采样率的一半)。你可以过滤掉这个频率,但你也会失去原始信号40Hz频率的信息。