<rss xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" version="2.0">
  <channel>
    <title>MaplePrimes - answers and comments on Question, Can I filter a signal with Maple 14</title>
    <link>http://www.mapleprimes.com/questions/97048-Can-I-Filter-A-Signal-With-Maple-14</link>
    <language>en-us</language>
    <copyright>2026 Maplesoft, A Division of Waterloo Maple Inc.</copyright>
    <generator>Maplesoft Document System</generator>
    <lastBuildDate>Sat, 13 Jun 2026 00:17:19 GMT</lastBuildDate>
    <pubDate>Sat, 13 Jun 2026 00:17:19 GMT</pubDate>
    <itunes:subtitle />
    <itunes:summary />
    <description>The latest answers and comments added to the Question, Can I filter a signal with Maple 14</description>
    <image>
      <url>http://www.mapleprimes.com/images/mapleprimeswhite.jpg</url>
      <title>MaplePrimes - answers and comments on Question, Can I filter a signal with Maple 14</title>
      <link>http://www.mapleprimes.com/questions/97048-Can-I-Filter-A-Signal-With-Maple-14</link>
    </image>
    <item>
      <title>filter (pass through)</title>
      <link>http://www.mapleprimes.com/questions/97048-Can-I-Filter-A-Signal-With-Maple-14?ref=Feed:MaplePrimes:Can I filter a signal with Maple 14:Comments#answer97071</link>
      <itunes:summary>&lt;p&gt;It wasn't quite clear to me whether you wanted to &lt;em&gt;filter out&lt;/em&gt; a range of frequencies (possibly all above some value) or whether you wanted to allow only a range or band of frequences to get&lt;em&gt; passed through&lt;/em&gt;. If you want to remove &lt;em&gt;all&lt;/em&gt; frequences above a given value then either of those apporaches should suffice.&lt;/p&gt;
&lt;p&gt;The examples below attempt to show a band getting passed through.&lt;/p&gt;
&lt;table width="576" align="center"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;table style="margin-left: 0px; margin-right: 0px;"&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: Courier New,monospace; font-weight: bold; font-style: normal;"&gt; &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: Courier New,monospace; font-weight: bold; font-style: normal;"&gt;restart:&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table style="margin-left: 0px; margin-right: 0px;"&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: Courier New,monospace; font-weight: bold; font-style: normal;"&gt; &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: Courier New,monospace; font-weight: bold; font-style: normal;"&gt;&lt;br&gt; &lt;/span&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: Courier New,monospace; font-weight: bold; font-style: normal;"&gt;freqpass:=proc(M::Vector,rng::range(nonnegint))&lt;br&gt; &lt;/span&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: Courier New,monospace; font-weight: bold; font-style: normal;"&gt;local Mt, Xlow, Xhi;&lt;br&gt; &lt;/span&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: Courier New,monospace; font-weight: bold; font-style: normal;"&gt;&amp;nbsp;&amp;nbsp;Xlow,Xhi := op(rng);&lt;br&gt; &lt;/span&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: Courier New,monospace; font-weight: bold; font-style: normal;"&gt;&amp;nbsp;&amp;nbsp;Mt := DiscreteTransforms:-FourierTransform(M):&lt;br&gt; &lt;/span&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: Courier New,monospace; font-weight: bold; font-style: normal;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if Xlow&amp;gt;1 then ArrayTools:-Fill(Xlow-1,0.0,Mt,0,1); end if;&lt;br&gt; &lt;/span&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: Courier New,monospace; font-weight: bold; font-style: normal;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if Xhi&amp;lt;op(1,Mt) then ArrayTools:-Fill(op(1,Mt)-Xhi-1,0.0,Mt,Xhi+1,1); end if;&lt;br&gt; &lt;/span&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: Courier New,monospace; font-weight: bold; font-style: normal;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Mt[1]:=Mt[1]/2;&lt;br&gt; &lt;/span&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: Courier New,monospace; font-weight: bold; font-style: normal;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2*map(Re,DiscreteTransforms:-InverseFourierTransform(Mt));&lt;br&gt; &lt;/span&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: Courier New,monospace; font-weight: bold; font-style: normal;"&gt;end proc:&lt;br&gt; &lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table style="margin-left: 0px; margin-right: 0px;"&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: Courier New,monospace; font-weight: bold; font-style: normal;"&gt; &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;span style="color: #000000; font-size: 100%; font-family: Times New Roman,serif; font-weight: normal; font-style: normal;"&gt;Make a sample signal M&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table style="margin-left: 0px; margin-right: 0px;"&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: Courier New,monospace; font-weight: bold; font-style: normal;"&gt; &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: Courier New,monospace; font-weight: bold; font-style: normal;"&gt;f := x -&amp;gt; ((x-1/3)^5) + 50*sin(68*x):&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table style="margin-left: 0px; margin-right: 0px;"&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: Courier New,monospace; font-weight: bold; font-style: normal;"&gt; &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: Courier New,monospace; font-weight: bold; font-style: normal;"&gt;a,b,n := -Pi,Pi,1000:&lt;br&gt; &lt;/span&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: Courier New,monospace; font-weight: bold; font-style: normal;"&gt;M := Vector(n,(i)-&amp;gt;(evalhf@f)(a+i*(b-a)/n),datatype=float[8]):&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table style="margin-left: 0px; margin-right: 0px;"&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: Courier New,monospace; font-weight: bold; font-style: normal;"&gt; &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: Courier New,monospace; font-weight: bold; font-style: normal;"&gt;plots:-pointplot([seq([k,M[k]],k=1..op(1,M))],style=line,&lt;br&gt; &lt;/span&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: Courier New,monospace; font-weight: bold; font-style: normal;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;view=[0..1000,-600..300]);&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;a href="http://www.maplesoft.com/support/faqs/MapleNet/redirect.aspx?param=plot_java_14206"&gt;&lt;img style="border: none;" src="/view.aspx?sf=97071/310057/7b07e0719dcaa3f7809bf6455c2d2760.gif" alt="" width="400" height="400" align="middle"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="color: #000000; font-family: Times, serif; font-weight: bold; font-style: normal;" align="right"&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table style="margin-left: 0px; margin-right: 0px;"&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: Courier New,monospace; font-weight: bold; font-style: normal;"&gt; &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: Courier New,monospace; font-weight: bold; font-style: normal;"&gt;filtered := freqpass(M,1..67):&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table style="margin-left: 0px; margin-right: 0px;"&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: Courier New,monospace; font-weight: bold; font-style: normal;"&gt; &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: Courier New,monospace; font-weight: bold; font-style: normal;"&gt;plots:-pointplot([seq([k,filtered[k]],k=1..op(1,filtered))],style=line,&lt;br&gt; &lt;/span&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: Courier New,monospace; font-weight: bold; font-style: normal;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;view=[0..1000,-600..300]);&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;a href="http://www.maplesoft.com/support/faqs/MapleNet/redirect.aspx?param=plot_java_14206"&gt;&lt;img style="border: none;" src="/view.aspx?sf=97071/310057/cf47cb4e4495dd35ee15ca06c24f64ff.gif" alt="" width="400" height="400" align="middle"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="color: #000000; font-family: Times, serif; font-weight: bold; font-style: normal;" align="right"&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table style="margin-left: 0px; margin-right: 0px;"&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: Courier New,monospace; font-weight: bold; font-style: normal;"&gt; &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: Courier New,monospace; font-weight: bold; font-style: normal;"&gt;filtered := freqpass(M,68..71):&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table style="margin-left: 0px; margin-right: 0px;"&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: Courier New,monospace; font-weight: bold; font-style: normal;"&gt; &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: Courier New,monospace; font-weight: bold; font-style: normal;"&gt;plots:-pointplot([seq([k,filtered[k]],k=1..op(1,filtered))],style=line,&lt;br&gt; &lt;/span&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: Courier New,monospace; font-weight: bold; font-style: normal;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;view=[0..1000,-600..300]);&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;a href="http://www.maplesoft.com/support/faqs/MapleNet/redirect.aspx?param=plot_java_14206"&gt;&lt;img style="border: none;" src="/view.aspx?sf=97071/310057/9a17b7b7336d72ad1ba6d23ba19a2cb6.gif" alt="" width="400" height="400" align="middle"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="color: #000000; font-family: Times, serif; font-weight: bold; font-style: normal;" align="right"&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table style="margin-left: 0px; margin-right: 0px;"&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: Courier New,monospace; font-weight: bold; font-style: normal;"&gt; &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: Courier New,monospace; font-weight: bold; font-style: normal;"&gt;filtered := freqpass(M,72..100):&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table style="margin-left: 0px; margin-right: 0px;"&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: Courier New,monospace; font-weight: bold; font-style: normal;"&gt; &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: Courier New,monospace; font-weight: bold; font-style: normal;"&gt;plots:-pointplot([seq([k,filtered[k]],k=1..op(1,filtered))],style=line,&lt;br&gt; &lt;/span&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: Courier New,monospace; font-weight: bold; font-style: normal;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;view=[0..1000,-600..300]);&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;a href="http://www.maplesoft.com/support/faqs/MapleNet/redirect.aspx?param=plot_java_14206"&gt;&lt;img style="border: none;" src="/view.aspx?sf=97071/310057/84b7664608c948dbe73d168c258c3f15.gif" alt="" width="400" height="400" align="middle"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="color: #000000; font-family: Times, serif; font-weight: bold; font-style: normal;" align="right"&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table style="margin-left: 0px; margin-right: 0px;"&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: Courier New,monospace; font-weight: bold; font-style: normal;"&gt; &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: Courier New,monospace; font-weight: bold; font-style: normal;"&gt;f := x -&amp;gt; sin(5*x) + sin(118*x) - sin(130*x) + sin(123*x) - sin(127*x)&lt;br&gt; &lt;/span&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: Courier New,monospace; font-weight: bold; font-style: normal;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;- 1/3*sin(113*x) + 1/5*sin(300*x):&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table style="margin-left: 0px; margin-right: 0px;"&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: Courier New,monospace; font-weight: bold; font-style: normal;"&gt; &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: Courier New,monospace; font-weight: bold; font-style: normal;"&gt;a,b,n := -Pi,Pi,1000:&lt;br&gt; &lt;/span&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: Courier New,monospace; font-weight: bold; font-style: normal;"&gt;M := Vector(n,(i)-&amp;gt;(evalhf@f)(a+i*(b-a)/n),datatype=float[8]):&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table style="margin-left: 0px; margin-right: 0px;"&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: Courier New,monospace; font-weight: bold; font-style: normal;"&gt; &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: Courier New,monospace; font-weight: bold; font-style: normal;"&gt;plots:-pointplot([seq([k,M[k]],k=1..op(1,M))],style=line,view=[0..1000,-7..7]);&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;a href="http://www.maplesoft.com/support/faqs/MapleNet/redirect.aspx?param=plot_java_14206"&gt;&lt;img style="border: none;" src="/view.aspx?sf=97071/310057/30648d9308fee1d36127a29d15f7915a.gif" alt="" width="400" height="400" align="middle"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="color: #000000; font-family: Times, serif; font-weight: bold; font-style: normal;" align="right"&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table style="margin-left: 0px; margin-right: 0px;"&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: Courier New,monospace; font-weight: bold; font-style: normal;"&gt; &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: Courier New,monospace; font-weight: bold; font-style: normal;"&gt;filtered := freqpass(M,1..120):&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table style="margin-left: 0px; margin-right: 0px;"&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: Courier New,monospace; font-weight: bold; font-style: normal;"&gt; &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: Courier New,monospace; font-weight: bold; font-style: normal;"&gt;plots:-pointplot([seq([k,filtered[k]],k=1..op(1,filtered))],style=line,view=[0..1000,-7..7]);&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;a href="http://www.maplesoft.com/support/faqs/MapleNet/redirect.aspx?param=plot_java_14206"&gt;&lt;img style="border: none;" src="/view.aspx?sf=97071/310057/c0d3e6fb5a93fe78a8af48a1c512bf38.gif" alt="" width="400" height="400" align="middle"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="color: #000000; font-family: Times, serif; font-weight: bold; font-style: normal;" align="right"&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table style="margin-left: 0px; margin-right: 0px;"&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: Courier New,monospace; font-weight: bold; font-style: normal;"&gt; &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: Courier New,monospace; font-weight: bold; font-style: normal;"&gt;filtered := freqpass(M,1..100):&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table style="margin-left: 0px; margin-right: 0px;"&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: Courier New,monospace; font-weight: bold; font-style: normal;"&gt; &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: Courier New,monospace; font-weight: bold; font-style: normal;"&gt;plots:-pointplot([seq([k,filtered[k]],k=1..op(1,filtered))],style=line,view=[0..1000,-7..7]);&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;a href="http://www.maplesoft.com/support/faqs/MapleNet/redirect.aspx?param=plot_java_14206"&gt;&lt;img style="border: none;" src="/view.aspx?sf=97071/310057/7932034e01b985bcd6a924e35edc986a.gif" alt="" width="400" height="400" align="middle"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="color: #000000; font-family: Times, serif; font-weight: bold; font-style: normal;" align="right"&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table style="margin-left: 0px; margin-right: 0px;"&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: Courier New,monospace; font-weight: bold; font-style: normal;"&gt; &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: Courier New,monospace; font-weight: bold; font-style: normal;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;a href="/view.aspx?sf=97071/310057/fftfun00.mw"&gt;Download fftfun00.mw&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;All this is doing is zeroing the result of the FFT except for the range you specify, and then doing the inverse-FFT. With a few tricks to try and stay efficient. Remember, the result of the FFT is (real part) frequency and (imaginary part) shift.&lt;/p&gt;
&lt;p&gt;I'm not doing anything to allow you to express things in terms of time, hertz, sample duration. That's just bookkeeping and nomenclature. Bells and whistles. But let me know if this aspect has you puzzled. These samples below are just a number of data points, so how you interpret them according to some sampling speed, etc, is up to you. With this below, there are simply a number of discrete frequencies (depending on the number of data points and whatever &lt;em&gt;you&lt;/em&gt; say the elapsed duration is) and you can pass them through or filter them out.&lt;/p&gt;
&lt;p&gt;Notice the magnitude of the (supposedly non-noisy) lower frequency filtered result in the latter example. In this case the higher frequencies (now filtered out) contained a measurable portion of the signal strength.&lt;/p&gt;
&lt;p&gt;If you do want to use such terminology then you have to say what you want done in the case that either frequency bound you specify doesn't match the granularity of your data. For given data and a given duration in units of time there will be a minimal attainable frequency determined by the number of nodes of data. If you specify a frequency cut-off that doesn't fall on a boundary then you have to agree how to handle it: eg. apportion it between the pair of neighbouring attainable discrete frequencies, or apportion it all to the single nearest attainable frequency.&lt;/p&gt;</itunes:summary>
      <description>&lt;p&gt;It wasn't quite clear to me whether you wanted to &lt;em&gt;filter out&lt;/em&gt; a range of frequencies (possibly all above some value) or whether you wanted to allow only a range or band of frequences to get&lt;em&gt; passed through&lt;/em&gt;. If you want to remove &lt;em&gt;all&lt;/em&gt; frequences above a given value then either of those apporaches should suffice.&lt;/p&gt;
&lt;p&gt;The examples below attempt to show a band getting passed through.&lt;/p&gt;
&lt;table width="576" align="center"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;table style="margin-left: 0px; margin-right: 0px;"&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: Courier New,monospace; font-weight: bold; font-style: normal;"&gt; &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: Courier New,monospace; font-weight: bold; font-style: normal;"&gt;restart:&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table style="margin-left: 0px; margin-right: 0px;"&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: Courier New,monospace; font-weight: bold; font-style: normal;"&gt; &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: Courier New,monospace; font-weight: bold; font-style: normal;"&gt;&lt;br&gt; &lt;/span&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: Courier New,monospace; font-weight: bold; font-style: normal;"&gt;freqpass:=proc(M::Vector,rng::range(nonnegint))&lt;br&gt; &lt;/span&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: Courier New,monospace; font-weight: bold; font-style: normal;"&gt;local Mt, Xlow, Xhi;&lt;br&gt; &lt;/span&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: Courier New,monospace; font-weight: bold; font-style: normal;"&gt;&amp;nbsp;&amp;nbsp;Xlow,Xhi := op(rng);&lt;br&gt; &lt;/span&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: Courier New,monospace; font-weight: bold; font-style: normal;"&gt;&amp;nbsp;&amp;nbsp;Mt := DiscreteTransforms:-FourierTransform(M):&lt;br&gt; &lt;/span&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: Courier New,monospace; font-weight: bold; font-style: normal;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if Xlow&amp;gt;1 then ArrayTools:-Fill(Xlow-1,0.0,Mt,0,1); end if;&lt;br&gt; &lt;/span&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: Courier New,monospace; font-weight: bold; font-style: normal;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if Xhi&amp;lt;op(1,Mt) then ArrayTools:-Fill(op(1,Mt)-Xhi-1,0.0,Mt,Xhi+1,1); end if;&lt;br&gt; &lt;/span&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: Courier New,monospace; font-weight: bold; font-style: normal;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Mt[1]:=Mt[1]/2;&lt;br&gt; &lt;/span&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: Courier New,monospace; font-weight: bold; font-style: normal;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2*map(Re,DiscreteTransforms:-InverseFourierTransform(Mt));&lt;br&gt; &lt;/span&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: Courier New,monospace; font-weight: bold; font-style: normal;"&gt;end proc:&lt;br&gt; &lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table style="margin-left: 0px; margin-right: 0px;"&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: Courier New,monospace; font-weight: bold; font-style: normal;"&gt; &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;span style="color: #000000; font-size: 100%; font-family: Times New Roman,serif; font-weight: normal; font-style: normal;"&gt;Make a sample signal M&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table style="margin-left: 0px; margin-right: 0px;"&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: Courier New,monospace; font-weight: bold; font-style: normal;"&gt; &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: Courier New,monospace; font-weight: bold; font-style: normal;"&gt;f := x -&amp;gt; ((x-1/3)^5) + 50*sin(68*x):&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table style="margin-left: 0px; margin-right: 0px;"&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: Courier New,monospace; font-weight: bold; font-style: normal;"&gt; &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: Courier New,monospace; font-weight: bold; font-style: normal;"&gt;a,b,n := -Pi,Pi,1000:&lt;br&gt; &lt;/span&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: Courier New,monospace; font-weight: bold; font-style: normal;"&gt;M := Vector(n,(i)-&amp;gt;(evalhf@f)(a+i*(b-a)/n),datatype=float[8]):&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table style="margin-left: 0px; margin-right: 0px;"&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: Courier New,monospace; font-weight: bold; font-style: normal;"&gt; &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: Courier New,monospace; font-weight: bold; font-style: normal;"&gt;plots:-pointplot([seq([k,M[k]],k=1..op(1,M))],style=line,&lt;br&gt; &lt;/span&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: Courier New,monospace; font-weight: bold; font-style: normal;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;view=[0..1000,-600..300]);&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;a href="http://www.maplesoft.com/support/faqs/MapleNet/redirect.aspx?param=plot_java_14206"&gt;&lt;img style="border: none;" src="/view.aspx?sf=97071/310057/7b07e0719dcaa3f7809bf6455c2d2760.gif" alt="" width="400" height="400" align="middle"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="color: #000000; font-family: Times, serif; font-weight: bold; font-style: normal;" align="right"&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table style="margin-left: 0px; margin-right: 0px;"&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: Courier New,monospace; font-weight: bold; font-style: normal;"&gt; &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: Courier New,monospace; font-weight: bold; font-style: normal;"&gt;filtered := freqpass(M,1..67):&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table style="margin-left: 0px; margin-right: 0px;"&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: Courier New,monospace; font-weight: bold; font-style: normal;"&gt; &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: Courier New,monospace; font-weight: bold; font-style: normal;"&gt;plots:-pointplot([seq([k,filtered[k]],k=1..op(1,filtered))],style=line,&lt;br&gt; &lt;/span&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: Courier New,monospace; font-weight: bold; font-style: normal;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;view=[0..1000,-600..300]);&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;a href="http://www.maplesoft.com/support/faqs/MapleNet/redirect.aspx?param=plot_java_14206"&gt;&lt;img style="border: none;" src="/view.aspx?sf=97071/310057/cf47cb4e4495dd35ee15ca06c24f64ff.gif" alt="" width="400" height="400" align="middle"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="color: #000000; font-family: Times, serif; font-weight: bold; font-style: normal;" align="right"&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table style="margin-left: 0px; margin-right: 0px;"&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: Courier New,monospace; font-weight: bold; font-style: normal;"&gt; &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: Courier New,monospace; font-weight: bold; font-style: normal;"&gt;filtered := freqpass(M,68..71):&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table style="margin-left: 0px; margin-right: 0px;"&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: Courier New,monospace; font-weight: bold; font-style: normal;"&gt; &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: Courier New,monospace; font-weight: bold; font-style: normal;"&gt;plots:-pointplot([seq([k,filtered[k]],k=1..op(1,filtered))],style=line,&lt;br&gt; &lt;/span&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: Courier New,monospace; font-weight: bold; font-style: normal;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;view=[0..1000,-600..300]);&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;a href="http://www.maplesoft.com/support/faqs/MapleNet/redirect.aspx?param=plot_java_14206"&gt;&lt;img style="border: none;" src="/view.aspx?sf=97071/310057/9a17b7b7336d72ad1ba6d23ba19a2cb6.gif" alt="" width="400" height="400" align="middle"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="color: #000000; font-family: Times, serif; font-weight: bold; font-style: normal;" align="right"&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table style="margin-left: 0px; margin-right: 0px;"&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: Courier New,monospace; font-weight: bold; font-style: normal;"&gt; &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: Courier New,monospace; font-weight: bold; font-style: normal;"&gt;filtered := freqpass(M,72..100):&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table style="margin-left: 0px; margin-right: 0px;"&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: Courier New,monospace; font-weight: bold; font-style: normal;"&gt; &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: Courier New,monospace; font-weight: bold; font-style: normal;"&gt;plots:-pointplot([seq([k,filtered[k]],k=1..op(1,filtered))],style=line,&lt;br&gt; &lt;/span&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: Courier New,monospace; font-weight: bold; font-style: normal;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;view=[0..1000,-600..300]);&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;a href="http://www.maplesoft.com/support/faqs/MapleNet/redirect.aspx?param=plot_java_14206"&gt;&lt;img style="border: none;" src="/view.aspx?sf=97071/310057/84b7664608c948dbe73d168c258c3f15.gif" alt="" width="400" height="400" align="middle"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="color: #000000; font-family: Times, serif; font-weight: bold; font-style: normal;" align="right"&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table style="margin-left: 0px; margin-right: 0px;"&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: Courier New,monospace; font-weight: bold; font-style: normal;"&gt; &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: Courier New,monospace; font-weight: bold; font-style: normal;"&gt;f := x -&amp;gt; sin(5*x) + sin(118*x) - sin(130*x) + sin(123*x) - sin(127*x)&lt;br&gt; &lt;/span&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: Courier New,monospace; font-weight: bold; font-style: normal;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;- 1/3*sin(113*x) + 1/5*sin(300*x):&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table style="margin-left: 0px; margin-right: 0px;"&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: Courier New,monospace; font-weight: bold; font-style: normal;"&gt; &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: Courier New,monospace; font-weight: bold; font-style: normal;"&gt;a,b,n := -Pi,Pi,1000:&lt;br&gt; &lt;/span&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: Courier New,monospace; font-weight: bold; font-style: normal;"&gt;M := Vector(n,(i)-&amp;gt;(evalhf@f)(a+i*(b-a)/n),datatype=float[8]):&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table style="margin-left: 0px; margin-right: 0px;"&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: Courier New,monospace; font-weight: bold; font-style: normal;"&gt; &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: Courier New,monospace; font-weight: bold; font-style: normal;"&gt;plots:-pointplot([seq([k,M[k]],k=1..op(1,M))],style=line,view=[0..1000,-7..7]);&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;a href="http://www.maplesoft.com/support/faqs/MapleNet/redirect.aspx?param=plot_java_14206"&gt;&lt;img style="border: none;" src="/view.aspx?sf=97071/310057/30648d9308fee1d36127a29d15f7915a.gif" alt="" width="400" height="400" align="middle"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="color: #000000; font-family: Times, serif; font-weight: bold; font-style: normal;" align="right"&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table style="margin-left: 0px; margin-right: 0px;"&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: Courier New,monospace; font-weight: bold; font-style: normal;"&gt; &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: Courier New,monospace; font-weight: bold; font-style: normal;"&gt;filtered := freqpass(M,1..120):&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table style="margin-left: 0px; margin-right: 0px;"&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: Courier New,monospace; font-weight: bold; font-style: normal;"&gt; &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: Courier New,monospace; font-weight: bold; font-style: normal;"&gt;plots:-pointplot([seq([k,filtered[k]],k=1..op(1,filtered))],style=line,view=[0..1000,-7..7]);&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;a href="http://www.maplesoft.com/support/faqs/MapleNet/redirect.aspx?param=plot_java_14206"&gt;&lt;img style="border: none;" src="/view.aspx?sf=97071/310057/c0d3e6fb5a93fe78a8af48a1c512bf38.gif" alt="" width="400" height="400" align="middle"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="color: #000000; font-family: Times, serif; font-weight: bold; font-style: normal;" align="right"&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table style="margin-left: 0px; margin-right: 0px;"&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: Courier New,monospace; font-weight: bold; font-style: normal;"&gt; &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: Courier New,monospace; font-weight: bold; font-style: normal;"&gt;filtered := freqpass(M,1..100):&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table style="margin-left: 0px; margin-right: 0px;"&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: Courier New,monospace; font-weight: bold; font-style: normal;"&gt; &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: Courier New,monospace; font-weight: bold; font-style: normal;"&gt;plots:-pointplot([seq([k,filtered[k]],k=1..op(1,filtered))],style=line,view=[0..1000,-7..7]);&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;a href="http://www.maplesoft.com/support/faqs/MapleNet/redirect.aspx?param=plot_java_14206"&gt;&lt;img style="border: none;" src="/view.aspx?sf=97071/310057/7932034e01b985bcd6a924e35edc986a.gif" alt="" width="400" height="400" align="middle"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="color: #000000; font-family: Times, serif; font-weight: bold; font-style: normal;" align="right"&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table style="margin-left: 0px; margin-right: 0px;"&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: Courier New,monospace; font-weight: bold; font-style: normal;"&gt; &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: Courier New,monospace; font-weight: bold; font-style: normal;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;a href="/view.aspx?sf=97071/310057/fftfun00.mw"&gt;Download fftfun00.mw&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;All this is doing is zeroing the result of the FFT except for the range you specify, and then doing the inverse-FFT. With a few tricks to try and stay efficient. Remember, the result of the FFT is (real part) frequency and (imaginary part) shift.&lt;/p&gt;
&lt;p&gt;I'm not doing anything to allow you to express things in terms of time, hertz, sample duration. That's just bookkeeping and nomenclature. Bells and whistles. But let me know if this aspect has you puzzled. These samples below are just a number of data points, so how you interpret them according to some sampling speed, etc, is up to you. With this below, there are simply a number of discrete frequencies (depending on the number of data points and whatever &lt;em&gt;you&lt;/em&gt; say the elapsed duration is) and you can pass them through or filter them out.&lt;/p&gt;
&lt;p&gt;Notice the magnitude of the (supposedly non-noisy) lower frequency filtered result in the latter example. In this case the higher frequencies (now filtered out) contained a measurable portion of the signal strength.&lt;/p&gt;
&lt;p&gt;If you do want to use such terminology then you have to say what you want done in the case that either frequency bound you specify doesn't match the granularity of your data. For given data and a given duration in units of time there will be a minimal attainable frequency determined by the number of nodes of data. If you specify a frequency cut-off that doesn't fall on a boundary then you have to agree how to handle it: eg. apportion it between the pair of neighbouring attainable discrete frequencies, or apportion it all to the single nearest attainable frequency.&lt;/p&gt;</description>
      <guid>97071</guid>
      <pubDate>Tue, 21 Sep 2010 05:17:14 Z</pubDate>
      <itunes:author>pagan</itunes:author>
      <author>pagan</author>
    </item>
    <item>
      <title>window function correction, with padding</title>
      <link>http://www.mapleprimes.com/questions/97048-Can-I-Filter-A-Signal-With-Maple-14?ref=Feed:MaplePrimes:Can I filter a signal with Maple 14:Comments#answer97141</link>
      <itunes:summary>&lt;p&gt;&lt;a href="http://www.mapleprimes.com/questions/97048-Can-I-Filter-A-Signal-With-Maple-14#comment97125"&gt;@brian abraham&lt;/a&gt; One of the common goals of using a Window Function is to correct the oscillation phenomenon near the end-points. Since there is (by defn) no original data beyond what is supplied then the FFT will usually not be able to accomodate such a discontinuity. The FFT process relies on "knowing" that the data extends in some (overlay of) a periodic way. A hard nonzero boundary for the data thus induces an effect similar to the Gibbs phenonmenon.&lt;/p&gt;
&lt;p&gt;A key purpose of using a Window Function to scale the data so that it tends strongly to zero near the original data point boundary is to allow the data to be be safely padded further on with zero values. Since the scaled data is converging to zero, then padding with zero (or near zero) values will make the FFT process see a natural continuation. This makes the FFT and Inverse FFT behave much better at the "old" boundary, since they now act on a wider data set. And it's not just that the "old" boundaries are well inside the extended data set. The fact that the data is all nice is also key. The augmented data can easily be made to appear to extend the old curve that is tending to zero near the old boundary. The augmented data doesn't even have to oscillate in order to effectively do its job. There is no significant distinction from the augmented data and the (now tiny) oscillation in the scaled old data near the old boundary. The augmented data is effectively periodic (though literally it is not) because it so close to zero and its would-be oscillation is miniscule.&lt;/p&gt;
&lt;p&gt;I will try to demonstrate using the previously posted example. I've added yet another, third, data set. It is based on the Windowed data set, but padded by ten percent more points. It's not padded with zero. It's padded with a continuation of the scaled curve. I've added two more plots, to show close-up where the padded data meets the scaled original data.&lt;/p&gt;
&lt;p&gt;&lt;br&gt; &lt;br&gt;&lt;/p&gt;
&lt;form&gt; &lt;/form&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;table width="576" align="center"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;table style="margin-left: 0px; margin-right: 0px;"&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt; &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt;restart:&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table style="margin-left: 0px; margin-right: 0px;"&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt; &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table style="margin-left: 0px; margin-right: 0px;"&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt; &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt;freqpass:=proc(M::Vector,rng::range(nonnegint))&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table style="margin-left: 0px; margin-right: 0px;"&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt; &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt;local Mt, Xlow, Xhi;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table style="margin-left: 0px; margin-right: 0px;"&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt; &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt;&amp;nbsp;&amp;nbsp;Xlow,Xhi := op(rng);&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table style="margin-left: 0px; margin-right: 0px;"&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt; &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt;&amp;nbsp;&amp;nbsp;Mt := DiscreteTransforms:-FourierTransform(M):&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table style="margin-left: 0px; margin-right: 0px;"&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt; &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if Xlow&amp;gt;1 then ArrayTools:-Fill(Xlow-1,0.0,Mt,0,1); end if;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table style="margin-left: 0px; margin-right: 0px;"&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt; &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if Xhi&amp;lt;op(1,Mt) then ArrayTools:-Fill(op(1,Mt)-Xhi-1,0.0,Mt,Xhi+1,1); end if;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table style="margin-left: 0px; margin-right: 0px;"&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt; &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Mt[1]:=Mt[1]/2;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table style="margin-left: 0px; margin-right: 0px;"&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt; &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2*map(Re,DiscreteTransforms:-InverseFourierTransform(Mt));&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table style="margin-left: 0px; margin-right: 0px;"&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt; &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt;end proc:&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table style="margin-left: 0px; margin-right: 0px;"&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt; &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table style="margin-left: 0px; margin-right: 0px;"&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt; &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt;f := x -&amp;gt; 5*x + sin(128*x) - sin(130*x) + sin(133*x) - sin(137*x);&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;img style="vertical-align: -6;" src="/view.aspx?sf=97141/310105/557e2d48579714f3f4575c8cedf851a4.gif" alt="" width="405" height="23"&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="color: #000000; font-family: Times, serif; font-weight: bold; font-style: normal;" align="right"&gt;(1)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table style="margin-left: 0px; margin-right: 0px;"&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt; &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt;a,b,n := -Pi,Pi,1000:&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table style="margin-left: 0px; margin-right: 0px;"&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt; &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table style="margin-left: 0px; margin-right: 0px;"&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt; &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt;M := Vector(n,(i)-&amp;gt;(evalhf@f)(a+i*(b-a)/n),datatype=float[8]):&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table style="margin-left: 0px; margin-right: 0px;"&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt; &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt;Mg := Vector(n,(i)-&amp;gt;evalhf(f(a+i*(b-a)/n)*exp(-1/2*(a+i*(b-a)/n)^2)),datatype=float[8]):&lt;br&gt; &lt;/span&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt;numpad := trunc(n*0.10):&lt;br&gt; &lt;/span&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt;Mgpadded := Vector(n+2*numpad,datatype=float[8]):&lt;br&gt; &lt;/span&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt;Mgpadded[numpad+1..numpad+1+n]:=Mg:&lt;br&gt; &lt;/span&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt;Mgpadded[1..numpad] := Vector(numpad,(i)-&amp;gt;M[1]&lt;br&gt; &lt;/span&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*evalhf(exp(-1/2*(a+(-numpad+i)*(b-a)/n)^2)),datatype=float[8]):&lt;br&gt; &lt;/span&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt;Mgpadded[n+numpad+1..n+2*numpad] := Vector(numpad,(i)-&amp;gt;M[n]&lt;br&gt; &lt;/span&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*evalhf(exp(-1/2*(a+(n+i)*(b-a)/n)^2)),datatype=float[8]):&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table style="margin-left: 0px; margin-right: 0px;"&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt; &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table style="margin-left: 0px; margin-right: 0px;"&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt; &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt;plots:-pointplot([seq([k,M[k]],k=1..op(1,M))],style=line,view=[0..1000,-20..20]);&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table style="margin-left: 0px; margin-right: 0px;"&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt; &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt;plots:-pointplot([seq([k,Mg[k]],k=1..op(1,Mg))],style=line);&lt;br&gt; &lt;/span&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt;plots:-pointplot([seq([k,Mgpadded[k]],k=1..op(1,Mgpadded))],style=line);&lt;br&gt; &lt;/span&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt;plots:-pointplot([seq([k,Mgpadded[k]],k=1..numpad+100)],style=line);&lt;br&gt; &lt;/span&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt;plots:-pointplot([seq([k,Mgpadded[k]],k=n+numpad+1-100..n+2*numpad)],style=line);&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;a href="http://www.maplesoft.com/support/faqs/MapleNet/redirect.aspx?param=plot_java_14206"&gt;&lt;img style="border: none;" src="/view.aspx?sf=97141/310105/48e99f1ddc29397c3f260c9aba40cde8.gif" alt="" width="400" height="400" align="middle"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="color: #000000; font-family: Times, serif; font-weight: bold; font-style: normal;" align="right"&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;a href="http://www.maplesoft.com/support/faqs/MapleNet/redirect.aspx?param=plot_java_14206"&gt;&lt;img style="border: none;" src="/view.aspx?sf=97141/310105/02f83c575f335871a79682dc3859a0e8.gif" alt="" width="400" height="400" align="middle"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="color: #000000; font-family: Times, serif; font-weight: bold; font-style: normal;" align="right"&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;a href="http://www.maplesoft.com/support/faqs/MapleNet/redirect.aspx?param=plot_java_14206"&gt;&lt;img style="border: none;" src="/view.aspx?sf=97141/310105/cae53f074daec7a5c6c888a25d3e889d.gif" alt="" width="400" height="400" align="middle"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="color: #000000; font-family: Times, serif; font-weight: bold; font-style: normal;" align="right"&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;a href="http://www.maplesoft.com/support/faqs/MapleNet/redirect.aspx?param=plot_java_14206"&gt;&lt;img style="border: none;" src="/view.aspx?sf=97141/310105/362f32df7943308ce3e49466e2d87ff9.gif" alt="" width="400" height="400" align="middle"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="color: #000000; font-family: Times, serif; font-weight: bold; font-style: normal;" align="right"&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;a href="http://www.maplesoft.com/support/faqs/MapleNet/redirect.aspx?param=plot_java_14206"&gt;&lt;img style="border: none;" src="/view.aspx?sf=97141/310105/675dfd181a170c3411394713f3efc95e.gif" alt="" width="400" height="400" align="middle"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="color: #000000; font-family: Times, serif; font-weight: bold; font-style: normal;" align="right"&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table style="margin-left: 0px; margin-right: 0px;"&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt; &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt;filtered := freqpass(M,1..30):&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table style="margin-left: 0px; margin-right: 0px;"&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt; &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt;filteredg := freqpass(Mg,1..30):&lt;br&gt; &lt;/span&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt;filteredgpadded := freqpass(Mgpadded,1..30)[numpad+1..numpad+1+n]:&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table style="margin-left: 0px; margin-right: 0px;"&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt; &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt;plots:-pointplot([seq([k,filtered[k]],k=1..op(1,filtered))],style=line);&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table style="margin-left: 0px; margin-right: 0px;"&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt; &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt;plots:-pointplot([seq([k,exp(1/2*(a+k*(b-a)/n)^2)*filteredg[k]],&lt;br&gt; &lt;/span&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;k=1..op(1,filteredg))],style=line);&lt;br&gt; &lt;/span&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt;plots:-pointplot([seq([k,exp(1/2*(a+k*(b-a)/n)^2)*filteredgpadded[k]],&lt;br&gt; &lt;/span&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;k=1..op(1,filteredgpadded))],style=line);&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;a href="http://www.maplesoft.com/support/faqs/MapleNet/redirect.aspx?param=plot_java_14206"&gt;&lt;img style="border: none;" src="/view.aspx?sf=97141/310105/3f1d414de7df8cb0313277d61636385c.gif" alt="" width="400" height="400" align="middle"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="color: #000000; font-family: Times, serif; font-weight: bold; font-style: normal;" align="right"&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;a href="http://www.maplesoft.com/support/faqs/MapleNet/redirect.aspx?param=plot_java_14206"&gt;&lt;img style="border: none;" src="/view.aspx?sf=97141/310105/cf148e68805da6d365b77b412af35425.gif" alt="" width="400" height="400" align="middle"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="color: #000000; font-family: Times, serif; font-weight: bold; font-style: normal;" align="right"&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;a href="http://www.maplesoft.com/support/faqs/MapleNet/redirect.aspx?param=plot_java_14206"&gt;&lt;img style="border: none;" src="/view.aspx?sf=97141/310105/c4875c8b015fbc2c4f0cfbb32ddc1467.gif" alt="" width="400" height="400" align="middle"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="color: #000000; font-family: Times, serif; font-weight: bold; font-style: normal;" align="right"&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table style="margin-left: 0px; margin-right: 0px;"&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt; &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;form&gt; &lt;input name="sequence" type="hidden" value="1"&gt;&lt;/form&gt;
&lt;p&gt;&lt;br&gt; &lt;br&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="/view.aspx?sf=97141/310105/window_correction.mw"&gt;Download window_correction.mw&lt;/a&gt;&lt;/p&gt;</itunes:summary>
      <description>&lt;p&gt;&lt;a href="http://www.mapleprimes.com/questions/97048-Can-I-Filter-A-Signal-With-Maple-14#comment97125"&gt;@brian abraham&lt;/a&gt; One of the common goals of using a Window Function is to correct the oscillation phenomenon near the end-points. Since there is (by defn) no original data beyond what is supplied then the FFT will usually not be able to accomodate such a discontinuity. The FFT process relies on "knowing" that the data extends in some (overlay of) a periodic way. A hard nonzero boundary for the data thus induces an effect similar to the Gibbs phenonmenon.&lt;/p&gt;
&lt;p&gt;A key purpose of using a Window Function to scale the data so that it tends strongly to zero near the original data point boundary is to allow the data to be be safely padded further on with zero values. Since the scaled data is converging to zero, then padding with zero (or near zero) values will make the FFT process see a natural continuation. This makes the FFT and Inverse FFT behave much better at the "old" boundary, since they now act on a wider data set. And it's not just that the "old" boundaries are well inside the extended data set. The fact that the data is all nice is also key. The augmented data can easily be made to appear to extend the old curve that is tending to zero near the old boundary. The augmented data doesn't even have to oscillate in order to effectively do its job. There is no significant distinction from the augmented data and the (now tiny) oscillation in the scaled old data near the old boundary. The augmented data is effectively periodic (though literally it is not) because it so close to zero and its would-be oscillation is miniscule.&lt;/p&gt;
&lt;p&gt;I will try to demonstrate using the previously posted example. I've added yet another, third, data set. It is based on the Windowed data set, but padded by ten percent more points. It's not padded with zero. It's padded with a continuation of the scaled curve. I've added two more plots, to show close-up where the padded data meets the scaled original data.&lt;/p&gt;
&lt;p&gt;&lt;br&gt; &lt;br&gt;&lt;/p&gt;
&lt;form&gt; &lt;/form&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;table width="576" align="center"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;table style="margin-left: 0px; margin-right: 0px;"&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt; &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt;restart:&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table style="margin-left: 0px; margin-right: 0px;"&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt; &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table style="margin-left: 0px; margin-right: 0px;"&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt; &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt;freqpass:=proc(M::Vector,rng::range(nonnegint))&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table style="margin-left: 0px; margin-right: 0px;"&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt; &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt;local Mt, Xlow, Xhi;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table style="margin-left: 0px; margin-right: 0px;"&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt; &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt;&amp;nbsp;&amp;nbsp;Xlow,Xhi := op(rng);&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table style="margin-left: 0px; margin-right: 0px;"&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt; &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt;&amp;nbsp;&amp;nbsp;Mt := DiscreteTransforms:-FourierTransform(M):&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table style="margin-left: 0px; margin-right: 0px;"&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt; &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if Xlow&amp;gt;1 then ArrayTools:-Fill(Xlow-1,0.0,Mt,0,1); end if;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table style="margin-left: 0px; margin-right: 0px;"&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt; &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if Xhi&amp;lt;op(1,Mt) then ArrayTools:-Fill(op(1,Mt)-Xhi-1,0.0,Mt,Xhi+1,1); end if;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table style="margin-left: 0px; margin-right: 0px;"&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt; &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Mt[1]:=Mt[1]/2;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table style="margin-left: 0px; margin-right: 0px;"&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt; &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2*map(Re,DiscreteTransforms:-InverseFourierTransform(Mt));&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table style="margin-left: 0px; margin-right: 0px;"&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt; &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt;end proc:&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table style="margin-left: 0px; margin-right: 0px;"&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt; &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table style="margin-left: 0px; margin-right: 0px;"&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt; &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt;f := x -&amp;gt; 5*x + sin(128*x) - sin(130*x) + sin(133*x) - sin(137*x);&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;img style="vertical-align: -6;" src="/view.aspx?sf=97141/310105/557e2d48579714f3f4575c8cedf851a4.gif" alt="" width="405" height="23"&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="color: #000000; font-family: Times, serif; font-weight: bold; font-style: normal;" align="right"&gt;(1)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table style="margin-left: 0px; margin-right: 0px;"&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt; &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt;a,b,n := -Pi,Pi,1000:&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table style="margin-left: 0px; margin-right: 0px;"&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt; &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table style="margin-left: 0px; margin-right: 0px;"&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt; &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt;M := Vector(n,(i)-&amp;gt;(evalhf@f)(a+i*(b-a)/n),datatype=float[8]):&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table style="margin-left: 0px; margin-right: 0px;"&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt; &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt;Mg := Vector(n,(i)-&amp;gt;evalhf(f(a+i*(b-a)/n)*exp(-1/2*(a+i*(b-a)/n)^2)),datatype=float[8]):&lt;br&gt; &lt;/span&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt;numpad := trunc(n*0.10):&lt;br&gt; &lt;/span&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt;Mgpadded := Vector(n+2*numpad,datatype=float[8]):&lt;br&gt; &lt;/span&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt;Mgpadded[numpad+1..numpad+1+n]:=Mg:&lt;br&gt; &lt;/span&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt;Mgpadded[1..numpad] := Vector(numpad,(i)-&amp;gt;M[1]&lt;br&gt; &lt;/span&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*evalhf(exp(-1/2*(a+(-numpad+i)*(b-a)/n)^2)),datatype=float[8]):&lt;br&gt; &lt;/span&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt;Mgpadded[n+numpad+1..n+2*numpad] := Vector(numpad,(i)-&amp;gt;M[n]&lt;br&gt; &lt;/span&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*evalhf(exp(-1/2*(a+(n+i)*(b-a)/n)^2)),datatype=float[8]):&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table style="margin-left: 0px; margin-right: 0px;"&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt; &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table style="margin-left: 0px; margin-right: 0px;"&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt; &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt;plots:-pointplot([seq([k,M[k]],k=1..op(1,M))],style=line,view=[0..1000,-20..20]);&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table style="margin-left: 0px; margin-right: 0px;"&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt; &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt;plots:-pointplot([seq([k,Mg[k]],k=1..op(1,Mg))],style=line);&lt;br&gt; &lt;/span&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt;plots:-pointplot([seq([k,Mgpadded[k]],k=1..op(1,Mgpadded))],style=line);&lt;br&gt; &lt;/span&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt;plots:-pointplot([seq([k,Mgpadded[k]],k=1..numpad+100)],style=line);&lt;br&gt; &lt;/span&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt;plots:-pointplot([seq([k,Mgpadded[k]],k=n+numpad+1-100..n+2*numpad)],style=line);&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;a href="http://www.maplesoft.com/support/faqs/MapleNet/redirect.aspx?param=plot_java_14206"&gt;&lt;img style="border: none;" src="/view.aspx?sf=97141/310105/48e99f1ddc29397c3f260c9aba40cde8.gif" alt="" width="400" height="400" align="middle"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="color: #000000; font-family: Times, serif; font-weight: bold; font-style: normal;" align="right"&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;a href="http://www.maplesoft.com/support/faqs/MapleNet/redirect.aspx?param=plot_java_14206"&gt;&lt;img style="border: none;" src="/view.aspx?sf=97141/310105/02f83c575f335871a79682dc3859a0e8.gif" alt="" width="400" height="400" align="middle"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="color: #000000; font-family: Times, serif; font-weight: bold; font-style: normal;" align="right"&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;a href="http://www.maplesoft.com/support/faqs/MapleNet/redirect.aspx?param=plot_java_14206"&gt;&lt;img style="border: none;" src="/view.aspx?sf=97141/310105/cae53f074daec7a5c6c888a25d3e889d.gif" alt="" width="400" height="400" align="middle"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="color: #000000; font-family: Times, serif; font-weight: bold; font-style: normal;" align="right"&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;a href="http://www.maplesoft.com/support/faqs/MapleNet/redirect.aspx?param=plot_java_14206"&gt;&lt;img style="border: none;" src="/view.aspx?sf=97141/310105/362f32df7943308ce3e49466e2d87ff9.gif" alt="" width="400" height="400" align="middle"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="color: #000000; font-family: Times, serif; font-weight: bold; font-style: normal;" align="right"&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;a href="http://www.maplesoft.com/support/faqs/MapleNet/redirect.aspx?param=plot_java_14206"&gt;&lt;img style="border: none;" src="/view.aspx?sf=97141/310105/675dfd181a170c3411394713f3efc95e.gif" alt="" width="400" height="400" align="middle"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="color: #000000; font-family: Times, serif; font-weight: bold; font-style: normal;" align="right"&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table style="margin-left: 0px; margin-right: 0px;"&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt; &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt;filtered := freqpass(M,1..30):&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table style="margin-left: 0px; margin-right: 0px;"&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt; &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt;filteredg := freqpass(Mg,1..30):&lt;br&gt; &lt;/span&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt;filteredgpadded := freqpass(Mgpadded,1..30)[numpad+1..numpad+1+n]:&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table style="margin-left: 0px; margin-right: 0px;"&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt; &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt;plots:-pointplot([seq([k,filtered[k]],k=1..op(1,filtered))],style=line);&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table style="margin-left: 0px; margin-right: 0px;"&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt; &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt;plots:-pointplot([seq([k,exp(1/2*(a+k*(b-a)/n)^2)*filteredg[k]],&lt;br&gt; &lt;/span&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;k=1..op(1,filteredg))],style=line);&lt;br&gt; &lt;/span&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt;plots:-pointplot([seq([k,exp(1/2*(a+k*(b-a)/n)^2)*filteredgpadded[k]],&lt;br&gt; &lt;/span&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;k=1..op(1,filteredgpadded))],style=line);&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;a href="http://www.maplesoft.com/support/faqs/MapleNet/redirect.aspx?param=plot_java_14206"&gt;&lt;img style="border: none;" src="/view.aspx?sf=97141/310105/3f1d414de7df8cb0313277d61636385c.gif" alt="" width="400" height="400" align="middle"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="color: #000000; font-family: Times, serif; font-weight: bold; font-style: normal;" align="right"&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;a href="http://www.maplesoft.com/support/faqs/MapleNet/redirect.aspx?param=plot_java_14206"&gt;&lt;img style="border: none;" src="/view.aspx?sf=97141/310105/cf148e68805da6d365b77b412af35425.gif" alt="" width="400" height="400" align="middle"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="color: #000000; font-family: Times, serif; font-weight: bold; font-style: normal;" align="right"&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;a href="http://www.maplesoft.com/support/faqs/MapleNet/redirect.aspx?param=plot_java_14206"&gt;&lt;img style="border: none;" src="/view.aspx?sf=97141/310105/c4875c8b015fbc2c4f0cfbb32ddc1467.gif" alt="" width="400" height="400" align="middle"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="color: #000000; font-family: Times, serif; font-weight: bold; font-style: normal;" align="right"&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table style="margin-left: 0px; margin-right: 0px;"&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt; &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;form&gt; &lt;input name="sequence" type="hidden" value="1"&gt;&lt;/form&gt;
&lt;p&gt;&lt;br&gt; &lt;br&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="/view.aspx?sf=97141/310105/window_correction.mw"&gt;Download window_correction.mw&lt;/a&gt;&lt;/p&gt;</description>
      <guid>97141</guid>
      <pubDate>Thu, 23 Sep 2010 05:16:59 Z</pubDate>
      <itunes:author>acer</itunes:author>
      <author>acer</author>
    </item>
    <item>
      <title>start and end of filtered signal deviates from unfiltered signal: is this related to the unit impulse</title>
      <link>http://www.mapleprimes.com/questions/97048-Can-I-Filter-A-Signal-With-Maple-14?ref=Feed:MaplePrimes:Can I filter a signal with Maple 14:Comments#comment97076</link>
      <itunes:summary>&lt;p&gt;Thank you very much.&lt;br&gt;&lt;br&gt;I can understand why &amp;lsquo;zeroing the result of the FFT&amp;rsquo; produces the result: I think that is the first time in signal-processing that the how-to seems so straight forward.&lt;/p&gt;
&lt;p&gt;I have your code up and running with my data (collected at 50 Hz) and it works with range 0..5 and so on.&lt;/p&gt;
&lt;p&gt;If I might take advantage of your expertise with a question:&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;The lower I set the second frequency (high pass?) the more the filtered signal deviates from the&amp;nbsp;unfiltered signal at the signal start and end.&lt;/p&gt;
&lt;p&gt;Am I correct in thinking that this is related to the fact that the signal I pass to the DFT is actually the combination of a unit impulse for the duration of the signal and the signal itself?&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;If I am correct why does the filtered signal start and end deviation from the unfiltered signal decrease as higher frequencies are introduced?&lt;/p&gt;
&lt;p&gt;Many thanks once again. &amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/p&gt;</itunes:summary>
      <description>&lt;p&gt;Thank you very much.&lt;br&gt;&lt;br&gt;I can understand why &amp;lsquo;zeroing the result of the FFT&amp;rsquo; produces the result: I think that is the first time in signal-processing that the how-to seems so straight forward.&lt;/p&gt;
&lt;p&gt;I have your code up and running with my data (collected at 50 Hz) and it works with range 0..5 and so on.&lt;/p&gt;
&lt;p&gt;If I might take advantage of your expertise with a question:&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;The lower I set the second frequency (high pass?) the more the filtered signal deviates from the&amp;nbsp;unfiltered signal at the signal start and end.&lt;/p&gt;
&lt;p&gt;Am I correct in thinking that this is related to the fact that the signal I pass to the DFT is actually the combination of a unit impulse for the duration of the signal and the signal itself?&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;If I am correct why does the filtered signal start and end deviation from the unfiltered signal decrease as higher frequencies are introduced?&lt;/p&gt;
&lt;p&gt;Many thanks once again. &amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/p&gt;</description>
      <guid>97076</guid>
      <pubDate>Tue, 21 Sep 2010 15:15:48 Z</pubDate>
      <itunes:author>brian abraham</itunes:author>
      <author>brian abraham</author>
    </item>
    <item>
      <title>good questions</title>
      <link>http://www.mapleprimes.com/questions/97048-Can-I-Filter-A-Signal-With-Maple-14?ref=Feed:MaplePrimes:Can I filter a signal with Maple 14:Comments#comment97091</link>
      <itunes:summary>&lt;p&gt;&lt;a href="http://www.mapleprimes.com/questions/97048-Can-I-Filter-A-Signal-With-Maple-14#comment97076"&gt;@brian abraham&lt;/a&gt; These are good questions.&lt;/p&gt;
&lt;p&gt;I suggest this &lt;a href="http://www.bores.com/courses/advanced/windows/files/windows.pdf"&gt;link&lt;/a&gt; as reading material. Since I take all the data as given (ie, not a stream of data) then it can be considered as one big window in that context.&lt;/p&gt;
&lt;p&gt;Given the earlier code, compare the following results. I've added a multiplicative term to the signal, so that it approaches zero at the end points. And then its multiplicative inverse is used to scale the result back again, following the inverse FF Transformation. Hopefully you can see some corrective effect this attempt has. (There is still some end-point effect, but remember that some amount of the actual signal is lost due to completely zeroing the high frequencies alongside spectral leakage. The topic of filtering noise while retaining signal gets advanced, as the link should explain. Also, I use a weighting only sketchily similar to that of a &lt;a href="http://en.wikipedia.org/wiki/Window_function#Gaussian_windows"&gt;Gaussian window&lt;/a&gt; -- and I didn't give it a lot of thought. For your signal may wish to experiment with some other Window Function, eg. exp(-abs(a+i*(b-a)/n)) or something better entirely.)&lt;/p&gt;
&lt;table width="576" align="center"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;table style="margin-left: 0px; margin-right: 0px;"&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt; &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt;restart:&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table style="margin-left: 0px; margin-right: 0px;"&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt; &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table style="margin-left: 0px; margin-right: 0px;"&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt; &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt;freqpass:=proc(M::Vector,rng::range(nonnegint))&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table style="margin-left: 0px; margin-right: 0px;"&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt; &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt;local Mt, Xlow, Xhi;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table style="margin-left: 0px; margin-right: 0px;"&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt; &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt;&amp;nbsp;&amp;nbsp;Xlow,Xhi := op(rng);&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table style="margin-left: 0px; margin-right: 0px;"&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt; &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt;&amp;nbsp;&amp;nbsp;Mt := DiscreteTransforms:-FourierTransform(M):&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table style="margin-left: 0px; margin-right: 0px;"&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt; &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if Xlow&amp;gt;1 then ArrayTools:-Fill(Xlow-1,0.0,Mt,0,1); end if;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table style="margin-left: 0px; margin-right: 0px;"&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt; &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if Xhi&amp;lt;op(1,Mt) then ArrayTools:-Fill(op(1,Mt)-Xhi-1,0.0,Mt,Xhi+1,1); end if;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table style="margin-left: 0px; margin-right: 0px;"&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt; &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Mt[1]:=Mt[1]/2;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table style="margin-left: 0px; margin-right: 0px;"&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt; &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2*map(Re,DiscreteTransforms:-InverseFourierTransform(Mt));&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table style="margin-left: 0px; margin-right: 0px;"&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt; &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt;end proc:&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table style="margin-left: 0px; margin-right: 0px;"&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt; &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table style="margin-left: 0px; margin-right: 0px;"&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt; &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt;f := x -&amp;gt; 5*x + sin(128*x) - sin(130*x) + sin(133*x) - sin(137*x);&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;img style="vertical-align: -6;" src="/view.aspx?sf=97091/310059/117d01754d869b6e1eb21c6b01b74e0c.gif" alt="" width="405" height="23"&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="color: #000000; font-family: Times, serif; font-weight: bold; font-style: normal;" align="right"&gt;(1)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table style="margin-left: 0px; margin-right: 0px;"&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt; &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt;a,b,n := -Pi,Pi,1000:&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table style="margin-left: 0px; margin-right: 0px;"&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt; &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table style="margin-left: 0px; margin-right: 0px;"&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt; &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt;M := Vector(n,(i)-&amp;gt;(evalhf@f)(a+i*(b-a)/n),datatype=float[8]):&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table style="margin-left: 0px; margin-right: 0px;"&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt; &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt;Mg := Vector(n,(i)-&amp;gt;evalhf(f(a+i*(b-a)/n)*exp(-1/2*(a+i*(b-a)/n)^2)),datatype=float[8]):&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table style="margin-left: 0px; margin-right: 0px;"&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt; &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table style="margin-left: 0px; margin-right: 0px;"&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt; &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt;plots:-pointplot([seq([k,M[k]],k=1..op(1,M))],style=line,view=[0..1000,-20..20]);&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table style="margin-left: 0px; margin-right: 0px;"&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt; &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt;plots:-pointplot([seq([k,Mg[k]],k=1..op(1,Mg))],style=line);&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;a href="http://www.maplesoft.com/support/faqs/MapleNet/redirect.aspx?param=plot_java_14206"&gt;&lt;img style="border: none;" src="/view.aspx?sf=97091/310059/6fe8ef0a42c485e01e13533ba4760088.gif" alt="" width="400" height="400" align="middle"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="color: #000000; font-family: Times, serif; font-weight: bold; font-style: normal;" align="right"&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;a href="http://www.maplesoft.com/support/faqs/MapleNet/redirect.aspx?param=plot_java_14206"&gt;&lt;img style="border: none;" src="/view.aspx?sf=97091/310059/74e982bc6c0b98bdb4b83eab1dd036c7.gif" alt="" width="400" height="400" align="middle"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="color: #000000; font-family: Times, serif; font-weight: bold; font-style: normal;" align="right"&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table style="margin-left: 0px; margin-right: 0px;"&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt; &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt;filtered := freqpass(M,1..30):&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table style="margin-left: 0px; margin-right: 0px;"&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt; &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt;filteredg := freqpass(Mg,1..30):&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table style="margin-left: 0px; margin-right: 0px;"&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt; &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt;plots:-pointplot([seq([k,filtered[k]],k=1..op(1,filtered))],style=line);&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table style="margin-left: 0px; margin-right: 0px;"&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt; &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt;plots:-pointplot([seq([k,exp(1/2*(a+k*(b-a)/n)^2)*filteredg[k]],k=1..op(1,filteredg))],&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table style="margin-left: 0px; margin-right: 0px;"&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt; &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;style=line);&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;a href="http://www.maplesoft.com/support/faqs/MapleNet/redirect.aspx?param=plot_java_14206"&gt;&lt;img style="border: none;" src="/view.aspx?sf=97091/310059/c199014c70805a73a93b8bb2258eb985.gif" alt="" width="400" height="400" align="middle"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="color: #000000; font-family: Times, serif; font-weight: bold; font-style: normal;" align="right"&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;a href="http://www.maplesoft.com/support/faqs/MapleNet/redirect.aspx?param=plot_java_14206"&gt;&lt;img style="border: none;" src="/view.aspx?sf=97091/310059/d5328e7023afc18aec9027471bc32501.gif" alt="" width="400" height="400" align="middle"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="color: #000000; font-family: Times, serif; font-weight: bold; font-style: normal;" align="right"&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table style="margin-left: 0px; margin-right: 0px;"&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt; &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt;filtered := freqpass(M,1..90):&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table style="margin-left: 0px; margin-right: 0px;"&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt; &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt;filteredg := freqpass(Mg,1..90):&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table style="margin-left: 0px; margin-right: 0px;"&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt; &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt;plots:-pointplot([seq([k,filtered[k]],k=1..op(1,filtered))],style=line);&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table style="margin-left: 0px; margin-right: 0px;"&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt; &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt;plots:-pointplot([seq([k,exp(1/2*(a+k*(b-a)/n)^2)*filteredg[k]],k=1..op(1,filteredg))],&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table style="margin-left: 0px; margin-right: 0px;"&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt; &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;style=line);&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table style="margin-left: 0px; margin-right: 0px;"&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt; &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;a href="http://www.maplesoft.com/support/faqs/MapleNet/redirect.aspx?param=plot_java_14206"&gt;&lt;img style="border: none;" src="/view.aspx?sf=97091/310059/6cc9036d26d50200ff018db4caa207d1.gif" alt="" width="400" height="400" align="middle"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="color: #000000; font-family: Times, serif; font-weight: bold; font-style: normal;" align="right"&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;a href="http://www.maplesoft.com/support/faqs/MapleNet/redirect.aspx?param=plot_java_14206"&gt;&lt;img style="border: none;" src="/view.aspx?sf=97091/310059/cb6972dc6143b31d303675b6f6f9d3ac.gif" alt="" width="400" height="400" align="middle"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="color: #000000; font-family: Times, serif; font-weight: bold; font-style: normal;" align="right"&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;a href="/view.aspx?sf=97091/310059/fftfun03.mw"&gt;Download fftfun03.mw&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;[I made a revision to this comment. It had an earlier, inferior code variant.]&lt;/p&gt;</itunes:summary>
      <description>&lt;p&gt;&lt;a href="http://www.mapleprimes.com/questions/97048-Can-I-Filter-A-Signal-With-Maple-14#comment97076"&gt;@brian abraham&lt;/a&gt; These are good questions.&lt;/p&gt;
&lt;p&gt;I suggest this &lt;a href="http://www.bores.com/courses/advanced/windows/files/windows.pdf"&gt;link&lt;/a&gt; as reading material. Since I take all the data as given (ie, not a stream of data) then it can be considered as one big window in that context.&lt;/p&gt;
&lt;p&gt;Given the earlier code, compare the following results. I've added a multiplicative term to the signal, so that it approaches zero at the end points. And then its multiplicative inverse is used to scale the result back again, following the inverse FF Transformation. Hopefully you can see some corrective effect this attempt has. (There is still some end-point effect, but remember that some amount of the actual signal is lost due to completely zeroing the high frequencies alongside spectral leakage. The topic of filtering noise while retaining signal gets advanced, as the link should explain. Also, I use a weighting only sketchily similar to that of a &lt;a href="http://en.wikipedia.org/wiki/Window_function#Gaussian_windows"&gt;Gaussian window&lt;/a&gt; -- and I didn't give it a lot of thought. For your signal may wish to experiment with some other Window Function, eg. exp(-abs(a+i*(b-a)/n)) or something better entirely.)&lt;/p&gt;
&lt;table width="576" align="center"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;table style="margin-left: 0px; margin-right: 0px;"&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt; &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt;restart:&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table style="margin-left: 0px; margin-right: 0px;"&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt; &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table style="margin-left: 0px; margin-right: 0px;"&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt; &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt;freqpass:=proc(M::Vector,rng::range(nonnegint))&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table style="margin-left: 0px; margin-right: 0px;"&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt; &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt;local Mt, Xlow, Xhi;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table style="margin-left: 0px; margin-right: 0px;"&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt; &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt;&amp;nbsp;&amp;nbsp;Xlow,Xhi := op(rng);&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table style="margin-left: 0px; margin-right: 0px;"&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt; &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt;&amp;nbsp;&amp;nbsp;Mt := DiscreteTransforms:-FourierTransform(M):&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table style="margin-left: 0px; margin-right: 0px;"&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt; &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if Xlow&amp;gt;1 then ArrayTools:-Fill(Xlow-1,0.0,Mt,0,1); end if;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table style="margin-left: 0px; margin-right: 0px;"&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt; &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if Xhi&amp;lt;op(1,Mt) then ArrayTools:-Fill(op(1,Mt)-Xhi-1,0.0,Mt,Xhi+1,1); end if;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table style="margin-left: 0px; margin-right: 0px;"&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt; &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Mt[1]:=Mt[1]/2;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table style="margin-left: 0px; margin-right: 0px;"&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt; &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2*map(Re,DiscreteTransforms:-InverseFourierTransform(Mt));&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table style="margin-left: 0px; margin-right: 0px;"&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt; &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt;end proc:&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table style="margin-left: 0px; margin-right: 0px;"&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt; &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table style="margin-left: 0px; margin-right: 0px;"&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt; &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt;f := x -&amp;gt; 5*x + sin(128*x) - sin(130*x) + sin(133*x) - sin(137*x);&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;img style="vertical-align: -6;" src="/view.aspx?sf=97091/310059/117d01754d869b6e1eb21c6b01b74e0c.gif" alt="" width="405" height="23"&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="color: #000000; font-family: Times, serif; font-weight: bold; font-style: normal;" align="right"&gt;(1)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table style="margin-left: 0px; margin-right: 0px;"&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt; &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt;a,b,n := -Pi,Pi,1000:&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table style="margin-left: 0px; margin-right: 0px;"&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt; &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table style="margin-left: 0px; margin-right: 0px;"&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt; &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt;M := Vector(n,(i)-&amp;gt;(evalhf@f)(a+i*(b-a)/n),datatype=float[8]):&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table style="margin-left: 0px; margin-right: 0px;"&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt; &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt;Mg := Vector(n,(i)-&amp;gt;evalhf(f(a+i*(b-a)/n)*exp(-1/2*(a+i*(b-a)/n)^2)),datatype=float[8]):&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table style="margin-left: 0px; margin-right: 0px;"&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt; &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table style="margin-left: 0px; margin-right: 0px;"&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt; &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt;plots:-pointplot([seq([k,M[k]],k=1..op(1,M))],style=line,view=[0..1000,-20..20]);&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table style="margin-left: 0px; margin-right: 0px;"&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt; &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt;plots:-pointplot([seq([k,Mg[k]],k=1..op(1,Mg))],style=line);&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;a href="http://www.maplesoft.com/support/faqs/MapleNet/redirect.aspx?param=plot_java_14206"&gt;&lt;img style="border: none;" src="/view.aspx?sf=97091/310059/6fe8ef0a42c485e01e13533ba4760088.gif" alt="" width="400" height="400" align="middle"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="color: #000000; font-family: Times, serif; font-weight: bold; font-style: normal;" align="right"&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;a href="http://www.maplesoft.com/support/faqs/MapleNet/redirect.aspx?param=plot_java_14206"&gt;&lt;img style="border: none;" src="/view.aspx?sf=97091/310059/74e982bc6c0b98bdb4b83eab1dd036c7.gif" alt="" width="400" height="400" align="middle"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="color: #000000; font-family: Times, serif; font-weight: bold; font-style: normal;" align="right"&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table style="margin-left: 0px; margin-right: 0px;"&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt; &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt;filtered := freqpass(M,1..30):&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table style="margin-left: 0px; margin-right: 0px;"&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt; &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt;filteredg := freqpass(Mg,1..30):&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table style="margin-left: 0px; margin-right: 0px;"&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt; &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt;plots:-pointplot([seq([k,filtered[k]],k=1..op(1,filtered))],style=line);&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table style="margin-left: 0px; margin-right: 0px;"&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt; &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt;plots:-pointplot([seq([k,exp(1/2*(a+k*(b-a)/n)^2)*filteredg[k]],k=1..op(1,filteredg))],&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table style="margin-left: 0px; margin-right: 0px;"&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt; &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;style=line);&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;a href="http://www.maplesoft.com/support/faqs/MapleNet/redirect.aspx?param=plot_java_14206"&gt;&lt;img style="border: none;" src="/view.aspx?sf=97091/310059/c199014c70805a73a93b8bb2258eb985.gif" alt="" width="400" height="400" align="middle"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="color: #000000; font-family: Times, serif; font-weight: bold; font-style: normal;" align="right"&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;a href="http://www.maplesoft.com/support/faqs/MapleNet/redirect.aspx?param=plot_java_14206"&gt;&lt;img style="border: none;" src="/view.aspx?sf=97091/310059/d5328e7023afc18aec9027471bc32501.gif" alt="" width="400" height="400" align="middle"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="color: #000000; font-family: Times, serif; font-weight: bold; font-style: normal;" align="right"&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table style="margin-left: 0px; margin-right: 0px;"&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt; &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt;filtered := freqpass(M,1..90):&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table style="margin-left: 0px; margin-right: 0px;"&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt; &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt;filteredg := freqpass(Mg,1..90):&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table style="margin-left: 0px; margin-right: 0px;"&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt; &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt;plots:-pointplot([seq([k,filtered[k]],k=1..op(1,filtered))],style=line);&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table style="margin-left: 0px; margin-right: 0px;"&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt; &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt;plots:-pointplot([seq([k,exp(1/2*(a+k*(b-a)/n)^2)*filteredg[k]],k=1..op(1,filteredg))],&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table style="margin-left: 0px; margin-right: 0px;"&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt; &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;style=line);&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table style="margin-left: 0px; margin-right: 0px;"&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt; &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;span style="color: #ff0000; font-size: 100%; font-family: monospace,monospace; font-weight: bold; font-style: normal;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;a href="http://www.maplesoft.com/support/faqs/MapleNet/redirect.aspx?param=plot_java_14206"&gt;&lt;img style="border: none;" src="/view.aspx?sf=97091/310059/6cc9036d26d50200ff018db4caa207d1.gif" alt="" width="400" height="400" align="middle"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="color: #000000; font-family: Times, serif; font-weight: bold; font-style: normal;" align="right"&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr valign="baseline"&gt;
&lt;td&gt;
&lt;p style="margin: 0 0 0 0; padding-top: 0px; padding-bottom: 0px;"&gt;&lt;a href="http://www.maplesoft.com/support/faqs/MapleNet/redirect.aspx?param=plot_java_14206"&gt;&lt;img style="border: none;" src="/view.aspx?sf=97091/310059/cb6972dc6143b31d303675b6f6f9d3ac.gif" alt="" width="400" height="400" align="middle"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="color: #000000; font-family: Times, serif; font-weight: bold; font-style: normal;" align="right"&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;a href="/view.aspx?sf=97091/310059/fftfun03.mw"&gt;Download fftfun03.mw&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;[I made a revision to this comment. It had an earlier, inferior code variant.]&lt;/p&gt;</description>
      <guid>97091</guid>
      <pubDate>Tue, 21 Sep 2010 18:29:30 Z</pubDate>
      <itunes:author>pagan</itunes:author>
      <author>pagan</author>
    </item>
    <item>
      <title>Can a windowing worsen spectral leakage</title>
      <link>http://www.mapleprimes.com/questions/97048-Can-I-Filter-A-Signal-With-Maple-14?ref=Feed:MaplePrimes:Can I filter a signal with Maple 14:Comments#comment97125</link>
      <itunes:summary>&lt;p&gt;Thank you, I have read and found the link helpful.&lt;br&gt;&lt;br&gt;I have plotted the data multiplied by the window function you provided and it progresses from zero and back to zero as expected.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;However, when I pass the data multiplied by the window function through the filter the results at the start and end data show much greater deviation from the signal than occurs without using the window function.&amp;nbsp;&amp;nbsp; Is this possible or have I made an error in implementing your code?&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;On the other hand when I choose my window start and end so that the signal has a similar magnitude at the start and end, the filtered signal follows the unfiltered signal much more closely as the article suggest.&lt;/p&gt;</itunes:summary>
      <description>&lt;p&gt;Thank you, I have read and found the link helpful.&lt;br&gt;&lt;br&gt;I have plotted the data multiplied by the window function you provided and it progresses from zero and back to zero as expected.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;However, when I pass the data multiplied by the window function through the filter the results at the start and end data show much greater deviation from the signal than occurs without using the window function.&amp;nbsp;&amp;nbsp; Is this possible or have I made an error in implementing your code?&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;On the other hand when I choose my window start and end so that the signal has a similar magnitude at the start and end, the filtered signal follows the unfiltered signal much more closely as the article suggest.&lt;/p&gt;</description>
      <guid>97125</guid>
      <pubDate>Wed, 22 Sep 2010 13:43:17 Z</pubDate>
      <itunes:author>brian abraham</itunes:author>
      <author>brian abraham</author>
    </item>
    <item>
      <title>various</title>
      <link>http://www.mapleprimes.com/questions/97048-Can-I-Filter-A-Signal-With-Maple-14?ref=Feed:MaplePrimes:Can I filter a signal with Maple 14:Comments#comment97128</link>
      <itunes:summary>&lt;p&gt;There are various kinds of window function, and yes they can have a variety of effects. (Pls see a few comments above on your posible need to choose.)&lt;/p&gt;</itunes:summary>
      <description>&lt;p&gt;There are various kinds of window function, and yes they can have a variety of effects. (Pls see a few comments above on your posible need to choose.)&lt;/p&gt;</description>
      <guid>97128</guid>
      <pubDate>Wed, 22 Sep 2010 15:57:59 Z</pubDate>
      <itunes:author>pagan</itunes:author>
      <author>pagan</author>
    </item>
  </channel>
</rss>