__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