4.0 | 1 rating Rate this file 26 Downloads (last 30 days) File Size: 15.1 KB File ID: #35051 Version: 1.2
image thumbnail

2-dimensional Filter Design using McClellan transformation


Iman (view profile)


12 Feb 2012 (Updated )

This function can be used to design 2D lowpass, highpass, bandpass, bandstop filters.

| Watch this File

File Information


This function can be used to design a lowpass, highpass, bandpass, or bandstop
two-dimensional filter which satisfies prescribed specifications.

_ Type can be "Lowpass", "Highpass", "Bandpass", or "Bandstop"
_ edges is a vector of normalized frequencies (rad/s) including passband and stopband edges.
(frequencies must be in an increasing order)
_ Ap: peak to peak passband ripple (db)
_ Aa: minimum stopband attenuation (db)
_ transformation_vector: this is a vector with 4 elements which maps 1D
space to 2D space [1]. These coefficients can be found based on the method
presented in [2]. Some examples are as follows:

2D Filter with circularly symmetric spectrum=[-0.5 0.5 0.5 0.5];
2D Filter with elliptic spectrum=[-2.4973 2.9006 0.3127 0.2840];
2D Filter with fan shape spectrum=[0 0.5 -0.5 0];

The algorithm first designs 1D filter based on kaiser method and
Then by using the transformation vector and Chebyshev Polynomials
2D filter will be designed.

The amplitude response of 2D and 1D filters as well as contours of the
transformation function will be shown at the output.

[Filter_1D,Filter_2D] are 1D and 2D filters’ coefficients, respectively.

[Filter_1D,Filter_2D]=Filter_Design_2D_McClellan('lowpass',[0.1*pi,0.2*pi],0.5,30,[-0.5 0.5 0.5 0.5]);
Which designs a lowpass 2D FIR filter with circularly symmetric spectrum using Kaiser Method. Passband edge is 0.1*pi, and stopband edge is 0.2*pi,
Ap=0.5 (db) and Aa=30 (db).

[1] D.E. Dudgeon, R.M. Mersereau, "Multidimensional digital signal processing", Prentice-Hall.

[2] R.M. Mersereau, W.F.G.Mecklenbrauker, T.F. Quatieri, "McClellan transformations
for two-dimensional digital filtering: I-Design", IEEE transactions on circuit and systems, 1976.

To find other Matlab functions about filter design, please visit


Chebyshev Poly.M and Dig Filter inspired this file.

Required Products Signal Processing Toolbox
MATLAB release MATLAB 7.2 (R2006a)
Tags for This File   Please login to tag files.
Please login to add a comment or rating.
Comments and Ratings (1)
18 Apr 2013 Pei Yu

Pei Yu (view profile)

Thank you for your sharing. I tried and found this code is just for designing FIR. Would you tell me what I should do to get an IIR type? Hope to hear your reply. Thanks.

11 Oct 2012 1.2

some changes in comments

Contact us