# Maple program for the parameterization of a # length N scaling filter in terms of angles. with(linalg): # load linear algebra package N := 8; # filter length K := (N-2)/2; # number of angles (N = 2K+2) R := t -> matrix(2,2, [cos(t), sin(t), -sin(t), cos(t)]); Lambda := matrix(2,2,[1, 0, 0, 1/z]); Hp := R(t0): # construct polyphase matrix i := 'i': for i from 1 to K do Hp := evalm(R(t.i) &* Lambda &* Hp): od: H00 := expand(Hp[1,1]): # extract H00 and H01 H01 := expand(Hp[1,2]): # expand polynomials # display coefficients as functions of angles lprint(t.K = Pi/4 - sum('t.i','i'=0..(K-1))); i := 'i': n := 1: for i from 0 to K do lprint(h[n] = coeff(H00,z,-i)); n := n + 1: lprint(h[n] = coeff(H01,z,-i)); n := n + 1: od: