Bessel filter transfer function

7 ビュー (過去 30 日間)
Thomas Becker
Thomas Becker 2019 年 1 月 29 日
回答済み: Star Strider 2020 年 5 月 4 日
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 件のコメント
RAN
RAN 2020 年 4 月 30 日
Hi,
Did you find the solution? I am facing the same problem like yours.
Thomas Becker
Thomas Becker 2020 年 5 月 4 日
Hi Rahul,
I'm sorry, that I don't have a solution so far. We skipped the attempt to use the Bessel filter and switched to an easy moving average filter due different reasons...
Best regards
Thomas

サインインしてコメントする。

採用された回答

Star Strider
Star Strider 2020 年 5 月 4 日
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 件)

カテゴリ

Help Center および File ExchangeAnalog Filters についてさらに検索

製品


リリース

R2015b

Community Treasure Hunt

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

Start Hunting!

Translated by