[scilab-Users] Cascaded IIR filter design

Adelson Santos de Oliveira adelson.oliveira at gmail.com
Fri Jul 24 03:45:29 CEST 2009


Sorry,

I did not analyse your program. I supposed that hz is a polinomial 
according to SCILAB definition. See the following example and check
if you can adapt it to your needs,


Polz=poly([1,2,3],'Z','coefs')       <= this define a polynomial in 
variable Z, maybe your hz is not a polynomial for SCILAB

coefz=coeff(Polz)                        <= this will return the 
coefficients 1, 2, and 3


Markus Svilans escreveu:
> 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