[scilab-Users] Cascaded IIR filter design

Markus Svilans msvilans at gmail.com
Thu Jul 23 22:57:21 CEST 2009


Adelson,

Thanks for your response.

It doesn't seem to work. The error message I get is:

--
Function not defined for given argument type(s),

  check arguments or define function %r_coeff for overloading.
--

I'm looking for a way to get the b0, b1, a1, b2, a2, ... coefficients 
required for a cascaded IIR. From what I understand, there is an 
algorithm by which they are computed from the z-domain coefficients hz.

Regards,
Markus.


Adelson Santos de Oliveira wrote:
> Do you mean,
>
> coef_hz=coeff(hz) ?
>
> coef_hz is a vector with the coefficients of hz.
>
> coefhz=coeff
> Markus Svilans escreveu:
>> Hello,
>>
>> I would like to use Scilab to design a cascaded IIR filter.
>>
>> I'm able to design a filter using iir(), as in the following example
>> code:
>>
>> ystr=[ 'type (lp, hp, bp, sb) ';
>>    'order (integer)';
>>    'design (butt, cheb1, cheb2 , ellip)' ;
>>    'cut-off frequencies (2-vector in [0, 0.5])';
>>    'error values  0 delta(1),delta(2) 1 '];
>> w = x_mdialog('Choose filter type and parameters',...
>>    ystr,['bp';'3';'ellip';'0.15 0.25';'0.08 0.035'])
>>
>> if w<>[] then
>>  hz=iir(evstr(w(2)),w(1),w(3),evstr(w(4)),evstr(w(5)));
>>  [hzm,fr]=frmag(hz,256);
>>  xselect();
>>  plot2d(fr',hzm')
>>  xtitle('Discrete IIR filter '+'( '+ w(3)+' ) ',' ',' ');
>>
>>  hz
>> end
>>
>> My question is, how can I convert the z domain expression in hz to a
>> set of coefficients suitable for use in a cascaded IIR filter
>> implementation? Any help would be greatly appreciated.
>>
>> Best regards,
>> Markus.
>>
>> (also posted in the comp.soft-sys.math.scilab group)
>>
>>
>




More information about the users mailing list