How to design digital equivalent for a lowpass Bessel filter (Thiran filter)?
64 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
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 Kommentare
Antworten (0)
Siehe auch
Kategorien
Mehr zu Frequency Transformations finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!