<html>
  <head>
    <meta content="text/html; charset=windows-1252"
      http-equiv="Content-Type">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <div class="moz-cite-prefix">Le 23/02/2016 14:21, Serge Steer a
      écrit :<br>
    </div>
    <blockquote cite="mid:56CC5CC1.1050607@inria.fr" type="cite">
      <meta content="text/html; charset=windows-1252"
        http-equiv="Content-Type">
      <div class="moz-cite-prefix">Please can you give more details :<br>
        value of Order and Fcutoff/Fs/2<br>
        and what you are doing with hz (because iir does not call dbphi)<br>
        Serge<br>
      </div>
    </blockquote>
    I am just running the example found in "how to design an elliptic
    filter". Here is the code:<br>
    <br>
    <div class="refsection">
      <div class="programlisting">
        <table width="100%" border="0">
          <tbody>
            <tr>
              <td width="98%">
                <pre class="scilabcode"><span class="scilabid">Order</span>   <span class="scilaboperator">=</span> <span class="scilabnumber">2</span><span class="scilabdefault">;</span> <span class="scilabcomment">// The order of the filter</span>
<span class="scilabid">Fs</span>      <span class="scilaboperator">=</span> <span class="scilabnumber">1000</span><span class="scilabdefault">;</span> <span class="scilabcomment">// The sampling frequency</span>
<span class="scilabid">Fcutoff</span> <span class="scilaboperator">=</span> <span class="scilabnumber">40</span><span class="scilabdefault">;</span>   <span class="scilabcomment">// The cutoff frequency</span>

<span class="scilabcomment">// We design a low pass elliptic filter</span>
<span class="scilabid">hz</span> <span class="scilaboperator">=</span> <a class="scilabmacro" href="iir.html">iir</a><span class="scilabopenclose">(</span><span class="scilabid">Order</span><span class="scilabdefault">,</span><span class="scilabstring">'lp'</span><span class="scilabdefault">,</span><span class="scilabstring">'ellip'</span><span class="scilabdefault">,</span><span class="scilabopenclose">[</span><span class="scilabid">Fcutoff</span><span class="scilaboperator">/</span><span class="scilabid">Fs</span><span class="scilaboperator">/</span><span class="scilabnumber">2</span> <span class="scilabnumber">0</span><span class="scilabopenclose">]</span><span class="scilabdefault">,</span><span class="scilabopenclose">[</span><span class="scilabnumber">0.1</span> <span class="scilabnumber">0.1</span><span class="scilabopenclose">])</span><span class="scilabdefault">;</span>

<span class="scilabcomment">// We compute the frequency response of the filter</span>
<span class="scilabopenclose">[</span><span class="scilabid">frq</span><span class="scilabdefault">,</span><span class="scilabid">repf</span><span class="scilabopenclose">]</span><span class="scilaboperator">=</span><a class="scilabmacro" href="repfreq.html">repfreq</a><span class="scilabopenclose">(</span><span class="scilabid">hz</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabspecial">:</span><span class="scilabnumber">0.001</span><span class="scilabspecial">:</span><span class="scilabnumber">0.5</span><span class="scilabopenclose">)</span><span class="scilabdefault">;</span>
<span class="scilabopenclose">[</span><span class="scilabid">db_repf</span><span class="scilabdefault">,</span> <span class="scilabid">phi_repf</span><span class="scilabopenclose">]</span> <span class="scilaboperator">=</span> <a class="scilabmacro" href="dbphi.html">dbphi</a><span class="scilabopenclose">(</span><span class="scilabid">repf</span><span class="scilabopenclose">)</span><span class="scilabdefault">;</span>

<span class="scilabcomment">// And plot the bode like representation of the digital filter</span>
<a class="scilabmacro" href="subplot.html">subplot</a><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilabdefault">;</span>
<a class="scilabcommand" href="plot2d.html">plot2d</a><span class="scilabopenclose">(</span><span class="scilabid">Fs</span><span class="scilaboperator">*</span><span class="scilabid">frq</span><span class="scilabdefault">,</span><span class="scilabid">db_repf</span><span class="scilabopenclose">)</span><span class="scilabdefault">;</span>
<a class="scilabcommand" href="xtitle.html">xtitle</a><span class="scilabopenclose">(</span><span class="scilabstring">'Obtained Frequency Response (Magnitude)'</span><span class="scilabopenclose">)</span><span class="scilabdefault">;</span>
<a class="scilabmacro" href="subplot.html">subplot</a><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilabdefault">;</span>
<a class="scilabcommand" href="plot2d.html">plot2d</a><span class="scilabopenclose">(</span><span class="scilabid">Fs</span><span class="scilaboperator">*</span><span class="scilabid">frq</span><span class="scilabdefault">,</span><span class="scilabid">phi_repf</span><span class="scilabopenclose">)</span><span class="scilabdefault">;</span>
<a class="scilabcommand" href="xtitle.html">xtitle</a><span class="scilabopenclose">(</span><span class="scilabstring">'Obtained Frequency Response (Phase in degree)'</span><span class="scilabopenclose">)</span><span class="scilabdefault">;</span></pre>
              </td>
            </tr>
          </tbody>
        </table>
      </div>
    </div>
    <br>
    with 'ellip' replaced by 'butt', and  <span class="scilabopenclose">[</span><span
      class="scilabid">Fcutoff</span><span class="scilaboperator">/</span><span
      class="scilabid">Fs</span><span class="scilaboperator">/</span><span
      class="scilabnumber">2</span> <span class="scilabnumber">0</span><span
      class="scilabopenclose">] replaced by</span><span
      class="scilabopenclose"> </span><span class="scilabid">Fcutoff</span><span
      class="scilaboperator">/</span><span class="scilabid">Fs</span><span
      class="scilaboperator">/</span><span class="scilabnumber">2</span>.<br>
    <pre class="scilabcode">
</pre>
    I am beginning to use digital filters to treat some data. As my
    first step, I try to run the examples in the help,how to design an
    elliptic filter (using Scilab 5.5.1, Win7-64). This works . However,
    when I select a Butterworth filter:  <br>
    <blockquote cite="mid:56CC5CC1.1050607@inria.fr" type="cite">
      <blockquote cite="mid:56CC40AA.6030506@cnrs-orleans.fr"
        type="cite">          hz =
        iir(Order,'lp','butt',Fcutoff/Fs/2,[0.1 0.1]);<br>
        I get this error message:<br>
        <br>
        Singularité de la fonction log ou tan.<br>
        at line       6 of function dbphi called by :  <br>
        [db_repf, phi_repf] = dbphi(repf);<br>
        <br>
        What did I miss ?<br>
        No bugs have been reported for function dbphi, but three similar
        bugs are listed for iir.<br>
        Any suggestion welcome.<br>
        JPGrivet<br>
      </blockquote>
    </blockquote>
    <br>
  </body>
</html>