Azzera filtri
Azzera filtri

Designing a lowpass filter with lesser filter coefficients with the required parameters

1 visualizzazione (ultimi 30 giorni)
Hi,
I am currently using a lowpass fitler as below
d = fdesign.lowpass('Fp,Fst,Ap,Ast',3,8,1,20,500);
Hd1 = design(d);
length=length(Hd1.Numerator);
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.

Risposte (1)

AJ von Alt
AJ von Alt il 21 Gen 2014
Modificato: AJ von Alt il 21 Gen 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');
  1 Commento
nam bui
nam bui il 12 Feb 2021
Hello sir,
I tried to implement the piece of code you provided above but it said I need a DSP system toolbox license but I still have the signal processing toolbox under my matlab license. I'm wondering is there like an alternative way to do it?
Thank you

Accedi per commentare.

Prodotti

Community Treasure Hunt

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

Start Hunting!

Translated by