group ===== group delay for digital filter Calling Sequence ~~~~~~~~~~~~~~~~ :: [tg,fr]=group(npts,a1i,a2i,b1i,b2i) Arguments ~~~~~~~~~ :npts integer : number of points desired in calculation of group delay : :a1i in coefficient, polynomial, rational polynomial, or cascade polynomial form this variable is the transfer function of the filter. In coefficient polynomial form this is a vector of coefficients (see below). : :a2i in coeff poly form this is a vector of coeffs : :b1i in coeff poly form this is a vector of coeffs : :b2i in coeff poly form this is a vector of coeffs : :tg values of group delay evaluated on the grid fr : :fr grid of frequency values where group delay is evaluated : Description ~~~~~~~~~~~ Calculate the group delay of a digital filter with transfer function h(z). The filter specification can be in coefficient form, polynomial form, rational polynomial form, cascade polynomial form, or in coefficient polynomial form. In the coefficient polynomial form the transfer function is formulated by the following expression `h(z)=prod(a1i+a2i*z+z**2)/prod(b1i+b2i*z+z^2)` Examples ~~~~~~~~ :: z=`poly`_(0,'z'); h=z/(z-.5); [tg,fr]=group(100,h); `plot`_(fr,tg)