1. Design of prototype filters for modulated filter banks and filter bank multicarrier systems with splines (hwinspl_m). 

This Matlab© program is an improved version of the technique proposed in

  1. 1.F. Cruz Roldán, P. Martín, J. Sáez, M. Blanco-Velasco, T. Saramäki, “A fast windowing-based technique exploiting spline functions for designing modulated filter banks”, IEEE Transactions on Circuits and Systems-I: Regular papers, vol 56, no. 1, pp. 168-178, January 2009.

  2. 2.F. Cruz Roldán, P. Martín, M. Blanco-Velasco, Tapio Saramäki, “A fast windowing technique for designing discrete wavelet multitone transceivers exploiting spline functions”, in Proc. of XIV European Signal Processing Conference (EUSIPCO-2006), Florence (Italy), September 2006.

It runs in Matlab in the following way:
            [filter, fval]=hwinspl_m(M,N,window(L),'fobj',spline_order);
         
Example: [filter, fval]=hwinspl_m(8,63,blackman(64),'cam',1);

The parameter spline_order must be an integer number.
 

  1. Design of prototype filters for modulated filter banks and filter bank multicarrier systems (h3db_m).

The above Matlab© program is based on the technique proposed in

  1. 3.Fernando Cruz-Roldán et al, “An efficient and simple method for designing prototype filters for cosine modulated pseudo-QMF banks”, IEEE Signal Processing Letters, Vol. 9, No. 1, pp. 29-31, January 2002.

This program runs in Matlab in the following way:

            filter=h3db_m(M,N,window(L));

         Example: filter=h3db_m(8,63,blackman(64));

except for the Kaiser and Saramaki windows:

    filter=h3db_m(M,order,kaiser(length,beta));

        Example 1: filter=h3db_m(8,63,kaiser(64,9));

        Example 2: filter=h3db_m(M,order,saramaki(length,alpha));

where M is the number of channels, N is the prototype filter order, L=N+1, and window can be blackman, hamming, hanning, ....


  1. Design of prototype filters for modulated filter banks and filter bank multicarrier systems (hwin_m).

The above Matlab© program is an improved version of that based on the technique proposed in

  1. 4.Fernando Cruz-Roldán et al, “An efficient and simple method for designing prototype filters for cosine modulated pseudo-QMF banks”, IEEE Signal Processing Letters, Vol. 9, No. 1, pp. 29-31, January 2002.

This program runs in Matlab in the following way:
        [filter, fval]=hwin_m(M,N,window(L),'fobj');
       
Example: [filter, fval]=hwin_m(8,63,blackman(64),'cam');

except for the Kaiser and Saramäki windows:
        [filter, fval]=hwin_m(M,order,kaiser(length,beta),'fobj');
       
Example: [filter, fval]=hwin_m(8,63,kaiser(64,9),'kwa');
       
[filter, fval]=hwin_m(M,order,saramaki(length,alpha),'fobj');


where M is the number of channels, N is the prototype filter order, length is L=N+1, and window can be blackman, hamming, hanning, etc. The output parameter fval gives the minimum obtained for the considered objective function.

A new parameter has been included: 'fobj', in order to optimize the prototype filter considering three different objective functions:

'3dB': Proposed in:

  1. 5.Fernando Cruz-Roldán et al, “An efficient and simple method for designing prototype filters for cosine modulated pseudo-QMF banks”, IEEE Signal Processing Letters, Vol. 9, No. 1, pp. 29-31, January 2002.

'cam': Proposed in:

  1. 6.C. D. Creusere and S. K. Mitra, “A simple method for designing high-quality prototype filters for M-band pseudo QMF banks”, IEEE Transactions on Signal Processing, Vol. 43, No. 4, pp. 1005-1007, April 1995.

'kwa': Proposed in:

  1. 7.Y.-P. Lin and P. P. Vaidyanathan, “A Kaiser window approach for the design of prototype filters of cosine modulated filterbanks”, IEEE Signal Processing Letters, Vol. 5, No. 6, pp. 132-134, June 1998.