Designing a lowpass filter with lesser filter coefficients with the required parameters
1 view (last 30 days)
I am currently using a lowpass fitler as below
d = fdesign.lowpass('Fp,Fst,Ap,Ast',3,8,1,20,500);
Hd1 = design(d);
data1 = filtfilt(Hd1.Numerator,1,data1);
The response of the filter when the input of square pulse is shown below
But the filter coefficients are of a length of 104 but I want to use lesser filter coefficients(say <20 or some other lesser coefficients) such that the filter perforamnce should be good enough. can someone explain if there is a way of doing it. Thanks.
AJ von Alt on 21 Jan 2014
Edited: AJ von Alt on 21 Jan 2014
This example article gives a great run down of designing low pass filters using MATLAB.
If you do not specify the order of a filter, the design tool will try to minimize the order while satisfying the specified constraints. If you have a specific filter order in mind, I recommend consulting the fdesign.lowpass documentation and selecting a specification that includes N, the filter order.
Here is a simple design adapted from the example article to help you get started.
Fc = 0.4;
N = 20; % FIR filter order
Hf = fdesign.lowpass('N,Fc',N,Fc);
Hd1 = design(Hf,'window','window',@hamming,'SystemObject',true);
hfvt = fvtool(Hd1,'Color','White');