<html>
  <head>
    <meta content="text/html; charset=windows-1252"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <div class="moz-cite-prefix">Your problem arises because one
      frequency value you ask for  corresponds exactly to a zero of
      hz.num<br>
      log(roots(hz.num))/(2*%pi)<br>
      so you want to compute the gain in dB of a zero value which is
      -inf<br>
      <br>
      To avoid such problem you can let repfreq to do the frequency
      discretization.<br>
      <pre class="scilabcode"><span class="scilabopenclose"><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 moz-do-not-send="true" class="scilabmacro" href="repfreq.html">repfreq</a><span class="scilabopenclose">(</span><span class="scilabid">hz</span><span class="scilabdefault">)</span>
or equivalently
[</span><span class="scilabid">frq</span><span class="scilabdefault">,</span><span class="scilabid">repf</span><span class="scilabopenclose">]</span><span class="scilaboperator">=</span><a moz-do-not-send="true" class="scilabmacro" href="repfreq.html">repfreq</a><span class="scilabopenclose">(</span><span class="scilabid">hz</span><span class="scilabdefault">,0,0.5)</span></pre>
      in  this case the discretization uses  varying  frequency step<br>
      Serge<br>
      <br>
      Le 23/02/2016 14:41, grivet a écrit :<br>
    </div>
    <blockquote cite="mid:56CC617F.3000508@cnrs-orleans.fr" type="cite">
      <meta content="text/html; charset=windows-1252"
        http-equiv="Content-Type">
      <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 border="0" width="100%">
            <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 moz-do-not-send="true" 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 moz-do-not-send="true" 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 moz-do-not-send="true" 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 moz-do-not-send="true" 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 moz-do-not-send="true" 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 moz-do-not-send="true" 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 moz-do-not-send="true" 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 moz-do-not-send="true" 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 moz-do-not-send="true" 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>
      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>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
users mailing list
<a class="moz-txt-link-abbreviated" href="mailto:users@lists.scilab.org">users@lists.scilab.org</a>
<a class="moz-txt-link-freetext" href="http://lists.scilab.org/mailman/listinfo/users">http://lists.scilab.org/mailman/listinfo/users</a>
</pre>
    </blockquote>
    <br>
  </body>
</html>