フィルターのクリア

How to design digital equivalent for a lowpass Bessel filter (Thiran filter)?

48 ビュー (過去 30 日間)
Amy Lg
Amy Lg 2022 年 4 月 6 日
コメント済み: Star Strider 2022 年 4 月 12 日
In the process of applying a lowpass Bessel filter to my signal, I realized that besself function does not support the design of digital Bessel filters and the bilinear function can be used to convert an analog filter into a digital form, except for Bessel filters. The digital equivalent for Bessel filters is the Thiran filter. The only thing I know for my filter is that it should have less than 5GHz bandwidth ( let's say 3GHz bandwidth). I do appreciate if someone could help me write the code in Matlab. The code which I have so far is:
%lowpass filter
sig = MY SIGNAL;
sig_length = 5000001; % my signal length
fs = 10000e9 % sampling rate
fc = 3e9; % cutt off frequency
order = 4;
wo = 2*pi*fc;
[z,p,k] = besself(order, wo,'low'); % zero, pole and gain form
% Convert to digital fileter
[zd,pd,kd] = bilinear(z,p,k,fs); % z-domain zero/pole/gain
[sos,g] = zp2sos(zd,pd,kd); % convert to second order section
filteredSignal = filtfilt(sos, g, sig);
  10 件のコメント
Amy Lg
Amy Lg 2022 年 4 月 12 日
Thanks for your help!
Star Strider
Star Strider 2022 年 4 月 12 日
My pleasure!

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

回答 (0 件)

カテゴリ

Help Center および File ExchangeFrequency Transformations についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by