# Read me
#### Prototype filter generation procedure
If a user wants to create a FB with a lower values of _M_ (up to 8), run Main_smaller_M.m, otherwise, for a FB with higher values of _M_ (up to 512), run first Main_lower_M.m and then Main_higher_M.m. Main_lower_M.m creates a prototype filter for a bank with a smaller number of channels, which is used as a starting filter for a bank with a larger number of channels.
When running Main_lower_M.m, the user chooses whether to generate a bank only for a smaller number of channels or not. Based on this selection, a prompt appears for entering the desired bank parameters in the appropriate format, as specified in the manuscript.
The created prototype filter (its impulse response) is saved in the Filter_lower_M.mat, i.e. Filter_higher_M.mat file.
> The authors note that they also generated a bank with 16 channels using Main_lower_M.m, but the execution time was significantly longer than for banks with up to 8 channels.

#### Input parammeters
Here we list the input parameters of the program used to generate the results presented in the manuscript. Each result corresponds to a separate combination of the number of channels _M_ and the order of the prototype filter _N_, and we specify the parameters for each _M_ and _N_ pair according to the manuscript.

##### The cases in which only Main_lower_M.m was executed for a FB with a smaller _M_:
- _M_=4, _N_=62: delta1=10^(-3), delta2=0.5*10^(-7), as=60 (or delta3=10^(-60/20))
- _M_=8, _N_=88: delta1=1·10^-4, delta2=1*10^(-6), as=60 (or delta3=10^(-60/20))
- _M_=16, _N_=166: delta1=9.99·10^(-4), delta2=2*10^(-6), as=50 (or delta3=10^(-50/20))
- _M_=8, _N_=144: delta1=9.76·10^(-4), delta2=7.2*10^(-7), as=85 (or delta3=10^(-85/20))
- _M_=8, _N_=160: delta1=3·10^(-4), delta2=2*10^(-6), as=70 (or delta3=10^(-70/20))
##### The cases in which both Main_lower_M.m and Main_higher_M.m. were executed for a FB with a larger _M_:
- _M_=128, _N_=1535: in Main_lower_M.m M=4, N=47, delta=1.92·10^-3, ratio=10;
                     in Main_higher_M.m m=4, M=128, Ns=11, delta=1.92·10^-3
- _M_=256, _N_=3071: in Main_lower_M.m M=4, N=47, delta=1.92·10^-3, ratio=10;
                     in Main_higher_M.m m=4, M=256, Ns=11, delta=1.92·10^-3
- _M_=512, _N_=6143: in Main_lower_M.m M=4, N=47, delta=1.924·10^-3, ratio=10;
                     in Main_higher_M.m m=4, M=512, Ns=11, delta=1.924·10^-3
 > The authors point out that the results may depend on the computer hardware and the version of MATLAB, and that if convergence problems occur, some of the input parameters (delta or as) may be slightly reduced or increased.
#### Supplementary material
Examples of prototype filters from the manuscript generated by the given code are available in .mat format, where the filter coefficients are stored.
