Extreme gain for low pass filter
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
% Filter constants
Wp = 5e3*2*pi;
Ws = 9.5e3*2*pi;
Rp = 2;
Rs = 45;
% Butterworth lowest order
[n,Wn] = buttord(Wp,Ws,Rp,Rs,'s');
disp([10 'Butterworth order: ' num2str(n) ' @ ' num2str(Wn/(2*pi)) ' [Hz]']);
[z,p,k] = butter(n,Wn,'s');
disp(['Zeros: ' num2str(size(z,1)) 10 ...
'Poles: ' num2str(size(p,1)) 10 ...
'Gain: ' num2str(k)]);
> Butterworth order: 9 @ 5342.252 [Hz]
> Zeros: 0
> Poles: 9
> Gain: 54092634016296818598907515083157976121344
How is this gain possible? Is this a weird bug?
0 commentaires
Réponse acceptée
Teja Muppirala
le 21 Nov 2012
Modifié(e) : Teja Muppirala
le 21 Nov 2012
I don't think that is a weird bug. That large value looks correct to me.
The DC gain should = 1. In other words, if you plug in s = 0, you should get 1. Since there are no zeros, this implies that the product of the poles is the gain:
G(s) = K/[ (s-p(1)) * (s-p(2)) * (s-p(3)) * ... (s-p(9)) ]
G(0) = K/[ (-p(1)) * (-p(2)) * (-p(3)) * ... (-p(9)) ] = 1
--> Therefore K = prod(-p)
Actually plugging it in
prod(-p)
ans =
5.4093e+40
Which is precisely what K is.
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Analog Filters dans Help Center et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!