# How to filter out a specific frequency band

Started by January 1, 2009
At the moment I am working on my thesis on "fault detection in pumps using vibratory signal analysis". This is to be done by comparing two groups of the signals, one for normal state of the machine and another attributed to its faulty conditions (in which a specific fault is artificially imposed to the system under the same working conditions as of the normal state).
My problem is a high-amplitude noise with unknown source in the both signals (normal and faulty). From the FFT spectrum I was recording during the data collecting process the frequency band of this noise could be seen around 2.5 – 3.2 kHz (depending on the working conditions). Here is my question:
How can get rid of this noise by attenuating it from the main signal? Somewhere I read DWT can act as a bandstop filter. If so, how can I implement it on my signals using Matlab. Is it principally a effective filter type for such an application or I should use another type? There are some hints in Matlab's help but I appreciate if someone could give me an example M file for such a bandstop filter.
Here is some info about my signals:
- Sampling frequency: 64 kHz
- Frequency content: up to 25 kHz
- To be filtered band: 2.5-3.2 kHz
- Time duration: 10 second
- The phenomena to be studied are mostly unsteady in nature so after filtering I am to employ time-frequency techniques like wavelet or STFT to extract features.

Thanks to my major (mechanical eng.) I am not so familiar with DSP theoretical concepts so I highly appreciate your practical and straight forward suggestions!

Amir
Did you hear about fdatool in MATLAB?
type fdatool in MATLAB command prompt. Give your specs in this tool
and it will tell you the filter taps that will do the magic.

Ubaid Abdullah
http://dspdotcomm.blogspot.com

--- In m..., amir_jkh@... wrote:
>
> At the moment I am working on my thesis on "fault detection in pumps
using vibratory signal analysis". This is to be done by comparing two
groups of the signals, one for normal state of the machine and another
attributed to its faulty conditions (in which a specific fault is
artificially imposed to the system under the same working conditions
as of the normal state).
> My problem is a high-amplitude noise with unknown source in the both
signals (normal and faulty). From the FFT spectrum I was recording
during the data collecting process the frequency band of this noise
could be seen around 2.5 3.2 kHz (depending on the working
conditions). Here is my question:
> How can get rid of this noise by attenuating it from the main
signal? Somewhere I read DWT can act as a bandstop filter. If so, how
can I implement it on my signals using Matlab. Is it principally a
effective filter type for such an application or I should use another
type? There are some hints in Matlab's help but I appreciate if
someone could give me an example M file for such a bandstop filter.
> Here is some info about my signals:
> - Sampling frequency: 64 kHz
> - Frequency content: up to 25 kHz
> - To be filtered band: 2.5-3.2 kHz
> - Time duration: 10 second
> - The phenomena to be studied are mostly unsteady in nature so after
filtering I am to employ time-frequency techniques like wavelet or
STFT to extract features.
>
> Thanks to my major (mechanical eng.) I am not so familiar with DSP
theoretical concepts so I highly appreciate your practical and
straight forward suggestions!
>
> Thank you for your time
>
> Amir
>