How to view the filter coefficients from thebandpass fitler desinged
3 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Hello,
I designed a bandpass filter as below
d = fdesign.bandpass('N,F3dB1,F3dB2',40,500,1500,6000);
Hd = design(d,'butter');
fvtool(Hd)
But how to get(or see) these filter coefficients. Thanks.
0 Commenti
Risposta accettata
Wayne King
il 30 Gen 2014
The following will get you very close:
Hd = fdesign.bandpass('N,Fc1,Fc2',40,500,1500,6000);
B = design(Hd);
Compare
fvtool(B,1);
fvtool(BPF_coefficients,1)
0 Commenti
Più risposte (2)
Wayne King
il 30 Gen 2014
Hi Stefan, the filter design here uses second-order sections a matrix of quadratic polynomials in z^{-1}. Each row of Hd.sosMatrix is a polynomial of the form
b_0+b_1z^{-1}+b_2z^{-2}+1+a_1z^{-1}+a_2z^{-2}
This results in a robust IIR design. You can obtain the filter coefficients in the form of B and A vectors by using:
[B,A] = sos2tf(Hd.sosMatrix,Hd.ScaleValues);
However (big however), you should realize that second-order sections are used for a reason and you may find that the resulting B and A design is not as well-behaved as the original SOS design
fvtool(Hd); figure;
fvtool(B,A);
2 Commenti
thanh nguyen
il 24 Mar 2020
Hi, i have an issue with this filter desig too. When i designed a filter as below:
d = fdesign.bandpass('N,F3dB1,F3dB2',40,500,15000,60000);
Hd = design(d,'butter');
fvtool(Hd);
i received the resull as below:
So how can i get the coefficient as in the equatation:
y[n] = b0*x[n] + b1*x[n-1] +...+ bN*x[n-N] - a1*y[n-1] - ... - aM*y[n-M]
Vedere anche
Categorie
Scopri di più su Filter Design in Help Center e File Exchange
Prodotti
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!