Bessel filter transfer function
    5 vues (au cours des 30 derniers jours)
  
       Afficher commentaires plus anciens
    
    Thomas Becker
 le 29 Jan 2019
  
    
    
    
    
    Réponse apportée : Star Strider
      
      
 le 4 Mai 2020
            According to reverse Bessel polynomials from https://en.wikipedia.org/wiki/Bessel_filter#Bessel_polynomials the 4th order looks like this:
s^4+10s^3+45s^2+105s+105.
I create the transfer function of the filter like this: 
T = 1;
Bessel4 = tf(105,[1 10 45 105 105].*T.^[4 3 2 1 0])
Bessel4 =
                  105
  -----------------------------------
  s^4 + 10 s^3 + 45 s^2 + 105 s + 105
Continuous-time transfer function.
Is that correct so far? However, I don't understand the relation or difference to the MATLAB functions besself and besselap:
%% besselap
[z,p,k] = besselap(4);
[num,den] = zp2tf(z,p,k);
Bessel4_besselap = tf(num,den)
% Bessel4_besselap =
%  
%                       1
%   -----------------------------------------
%   s^4 + 3.124 s^3 + 4.392 s^2 + 3.201 s + 1
%  
% Continuous-time transfer function.
%% besself
[num,den] = besself(4,1/T);
Bessel4_besself = tf(num,den)
% Bessel4_besself =
%  
%                       1
%   -----------------------------------------
%   s^4 + 3.124 s^3 + 4.392 s^2 + 3.201 s + 1
%  
% Continuous-time transfer function.
Obviously, the resulting transfer functions are different. Should I use the results from besself/besselap or my own implementation from above?
2 commentaires
Réponse acceptée
  Star Strider
      
      
 le 4 Mai 2020
        The besselap function creates a Bessel lowpass filter prototype.  The besself function transforms the besselap design to create different filter types from it.  The advantage of Bessel filters is that they have linear (neutral) phase response, so are perfect for hardware anti-aliasing filters, however the continuous Bessel filter designs cannot be converted to discrete (digital) filters.  
The filtfilt function makes all digital filters phase-neutral, so create whatever digital (discrete) filter suits your needs, then use filtfilt to filter your signals with it.  
0 commentaires
Plus de réponses (0)
Voir également
Catégories
				En savoir plus sur Analog Filters dans Help Center et File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!


