|
On May 2, 11:41=A0am, "Florian " <beiss...@med.uni-frankfurt.de> wrote:
> Hi,
> I have a electrophysiological signal (electrogastrography).
> It is a one channel recording with a main frequency content
> in the band between 0 and 0.2Hz, so very low frequencies.
> Playing arround with the signal processing toolbox I was
> simply overwhelmed by the amount of possible filters.
> What I want to do is to apply bandpass filtering and
> downsample the signal from 500 Hz to about 1 Hz
> (afterwards). The band I am interested in is from 0.01 to
> 0.2 Hz. Could anybody please tell me a good way to do this?
If you don't care so much about the exact filtering and just want to
be sure you don't have any aliasing, you could try to use 'decimate',
which is basically what you want. According to the docs, it defaults
to a low-pass filter at 0.8 times the nyquist frequency (but have a
look a the the various options). This would be 0.4 Hz in your case,
which seems to match your requirements. There is a warning to do it in
several steps if you want to decimate by more than a factor of 13, so
that would mean 3 steps in your case:
x_filt =3D decimate(decimate(decimate(x, 10), 10), 5);
I only used this function to decimation with small factors, so use at
your own risk.
HTH,
Bas
|