<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <link>http://www.mathworks.com/matlabcentral/newsreader/view_thread/168616</link>
    <title>MATLAB Central Newsreader - Question on filtering</title>
    <description>Feed for thread: Question on filtering</description>
    <language>en-us</language>
    <copyright>&amp;copy;1994-2012 by MathWorks, Inc.</copyright>
    <webmaster>webmaster@mathworks.com</webmaster>
    <generator>MATLAB Central Newsreader</generator>
    <docs>http://blogs.law.harvard.edu/tech/rss</docs>
    <ttl>60</ttl>
    <image>
      <title>MathWorks</title>
      <url>http://www.mathworks.com/images/membrane_icon.gif</url>
    </image>
    <item>
      <pubDate>Fri, 02 May 2008 09:41:03 -0400</pubDate>
      <title>Question on filtering</title>
      <link>http://www.mathworks.com/matlabcentral/newsreader/view_thread/168616#429904</link>
      <author>Florian </author>
      <description>Hi,&lt;br&gt;
I have a electrophysiological signal (electrogastrography).&lt;br&gt;
It is a one channel recording with a main frequency content&lt;br&gt;
in the band between 0 and 0.2Hz, so very low frequencies.&lt;br&gt;
Playing arround with the signal processing toolbox I was&lt;br&gt;
simply overwhelmed by the amount of possible filters. &lt;br&gt;
What I want to do is to apply bandpass filtering and&lt;br&gt;
downsample the signal from 500 Hz to about 1 Hz&lt;br&gt;
(afterwards). The band I am interested in is from 0.01 to&lt;br&gt;
0.2 Hz. Could anybody please tell me a good way to do this? &lt;br&gt;
&lt;br&gt;
Thank you very much in advance.&lt;br&gt;
&lt;br&gt;
Florian Beissner</description>
    </item>
    <item>
      <pubDate>Sun, 04 May 2008 10:29:27 -0400</pubDate>
      <title>Re: Question on filtering</title>
      <link>http://www.mathworks.com/matlabcentral/newsreader/view_thread/168616#430149</link>
      <author>NZTideMan</author>
      <description>On May 2, 9:41=A0pm, &quot;Florian &quot; &amp;lt;beiss...@med.uni-frankfurt.de&amp;gt; wrote:&lt;br&gt;
&amp;gt; Hi,&lt;br&gt;
&amp;gt; I have a electrophysiological signal (electrogastrography).&lt;br&gt;
&amp;gt; It is a one channel recording with a main frequency content&lt;br&gt;
&amp;gt; in the band between 0 and 0.2Hz, so very low frequencies.&lt;br&gt;
&amp;gt; Playing arround with the signal processing toolbox I was&lt;br&gt;
&amp;gt; simply overwhelmed by the amount of possible filters.&lt;br&gt;
&amp;gt; What I want to do is to apply bandpass filtering and&lt;br&gt;
&amp;gt; downsample the signal from 500 Hz to about 1 Hz&lt;br&gt;
&amp;gt; (afterwards). The band I am interested in is from 0.01 to&lt;br&gt;
&amp;gt; 0.2 Hz. Could anybody please tell me a good way to do this?&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; Thank you very much in advance.&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; Florian Beissner&lt;br&gt;
&lt;br&gt;
downsampling aka decimation&lt;br&gt;
Lots of ways to do it............&lt;br&gt;
Simplest is to just take every 500 th sample, but you may want to&lt;br&gt;
filter first to avoid aliasing.&lt;br&gt;
Simplest filter is the mean of each 500 samples.</description>
    </item>
    <item>
      <pubDate>Sun, 04 May 2008 12:35:03 -0400</pubDate>
      <title>Re: Question on filtering</title>
      <link>http://www.mathworks.com/matlabcentral/newsreader/view_thread/168616#430155</link>
      <author>Lars </author>
      <description>I would create a simple filter by using&lt;br&gt;
&lt;br&gt;
&amp;gt;&amp;gt; fdatool&lt;br&gt;
&lt;br&gt;
say simple IIR-butterworth. you can export the filter from&lt;br&gt;
the tool as numerator (a) and denominator (b) or as a&lt;br&gt;
filter-object.&lt;br&gt;
&lt;br&gt;
then you can filter your signal by computing&lt;br&gt;
&lt;br&gt;
&amp;gt;&amp;gt; filter(b,a,signal) or  &amp;gt;&amp;gt; filter(obj, signal)&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
when possible, it always is a good idea to keep&lt;br&gt;
computational effort low. --&amp;gt; so perhaps you first do the&lt;br&gt;
downsampling and then you filter the the shorter signal.&lt;br&gt;
for downsampling you can find good ways in the help or you&lt;br&gt;
write your own routine using i.e. a simple fft algorithm.&lt;br&gt;
&lt;br&gt;
Regards, Lars </description>
    </item>
    <item>
      <pubDate>Sun, 04 May 2008 12:43:04 -0400</pubDate>
      <title>Re: Question on filtering</title>
      <link>http://www.mathworks.com/matlabcentral/newsreader/view_thread/168616#430156</link>
      <author>Lars </author>
      <description>&lt;br&gt;
sorry bad mistake:&lt;br&gt;
&lt;br&gt;
numerator (b)&lt;br&gt;
denominator (a) &lt;br&gt;
&lt;br&gt;
then you can filter your signal by computing&lt;br&gt;
&lt;br&gt;
&amp;gt;&amp;gt; filter(b,a,signal) &lt;br&gt;
&lt;br&gt;
Regards, Lars </description>
    </item>
    <item>
      <pubDate>Sun, 04 May 2008 17:14:14 -0400</pubDate>
      <title>Re: Question on filtering</title>
      <link>http://www.mathworks.com/matlabcentral/newsreader/view_thread/168616#430182</link>
      <author>Bas</author>
      <description>On May 2, 11:41=A0am, &quot;Florian &quot; &amp;lt;beiss...@med.uni-frankfurt.de&amp;gt; wrote:&lt;br&gt;
&amp;gt; Hi,&lt;br&gt;
&amp;gt; I have a electrophysiological signal (electrogastrography).&lt;br&gt;
&amp;gt; It is a one channel recording with a main frequency content&lt;br&gt;
&amp;gt; in the band between 0 and 0.2Hz, so very low frequencies.&lt;br&gt;
&amp;gt; Playing arround with the signal processing toolbox I was&lt;br&gt;
&amp;gt; simply overwhelmed by the amount of possible filters.&lt;br&gt;
&amp;gt; What I want to do is to apply bandpass filtering and&lt;br&gt;
&amp;gt; downsample the signal from 500 Hz to about 1 Hz&lt;br&gt;
&amp;gt; (afterwards). The band I am interested in is from 0.01 to&lt;br&gt;
&amp;gt; 0.2 Hz. Could anybody please tell me a good way to do this?&lt;br&gt;
&lt;br&gt;
If you don't care so much about the exact filtering and just want to&lt;br&gt;
be sure you don't have any aliasing, you could try to use 'decimate',&lt;br&gt;
which is basically what you want. According to the docs, it defaults&lt;br&gt;
to a low-pass filter at 0.8 times the nyquist frequency (but have a&lt;br&gt;
look a the the various options). This would be 0.4 Hz in your case,&lt;br&gt;
which seems to match your requirements. There is a warning to do it in&lt;br&gt;
several steps if you want to decimate by more than a factor of 13, so&lt;br&gt;
that would mean 3 steps in your case:&lt;br&gt;
x_filt =3D decimate(decimate(decimate(x, 10), 10), 5);&lt;br&gt;
I only used this function to decimation with small factors, so use at&lt;br&gt;
your own risk.&lt;br&gt;
&lt;br&gt;
HTH,&lt;br&gt;
Bas</description>
    </item>
  </channel>
</rss>

