This distribution includes two Matlab M-files:

       * lowpass_filter_design.m
       * getGH.m
       
for the design of "rational" (or fractional rate) filters involved in iterated rational filer banks [1,2].

The lowpass filter is obtained using the procedure lowpass_filter_design.m (read the indications by typing "help lowpass_filter_design" at the Matlab prompt). The high-pass filter is then obtained by using the procedure getGH.m (read the indications by typing "help getGH" at the Matlab prompt).

For instance, if you want a p/q=3/2 filterbank then you have first to choose the degree of the lowpass filter (a multiple of p minus 1), say n=11;
then you have to choose the beginning of the stopband (which is 1/(2*p)+something positive), say nus=1/6*1.1;
and then, you have to choose the number of regularity factors, either 0 or 1.
 
In this example, you can type

		G = lowpass_filter_design(11,3,2,1/6*1.1,0);

which should give

G  =    -0.0780165232373587
         4.77316136865674e-14
         0.135526062076066
         0.116007343020149
        -0.116444643915953
        -0.201521648479246
        -0.240530632861543
         0.173148368948966
         0.53621859008352
         0.829439935601997
         0.785239703407477
         0.477472886265262

and you get the highpass filter by typing

		H = getGH(G,3,2);

which should give (up to a sign, possibly)

H   =    0.374930667508854
        -0.651309169012563
         0.559607968409637
        -0.306687333975815
       -0.0361572204375727
         0.163394666996827
                         0
                         0

As usual with Matlab, the highest degree coefficient is the one with lowest index (i.e., G(1) and H(1)).


REFERENCES

[1] Blu, T.,"Iterated Filter Banks with Rational Rate Changes Connection with Discrete Wavelet Transforms", IEEE Transactions on Signal Processing, Vol. 41 (12), pp. 3232-3244, December 1993.

[2] Blu, T.,"A New Design Algorithm for Two-Band Orthonormal Rational Filter Banks and Orthonormal Rational Wavelets", IEEE Transactions on Signal Processing, Vol. 46 (6), pp. 1494-1504, June 1998.