__IIR Filters_Russia

...TViT.......ICQ:285247380....... tvitklg at rambler.ru
Wed Dec 15 18:24:55 CET 2010


 Hi dear!
 Tell me please where it is possible the detailed help to receive or 
where to read about digital filters? It is necessary as it is possible 
more precisely and more in detail what functions to use, what type of 
the filter is used in Scilab. How to print out on the screen coef. 
consecutive sections (stages) one for another. To not spend it is a lot 
of time for learning of functions, there is at you a pattern or such 
example where to substitute the values for result, time are very poorly 
necessary coef. of different types of realization of digital filters...

 In Help Scilab 5.2.2 only it:
 -------------------------------------------------------------------------
hz=iir(3,'bp','ellip',[.15 .25],[.08 .03]);
[hzm,fr]=frmag(hz,256);
plot2d(fr',hzm')
xtitle('Discrete IIR filter band pass 0.15<fr<0.25 ',' ',' ');
q=poly(0,'q'); //to express the result in terms of the delay operator 
q=z^-1
hzd=horner(hz,1/q)
-------------------------------------------------------------------------

2. Why there are mistakes of a conclusion of factors at 'bp' order = 2
When order = 4 or all is higher Coef. are printed on the screen, but 
only array not a 2 orders sections

I make so:
-----------------------------------------------------------------------------------------------------------
 clear
ftype ='bp'
fdesign ='cheb1' //'butt', 'cheb1', 'cheb2' and 'ellip'
fc1 = 800; // cutoff frequency
fc2 = 900;
fs = 11025; // Sampling frequency
fc1n = fc1/fs; // cutoff frequency normalized
fc2n = fc2/fs;
order = 2;
NUM_SIZE = order+3; //-BP!-order4...+5 order6...+7 order8...+9
DEN_SIZE = order+3; //-HP!-order4...+1

hz = iir (order, ftype, fdesign, [fc1n fc2n], [.01 .01]);
num=coeff(hz("num"));
den=coeff(hz("den"));
[hzm,fr]=frmag(hz,1024);

plot2d(fr',hzm')
//plot2d(f, abs(hf))
printf(" ======= IIR Coef --- ftype: %s, fdesign: %s, order: %i 
=======\n",ftype,fdesign,order);
printf(" --- num: \n");
for i=1:NUM_SIZE,
 printf("%.20f\n", num(NUM_SIZE-i+1));
end
printf(" --- den: \n");
for i=1:DEN_SIZE,
 printf("%.20f\n", den(NUM_SIZE-i+1));
end
printf(" ============== END Coefficients ==============\n");

----------------------------------------------------------------------------------------------------------------------------------------------------

--
...TViT.......ICQ:285247380....... tvitklg at rambler.ru
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.scilab.org/pipermail/users/attachments/20101215/fc3f10e3/attachment.htm>


More information about the users mailing list