HOW TO DESIGN AN IIR Low PASS FILTER WITH MATLAB

37 views (last 30 days)
I have asked this type of questions many times but can you give me the matlab code for designing a lowpass IIR filter.
thankyou in advance

Answers (2)

Wayne King
Wayne King on 10 May 2012
Hi Raj, you can either use basic functions like butter(), cheby1()
For example:
Lowpass filter for data sampled at 10 kHz, passband below 1 kHz
Wc = (2*1e3)/1e4;
[B,A] = butter(10,Wc);
% view magnitude response
fvtool(B,A,'Fs',1e4)
Or something like:
[B,A] = cheby1(10,0.5,Wc);
% view magnitude response
fvtool(B,A,'Fs',1e4)
Or you can use the fdesign workflow. Using fdesign.lowpass
Fs = 1e4;
d = fdesign.lowpass('N,F3dB',10,1000,Fs);
Hd = design(d,'butter');
fvtool(Hd)
There are a number of specification strings for fdesign.lowpass that support IIR designs. After you specify a filter, you can use
designmethods(d)
to see which design methods are supported.
  2 Comments
raj
raj on 10 May 2012
Thanks for your help an other question which is a continuation of the above question I want to design an IIR filter with only poles that is an ar process ?? How can I do it with MATLAB
Fathima Bareeda
Fathima Bareeda on 14 Dec 2021
how to pass this filter through a matlab in built sound signal splat

Sign in to comment.


Wayne King
Wayne King on 10 May 2012
You can easily design an FIR filter, or use the impulse response from the filters above, and then use linear prediction on those coefficients (or impulse response). The problem you are going to have is choosing the order. It won't take a very large AR order at all before you start getting a peaky response, which isn't going to match your filter's frequency response very well at all.
Wc = (2*1e3)/1e4;
[B,A] = butter(10,Wc);
h = impz(B,A);
A1 = lpc(h,2);
fvtool(1,A1,'Fs',1e4);
Or starting with an FIR filter
d = fdesign.lowpass('Fp,Fst,Ap,Ast',1e3,1.1e3,0.5,40,Fs);
Hd = design(d);
Afilt = lpc(Hd.Numerator,1);
fvtool(1,Afilt,'Fs',1e4)
  2 Comments
raj
raj on 10 May 2012
If suppose I have an ar(p) process white noise and then add some signal components and then when I estimate the coefficients of the signal(signal + ar(p)process white noise) by getting the order using akaike criteria and rissanen criteria what can i expect I usually cannot estimate the white noise even after reversing the transfer generated by the coefficients by ar process
raj
raj on 11 May 2012
If I want to perform least square estimation in frequency domain how should I PROCEED

Sign in to comment.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!