MATLAB过滤效果不大

时间:2013-10-11 14:35:33

标签: matlab signals filtering signal-processing

我希望有人能够告诉我为什么没有过滤在我的申请中有所帮助。

我有一个MEMS麦克风监测一个小腔室的压力,这个腔室有一个伸展在远端的膜。该装置放置在人体肌肉上,当我弯曲所述肌肉时,膜被扰动,在腔室中产生压力差,麦克风拾取该压力差。因此,通过弯曲肌肉,我可以看到很好的活动尖峰。然而,这种方法非常容易受到噪声的影响,包括运动假象和其他不良伪影。

我感兴趣的肌肉活动高于10Hz且低于100Hz,所以我试图绕过(或至少高通)噪声。如果我点击设备,或者如果我的设备放在我的前臂上方并轻拍我的手腕,我就会明白这是一个非常低频的噪音,在1Hz / 2Hz的范围内,但我无法得到摆脱这种噪音!

我正在使用MATLAB进行处理。通常我会以1KHz的频率对这个麦克风进行采样,但我现在已经将其连接到DAQ,采样率为5KHz。我迫切希望摆脱这种低频噪音,但我尝试的任何东西似乎都没有任何区别,很难看出滤波器在做什么。它肯定会衰减信号,但不会消除我想要的噪音。我不期待完美的结果,但肯定比我看到的要好。

我已经使用了很多方法在MATLAB中创建过滤器(手动和fdatool),以及不同类型的过滤器(Butterworth,Chebyshev,Elliptic)都没有帮助。我担心我想要的10Hz频率可能太接近我试图滤除的噪声,而且它不能足够地衰减噪声。

任何想法,代码示例或建议都会非常有用。

1 个答案:

答案 0 :(得分:1)

敲击或打击声是广谱的,产生的频率成分远高于1 Hz左右的重复频率。因此,任何线性带通或高通滤波器都无法完全消除这种广谱噪声。