View License

Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.

» Watch video

Highlights from
Filter Bank Design

5.0 | 5 ratings Rate this file 31 Downloads (last 30 days) File Size: 7.95 KB File ID: #40128 Version: 1.2
image thumbnail

Filter Bank Design


Iman (view profile)


01 Feb 2013 (Updated )

This function can be used to design uniform and non-uniform filter banks.

| Watch this File

File Information

The goal is to design M analysis and synthesis FIR filters so that the analysis filters satisfy some frequency specifications and the filter bank(almost) meets the perfect reconstruction (PR) conditions. Both goals are achieved by minimizing the following performance index:
J=w1*(PR error)+w2*(Frequency Specification error)
where w1 and w2 are optional weights

The algorithm can be used to design both uniform (critically/over sampled) and non-uniform (with compatible as well as incompatible sampling set) filter banks. The method is based on the following report:
Moazzen, I. , Agathoklis, P., "A General Approach for Filter Bank Design Using Optimization", Technical Report, 2014.
This report can be downloaded from:

In order to learn how you can use this toolbox, please copy all the m-files included in the "Filter Bank Design" folder into your current Matlab directory and type "help Filter_Bank_Design".

To find other Matlab functions about filter design, please visit:


This file inspired Filter Bank Design Gui.

Required Products Filter Design Toolbox
Optimization Toolbox
Signal Processing Toolbox
MATLAB release MATLAB 7.11 (R2010b)
MATLAB Search Path
Tags for This File   Please login to tag files.
Please login to add a comment or rating.
Comments and Ratings (6)
01 Sep 2016 Iman

Iman (view profile)

Thanks a lot Abdullah for reporting this issue. Based on your suggestion, I just updated the function to solve this compatibility problem. Thanks again. You are awesome!

Comment only
01 Sep 2016 Abdullah Alshammary

Great work Iman
However it needs an update to work on 2016a and further. You can't declare global after assignment anymore. In "Filter_Bank_Design"
add the following after line 102
N = N_temp;
cost_function_weight = cost_function_weight_temp;
and dont forget to change the function line inputs N and cost_function_weight to N_temp and cost_function_weight_temp.

05 Jul 2016 Fang Du

17 May 2016 Mikhail Yurkov

05 May 2016 tian

tian (view profile)

The code is helpful for me to learn the design of filter bank.And the paper,mentioned in the code, comprehensively discusses the designing of filter bank!Thanks!

15 Mar 2016 Seyed Amin Hejazi

17 Feb 2015 1.1

Description Update

09 Nov 2015 1.1

Update Comments

09 Nov 2015 1.1


01 Sep 2016 1.2

solving compatibility issue with MATLAB 2016a. Special Thanks to Abdullah Alshammary.

Contact us